输入某班学生某门课的成绩(最多不超过40人,具体人数由用户键盘输入),用函数编程统计不及格人数。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h> #define N 40 intGetFailNum(int score[], int n); int main() { int i, n, fail, score[N]; printf("How many students?"); scanf("%d", &n); for (i=0; i<n; i++) { scanf("%d", _________); } fail = _____________; printf("Fail students = %d\n", fail); return 0; } /* 函数功能:统计不及格人数 */ int GetFailNum(int score[], int n) { int i, count = 0; for (i=0; i<n; i++) { if (_________) count++; } return count; }
正确答案:第11行: &score[i]
第13行: GetFailNum(score, n)
第23行: score[i] < 60
以下程序中函数Fun的功能是对b所指数组中的第m至第n个数据取累加和,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h> Fun(________,int m,int n) { int i,s=0; for( ______;i<n;i++) s=s+b[i]; return _______; } int main() { int x,a[]={1,2,3,4,5,6,7,8,9}; x=Fun(a,3,7); printf("%d\n",x); return 0; }
-
C.
第2行: int b[]
第5行: i=m-1
第7行: s
3.下面代码的功能是将数组a中存放的5个整型数据逆序后在屏幕上输出,具体输出内容如下:
5 4 3 2 1
按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h> void Fun(int b[],int i,int j) { int t; if(i<j) { _________; b[i]=b[j]; _________; Fun(b,i+1,j-1); } } int main( ) { int i,a[5]={1,2,3,4,5}; _________; for(i=0;i<5;i++) printf("%d\t",a[i]); printf("\n"); return 0; }
正确答案:第7行: t=b[i]
第10行: b[j]=t
第19行: Fun(a,0,4)
4.某人有5张2分的邮票和5张3分的邮票,问使用这些邮票可以组合出多少种不同面值的邮资。(例如:1张2分邮票加1张3分邮票可以组成5分的邮资;3张2分的邮票或2张3分的邮票都可以组成同样的6分邮资。)按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h> int main() { int i,j,k,s,n=0; int a[100]={0}; for(i=0;_________;i++) for(j=0;________;j++) { s=_____________; for(k=0;a[k]!=0;k++) if(s==a[k]) _________; if(a[k]==0 && s>0) { _________; n++; } } printf("\n %d kinds:",n); for(k=0;a[k];k++) printf("%2d,",a[k]); return 0; }
正确答案:第7行: i<=5
第8行: j<=5
第10行: 2*i+3*j
第14行: break
第18行: a[k]=s
5.以下程序中函数Sort的功能是对a所指数组中的数据进行由大到小的排序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h> void Sort(int a[],int n) { int i,j,t; for(i=0;_________;i++) for(________;j<n;j++) if(a[i]<a[j]) { t=a[i]; __________; a[j]=t; } } int main() { int aa[10]={1,2,30,4,5,6,7,8,9,10},i; __________; for(i=0;i<10;i++) printf("%d,",aa[i]); printf("\n"); return 0; }
正确答案:第5行: i<n-1
第6行: j=i+1
第10行: a[i]=a[j]
第18行: Sort(aa,10)
6.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出。程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是
#include <stdio.h> int main() { int n,k; float score ,sum,ave; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf("%f",&score); sum+=score; } ave=sum/4.0; printf("NO%d:%f\n",n,ave); } return 0; }
正确答案:sum=0.0;
7.下面代码的功能是在屏幕上输出以下内容
0
1
3
程序中空白处缺少的代码由下列选项给出,其中有一个不能满足题目要求,请将其找出。
#include <stdio.h> int main() { int b[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); } return 0; }
正确答案:b[t][j]
8.以下程序的输出结果是
void swap1(int c[]) { int t; t=c[0]; c[0]=c[1]; c[1]=t; } void swap2(int c0,int c1) { int t; t=c0; c0=c1; c1=t; } int main( ) { int a[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]); return 0; }