三、完善程序填空题(每空2分,共26分)
请将正确答案按【 】中的序号写入答题卡,否则不得分。
1.输入一个百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90至100分为‘A’,80至89分为‘B’,70至79分为‘C’,60至69分为‘D’,60分以下至0分为‘E’。
#include
scanf(\
switch ( 【63】 ) { case 10: case 9: printf(\ case 8:
printf(\ case 7:
printf(\ case 6:
printf(\
case 5: case 4: case 3: case 2: case 1: case 0: printf(\ } }
2.用秦九绍算法求多项式的值,公式如下
anxn+an-1xn-1+…+a1x+a0=(((anx+an-1)x+an-2)x+…+a1)x+a0 请完善如下程序。 #define N 20 main()
{ float a[N+1]; int n,i;
float x,sum;
printf(\ scanf(\ for(i=n;i>=0;i--)
{ printf(\ scanf(\ }
sum= 【64】 ;
for(i=n-1;i>=0;i--) sum= 【65】 ;
printf(\【66】 ); }
3.下面函数的功能为:使用二分法查找key的值。数组中元素已递增排序,若找到key则返回对应的下标,否则返回-1。 int binary (int a[],int n,int key) { int low,high,mid; low=0; high=n-1; while ( 【67】 ) { mid=(low+high)/2; if (keya[mid]) 【69】 ; else return (mid) ; }
return (-1); }
4.已知级数12+22+32+……,试求前若干项之和刚好大于5000时的项数n及级数和。 main() {
int n= 【70】 , sum=0; do { n++;
sum+= 【71】 ; }while( 【72】 );
printf(\ sum=%d\\n\
5.下面程序的功能是:主函数通过调用average函数计算数组中各元素的平均值。请填空。 float average (int *pa, int n) { int i; float avg=0.0; for (i=0;i