题目内容

输入某班学生某门课的成绩(最多不超过40人),当输入为负值时,表示输入结束,用函数编程统计成绩高于平均分的学生人数。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include #define N 40int Average(int score[], int n); int ReadScore(int score[]); int GetAboveAver(int score[], int n);int main(){ int score[N], m, n; n = ReadScore(score); /* 输入成绩,返回学生人数 */ printf("Total students are %d\n", n); m = GetAboveAver(score, n); /* 统计成绩在平均分及其上的学生人数 */ if (______________) printf("Students of above average is %d\n", m); return 0;} /* 函数功能:若n>0,则计算并返回n个学生成绩的平均分,否则返回-1 */int Average(int score[], int n) { int i, sum = 0; for (i=0; i { sum += score[i]; } return ______________; } /* 函数功能:输入学生某门课成绩,当输入成绩为负值时,结束输入,返回学生人数 */int ReadScore(int score[]) { int i = -1; do{ i++; printf("Input score:"); scanf("%d", &score[i]); }while (__________); return _______; } /* 函数功能:若n>0,则统计并返回成绩在平均分及平均分之上的学生人数,否则返回-1 */int GetAboveAver(int score[], int n){ int i, count = 0, aver; aver = ______________; /* 计算并打印平均分 */ if (aver == -1) return -1; printf("Average score is %d\n", aver); for (i=0; i { if (score[i] >= aver) count++; } return __________;}

A. 第12行:m == -1 第24行: n>0 ? sum/n : -1 第35行:score[i] >= 0 第36行: i 第43行:Average(score, n) 第50行:i
B. 第12行:m != -1 第24行: n>0 ? -1:sum/n 第35行:score[i] >= 0 第36行: i 第43行:Average(n,score) 第50行:count
C. 第12行:m != -1 第24行:n>0 ? sum/n : -1 第35行:score[i] >= 0 第36行:i 第43行:Average(score, n) 第50行:count
D. 第12行:m == -1 第24行: n<=0 ? sum/n : -1 第35行:score[i] >= 0 第36行: score 第43行:Average(score, n) 第50行:aver

查看答案
更多问题

以下程序中函数Fun的功能是对b所指数组中的第m至第n个数据取累加和,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#includeFun(________,intm,intn){inti,s=0;for(______;is=s+b[i];return_______;}intmain(){intx,a[]={1,2,3,4,5,6,7,8,9};x=Fun(a,3,7);printf("%d\n",x);return0;}

A. 第2行:int b[] 第5行:i=n-1 第7行:b[i]
B. 第2行:int b 第5行:i=0 第7行:s
C. 第2行:int b[] 第5行:i=1 第7行:i
D. 第2行:int b[] 第5行:i=m-1 第7行:s

以下程序的输出结果是voidswap1(intc[]){intt;t=c[0];c[0]=c[1];c[1]=t;}voidswap2(intc0,intc1){intt;t=c0;c0=c1;c1=t;}intmain(){inta[2]={3,5},b[2]={3,5};swap1(a);swap2(b[0],b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);return0;}

A. 3 5 5 3
B. 3 5 3 5
C. 5 3 3 5
D. 5 3 5 3

模拟骰子的6000次投掷,编程统计并输出骰子的6个面各自出现的概率。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include_________#include#includeintmain(){intface,roll,frequency[7]={0};srand(time(NULL));for(roll=1;roll<=6000;roll++){face=_____________;__________________;}printf("%4s%17s\n","Face","Frequency");for(face=1;face<=6;face++){printf("%4d%17d\n",face,frequency[face]);}return0;}

A. 第1行: 第11行:rand()%6 + 1 第12行:frequency[face]++
B. 第1行: 第11行:rand()/6 + 1 第12行:frequency[face]++
C. 第1行: 第11行:rand()%6 + 1 第12行:frequency[roll]++
D. 第1行: 第11行:rand()/6 + 1 第12行:frequency[roll]++

下面代码的功能是在屏幕上输出以下内容013程序中空白处缺少的代码由下列选项给出,其中有一个不能满足题目要求,请将其找出。#includeintmain(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=0;for(i=0;i<3;i++)for(j=i;j<=i;j++){t=t+____________;printf("%d\n",t);}return0;}

A. b[j][t]
B. b[i][b[j][j]]
C. b[t][j]
D. b[i][j]

答案查题题库