}
void input(int a[], int n) {
int i;
for (i=0; i scanf(\ /*********Found************/ i--; //改为:i++ } } 14、考查点:函数调用,字符串结束标志的使用,程序D1018.c的功能是通过函数,将一个字符串中的元音字母复制到另一字符串,然后输出。 #include #include void vowel(char str1[], char str2[]); int main(void) { char str1[81], str2[81]; printf(\ gets(str1); /*********Found************/ vowel(________________); //改为:str1, str2 printf(\ puts(str2); if (strlen(str2) == 0) { printf(\ } return 0; } void vowel(char str1[], char str2[]) { int i, j = 0; /*********Found************/ for (i=0; ________________; i++) //改为:str1[i] { if (str1[i]=='A' || str1[i]=='E' || str1[i]=='I' || str1[i]=='O' || str1[i]=='U' || str1[i]=='a' || str1[i]=='e' || str1[i]=='i' || str1[i]=='o' || str1[i]=='u') { str2[j] = str1[i]; j++; } } str2[j] = '\\0'; } 15、考查点:函数声明、函数定义、函数调用,表达式统计,程序D1019.c的功能是计算输出10个学生的平均成绩。 #include /*****Found*****/ average(double x, y); //改为:double average和int y int main(void) { int i; double score, total; double aver; printf(\ scanf(\ for (i=2; i<=10; i++) { printf(\ scanf(\ /*****Found*****/ total = score; //改为:total = total + score; } aver = average(total, 10); printf(\ return 0; } /*****Found*****/ average(double x, y) ////改为:double average和int y { return x / y; } 16、考查点:递归函数定义(递归返回),函数头,程序D1020.c的功能是使用递归实现Fibonacci数的计算,Fn=Fn-1+Fn-2(1、1、2...,第7项为13)。 #include int f(int n); /*****Found*****/ int main(void); //改为:去掉‘;’ { printf(\ return 0; } int f(int n) { if (n <= 2) { /*****Found*****/ return 2; //改为:1 } return f(n - 1) + f(n - 2); } 17、考查点:函数声明,变量作用域,函数调用,函数定义,指针作为函数的参数,程序D1022.c的功能是通过一个加法子函数,输入两个浮点数,求和。 #include /*********Found************/ int add(float x, float y); //改为:float int main(void) float a, b; scanf(\ /*********Found************/ printf(\x, y)); //改为:a, b return 0; } /*********Found************/ float add(float x, float y); //改为:去掉’;’ { return x + y; } 18、程序D1054.C的功能是:从键盘读入两个整数,对它们进行按位异或操作,把操作结果按二进制位放在字符数组str中,最后输出该字符串。提示:第2个空建议使用条件表达式(?表达式)实现! Please input num1 and num2 : 127 0 127 ^ 0 = 00000000000000000000000001111111 图1 程序运行效果示例 Please input num1 and num2 : 123 456 123 ^ 456 = 00000000000000000000000110110011 #include int main(void) { unsigned long int number, num1, num2, mask; int i; char str[33]; printf(\ scanf(\ /*********Found************/ mask = __________________; //改为:0x80000000 number = num1 ^ num2; for(i=0; i<32; i++) { /*********Found************/ str[i] = __________________; //改为:(mask & number) ? ‘1’:’0’ mask >>= 1; } str[32] = '\\0'; printf(\ return 0; }