05年9月等级考试二级C语言考前上机密卷1
1.程序填空 给定程序的功能是判断字符ch是否与串str中的某个字符相同:若相同,什么也不做,若不同,则插在串的最后。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 注意:不得增行或删行,也不得更改程序的结构! 试题程序: #include #include void fun(char*str, char ch ) { while ( *str && *str != ch ) str++; if( *str 1ch ) { str[0] =ch; 2= 0; } } main( ) {char s[81], c; printf( " Please enter a string: " ); gets ( s ); printf (" Please enter the character to search : " ); c = getcharO; fun( 3 ) ; printf( " The result is %s ", s); 1.程序填空 【答案】 (1)!= (2)str[1] (3)s,c 【评析】 (1)fun函数中先设置了二个循环从字符串str中寻找字符ch,如果找到则中断循环并保留字符ch的地址,否则一直循环到串尾"。因此通过判断*str的内容即可判断是否已找到字符ch。 (2)如果没有找到字符ch,则在while循环后str指针指向串结束符Ox00,此时应将字符ch写入这里并在下一地址写入一个串结束符Ox00,所以应该是"str[1]。O;"语句。 (3)此句是调用fun()函数,括弧中是其实际参数。 2.程序修改 给定程序modi.c中,函数fun的功能是:’根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示的数据,由main()函数输出。 例如,若输入2︳若输入4 则输出: ︳则输出: 1 2 ︳ 1 2 3 4 2 4 ︳ 2 4 6 8 ︳ 3 6 9 12 ︳ 4 8 12 16 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include #include #define M 10 int a[M][M]={0}; fun(int **a, int m) { int j,k; for (j=0;j 相关资料 |