四.程序填空题
1. 以下程序的功能是:用average函数计算平均成绩。
#include
float average(float array[],int n) { float sum=0,ave; int i;
for(i=0;i ave=(【 1 】); 【 2 】; } int main() { float score[10],aver; int i; for(i=0;i<10;i++) scanf(“%f”,&score[i]); aver=average【 3 】; printf(“aver=%f\\n”,aver); return 0; } 2. 函数void fun(char s[],char c)的功能是从字符串s中删除字符c,在主函数中输入要删除的字符,并将 删除后的字符输出。 #include void fun(char s[],char c) { int i,j; for(i=0,j=0;s[i]!=’\\0’;i++) if(【 1 】) s[j++]=s[i]; s[j]=’\\0’; } int main() { char str[80]=”adadfeeafard”,ch; scanf(“%c”,&ch); fun(【 2 】,ch); 【 3 】; return 0; } 3. 下面程序用“折半查找法”从有10个数的a数组中对关键字m查找,若找到,返回其下标值,否则返 回-1,请填空。 #include int search(int a[10],int m) { int x1=0,x2=9,mid ; while (x1<=x2) { mid = (x1+x2)/2; if (ma[mid]) 【 2 】; else return (mid) ; } return (-1) ; } int main() { int a[10]={1,4,6,8,12,44,55,67,89,98},key,k; printf(\ scanf(\ k=【 3 】; if(k==-1) printf(\ else printf(\ return 0; } 4. 下面程序的功能是将一个字符串中元音字母复制到另一个字符串,然后输出,请填空。 #include {【 1 】 char str[80],c[80]; printf(\ 【 2 】 cpy(str,c); printf(\ return 0; } void cpy(char s[],char c[]) { int i,j; for (i=0,j=0;s[i]!='\\0';i++) if (s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'|| s[i]=='I'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U') {【 3 】; j++; } 【 4 】 } 5. 下面程序的功能是给出年、月、日,计算该日是该年的第几天,请填空。 #include {int sum_day(int month,int day); int leap(int year); int year,month,day,days; printf(\ scanf(\ printf(\ days=sum_day(month,day); if(leap(year)&&month>=3) 【 1 】 printf(\ return 0; } int sum_day(int month,int day) {int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int i; for (i=1;i int leap(int year) {int leap; if(【 3 】) leap=1; else leap=0; return(leap); }