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;i
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 #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;iprintf(\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;ifor (i=0;i<3;i++) printf(\ }
void main() { int a[N][3]; int i,j; for (i=0;i