文档介绍:必做题有3个学生,各学4门课,计算总平均分数,并查找有一门以上课程不及格的学生,打印输出他们的全部课程成绩。(通过函数调用完成)C程序如下:#include<>#include<>#defineM3#defineN4voidLine(charc,inta)//输出打印头文件{inti;for(i=1;i<=a;i++) printf("%c",c);printf("\n");}voidfun(floata[M][N])//定义学生成绩处理的fun函数{inti,j;floatsum,A[M]; floatave=; for(i=0;i<M;i++) {sum=; for(j=0;j<N;j++) sum+=a[i][j]; A[i]=sum/N;//计算每个学生的平均成绩}for(i=0;i<M;i++) ave+=A[i]/M;//计算总平均成绩并输出 Line('-',60); printf("Totalofscores'average:%\n",ave);Line('-',60); printf("Thefailedstudent:\n\n");for(i=0;i<M;i++)//输出有一门以上成绩不及格学生学号 for(j=0;j<N;j++)if(a[i][j]<60) {printf("TestfailedstudentID:No.%d.\n",i+1); break; };Line('-',60);printf("Outputallsutdents'score:\n\n");//输出所有学生成绩printf("ID\tclass1\tclass2\tclass3\tclass4\tAverage\n");for(i=0;i<M;i++){printf("No.%d",i+1);//输出学生学号 for(j=0;j<N;j++)printf("\t%",a[i][j]); printf("\t%\n",A[i]); }Line('-',60);}voidmain(){inti,j,flag=0;floata[M][N];Line('-',60);printf("Input3studentswitheach4scors:\n\n");//提示输入成绩for(i=0;i<3&&flag==0;i++) for(j=0;j<4;j++)//运用双重FOR循环输入学生成绩 {scanf("%f",&a[i][j]);if((a[i][j]<0)||(a[i][j]>100))//检验输入成绩是否有误 {printf("InputError!!!\n"); flag=1;break; printf("\n"); } }if(flag==0)fun(a);//调用fun函数输出处理后学生成绩}程序运行结果如下所示: 。(通过函数调用完成)C程序如下:#include<>#include<>#defineM5#defineN20voidLine(charc,inta)//输出打印头文件{inti;for(i=1;i<=a;i++)printf("%c",c);printf("\n");}voidsort(chars[M][N],charstr[N])//定义字典排序sort函数{inti,j;for(i=0;i<M-1;i++)for(j=i+1;j<M;j++)if(strcmp(s[i],s[j])>0)//不同字符串字典排序{strcpy(str,s[i]);strcpy(s[i],s[j]);strcpy(s[j],str);}for(i=0;i<M;i++)printf("%s",s[i]);}voidmain(){inti;chara[M][N],arr[N];Line('-',60);printf("InputEnglishstringarray:\n\n");//提示输入字符串for(i=0;i<M;i++)scanf("%s",a[i]);printf("\n");Line('-',60);printf("Outputtheoldstringarray:\n\n");//提示输出字符串for(i=0;i<M;i++)printf("%s",a[i]);printf("\n");Line('-',60);printf("Outputthesortedstringarray:\n\n");//提示输出排序后的字符串sort(a,arr);printf("\n");Line('-',60);printf("\n");}程序运行结果如下:,要求完成:(1)每个单词中的第一个字