等级考试二级C语言考前上机密卷[上]

全国等级考试资料网 2019-01-23 14:11:42 40
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;jfor (k=0;ka[j][k]=k*j;
}
main()
{  int i,j,n;
clrscr0;
printf("Enter n:");scanf("%d",&n);
fun(a,n);
for(i=0;

i{  forO=O;jprint f("%4d",a[i] [j] );
printf(" ");
}首页 1 2 3 尾页 相关资料

相关阅读