{ int a[10],*p,*q; int b[10]; for (p=a;p
8.4.2 对在一维数组中存放的10整数进行如下的操作:从第3个元素开始直到最后一个元
素,依次向前移动一个位置,输出移动后的结果,用指针的方法进行编程。 #include 8.4.3 在一个字符数组中存放“AbcDEfg”字符串,编写程序,把该字符串中的小写字母变为 大写字母,把该字符串中的大写字母变为小写字母,用指针的方法进行编程。 #include *p=*p-32; else if(*p>='A'&& *p<='Z') *p=*p+32; } printf(\ puts(a); printf(\ } 8.4.4 用字符指针变量,进行5个字符串的输入,字符串大小的比较,并且输出5个字符串 中最小的字符串。 #include 8.4.5 在主函数中随机输入20个数在一个数组中, 通过运算处理输出该数组中的最小值。其 中确定最小值的下标的操作在子函数实现,请给出该函数的主函数与子函数的完整程序。 #include if (a[i]>a[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 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;i 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() { int a[N][3]; int i,j; for (i=0;i } for (j=0;j<3;j++) scanf(\ average(a,N); max(a,N); count(a,N); 8.4.7 编写函数fun(char *str, int num[10]),它的功能是:分别找出字符串中每个数字字符 (0,1,2,3,4,5,6,7,8,9)的个数,用num[0]来统计字符0的个数,用num[1]来统计字符1的个数,用num[9]来统计字符9的个数。字符串由主函数从键盘读入。 #include void fun(char *str, int num[10]) {int i; char *s=str; for (i=0;i<10;i++) num[i]=0; for (;*s!='\\0';s++) num[s[i]-'0']++; } void main() { char a[80]; int b[10]; int i; gets(a); fun(a,b); for (i=0;i<10;i++) { printf(\ } }