• 2021-04-14
    中国大学MOOC:输入某班学生某门课的成绩(最多不超过40人),当输入为负值时,表示输入结束,用函数编程统计成绩高于平均分的学生人数。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include#defineN40intAverage(intscore[],intn);intReadScore(intscore[]);intGetAboveAver(intscore[],intn);intmain(){intscore[N],m,n;n=ReadScore(score);/*输入成绩,返回学生人数*/printf(Totalstudentsare%d\n,n);m=GetAboveAver(score,n);/*统计成绩在平均分及其上的学生人数*/if(______________)printf(Studentsofaboveaverageis%d\n,m);return0;}/*函数功能:若n>0,则计算并返回n个学生成绩的平均分,否则返回-1*/intAverage(intscore[],intn){inti,sum=0;for(i=0;i0,则统计并返回成绩在平均分及平均分之上的学生人数,否则返回-1*/intGetAboveAver(intscore[],intn){inti,count=0,aver;aver=______________;/*计算并打印平均分*/if(aver==-1)return-1;printf(Averagescoreis%d\n,aver);for(i=0;i=aver)count++;}return__________;}
  • 第12行:m!=-1第24行:n>0?sum/n:-1第35行:score[i]>=0第36行:i第43行:Average(score,n)第50行:count

    内容

    • 0

      中国大学MOOC: 设计一个函数,用来判断一个整数是否为素数。代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include<math.h>#include<stdio.h>intIsPrimeNumber(intnumber);intmain(){intn,ret;printf("Inputn:");scanf("%d",&n);ret=IsPrimeNumber(n);if(___________){printf("%disaprimenumber\n",n);}else{printf("%disnotaprimenumber\n",n);}return0;}//函数功能:判断number是否是素数,函数返回非0值,表示是素数,否则不是素数intIsPrimeNumber(intnumber){inti;if(number<=1)return0;//负数、0和1都不是素数for(i=2;________________;i++){if(_______________)//被整除,不是素数return0;}return1;}

    • 1

      下列程序接受一个整数n(1<=n<=12),计算n!,然后输出n!中非0数字的个数。其中函数fac( )用于计算阶乘,函数nzero( )用于计算非0数字的个数。 long fac(int n) /* 计算n!并返回 */ { long m=n; while(_________) m*=n; return m; } int nzero(long m) /*计算m中有几个非0数字并返回 */ { int num=_____________; while(m>0L) { if(_________) num++; m/=10L; } return num; /* num是m中非0数字个数 */ } void main( ) { int n; do{ printf(“输入一个1和12之间的整数:”); scanf(“%d”,&n); }while(____________); /*如果输入不正确,则重复输入 */ n<1||n>12 printf(“%d!中有%d个非0数字。\n”,n,_________); }

    • 2

      在数组a中,存放有n个学生的成绩,试编一函数:将低于平均分的学生人数m由函数值返回,将低于平均分的分数由数组b带回.

    • 3

      下面程序的功能是:输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数。输入零时,表示输入数据结束。要求最后统计出累加的项数。在[【1】处填写适当的表达式,使程序完整并符合题目要求。 #include "stdio.h" main() { int i=0,n,sum=0; printf("Input a number:"); scanf("%d",&n); while(【1】) {if(n>0) {sum=sum+n;i++;} printf("Input a number:"); scanf("%d",&n); } printf("sum=%d,count=%d ",sum,i); }

    • 4

      下列程序计算平均成绩并统计90分及以上人数。#include "stdio.h" main() {int n,m; float grade,average; average=n=m=; while() { scanf("%f",&grade); if(grade<0)break; n++; average+=grade; if(grade<90) ; m++; } if(n)printf("%.2f%d ",average/n,m); }