C语言程序设计基础教程 - 习题答案 下载本文

8.4.1 通过键盘输入10整数在一维数组中,并且把该数组中所有为偶数的数,放在另一个

数组中,用指针的方法进行编程。 #include void main() { int a[10],*p,*q; int b[10]; for (p=a;p

8.4.2 对在一维数组中存放的10整数进行如下的操作:从第3个元素开始直到最后一个元

素,依次向前移动一个位置,输出移动后的结果,用指针的方法进行编程。 #include void main() { int a[10],*p; for (p=a;p

8.4.3 在一个字符数组中存放“AbcDEfg”字符串,编写程序,把该字符串中的小写字母变为

大写字母,把该字符串中的大写字母变为小写字母,用指针的方法进行编程。 #include void main() { char a[10]=\

for (p=a;*p!='\\0';p++) { if(*p>='a'&& *p<='z') *p=*p-32; else if(*p>='A'&& *p<='Z') *p=*p+32; } printf(\ puts(a); printf(\ }

8.4.4 用字符指针变量,进行5个字符串的输入,字符串大小的比较,并且输出5个字符串

中最小的字符串。 #include #include void main() { char a[5][20],*p; int i; for (i=0;i<5;i++) { gets(a[i]); } for (i=1,p=a[0];i<5;i++) { if (strcmp(a[i],p)>0) p=a[i]; } printf(\ puts(p); printf(\ }

8.4.5 在主函数中随机输入20个数在一个数组中, 通过运算处理输出该数组中的最小值。其

中确定最小值的下标的操作在子函数实现,请给出该函数的主函数与子函数的完整程序。

#include

int fun(int a[],int n) { int i,maxi; for (i=1,maxi=0;ia[maxi]) maxi=i; return(maxi); }

void main() { int a[20],maxi; int i; for (i=0;i<20;i++) { scanf(\ } maxi=fun(a,20); printf(\ }

8.4.6 在主函数中有30个学生,三门课程,用二维数组存放该信息;用子函数对数组的信

息分别进行如下的操作:(1)输出每门课程的平均分(2)输出每门课程的最高分、最低分(3)统计每门课程不及格人数。 #include #define N 30

void average(int a[][3],int n) {int i,j;

float ave[3],num[3];

for (i=0;i<3;i++) num[i]=0.0;

for (j=0;j<3;j++) for (i=0;i

printf(\for (i=0;i<3;i++) printf(\

printf(\ }

void max(int a[][3],int n) { int i,j; int max[3],min[3]; for (j=0;j<3;j++) { max[j]=min[j]=a[0][j]; for (i=1;imax[j]) max[j]=a[i][j]; if(a[i][j]

void count(int a[][3],int n) {int i,j,num[3];

for (i=0;i<3;i++) num[i]=0;

for (j=0;j<3;j++) for (i=0;i

for (i=0;i<3;i++) printf(\ }

void main() {