C语言上机(历)测试全真题集
上机(历年)测试全真题集答案
一.程序填空题:(假定考生目录为: C:\)
1.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:将字符串s中所有的字符'c'删除。
#include
void main()
{
char s[80];
int i,j;
gets(s);
for(i=j=0; s[I]!=’\0’;i++)
if(s[i] != 'c')
{
s[j]=s[i];
j++;
}
s[j]='\0';
puts(s);
}
2.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入三个整数,按由小到大的顺序输出这三个数。
#include
void swap(int *pa,int *pb)
{ /*交换两个数的位置*/
int temp;
temp = *pa;
*pa = *pb;
*pb = temp;
}
void main()
{
int a,b,c,temp;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
swap(&a,&b);
if(b>c)
swap(&b,&c);
if(a>b)
swap(&a,&b);
printf("%d,%d,%d",a,b,c);
}
3.在考生目录的Paper子目录下,有Modify.c文件,该文件中“***** N *****”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能: 输入一个字符串,将组成字符串的所有字符先按顺序存放到字符串t中,再将字符串中的字符按逆序连接到字符串t * 后面。例如:输入"ABCD",则字符串t为"ABCDDCBA"。
# include
# include
void fun(char *s,char *t)
{
int i,sl;
sl=strlen(s);
for(i=0;i
t[i]=s[i];
for(i=0;i
/********1********/
t[sl+i]=s[sl-i]; /* t[sl+i]=s[sl-i-1]; */
/********2********/
t[sl]=”\0"; /*改成 t[sl]=’\0’; */
}
void main()
{
char s[100],t[100];
scanf("%s",s);
fun(s,t);
printf("%s",t);
}
4.在考生目录的Paper子目录下,有Modify.c文件,该文件中“***** N *****”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:
输入一个字符串,将组成字符串的所有非英文字母的字符删除后输出。
例如:输入"abc123+xyz.5",应输出"abcxyz"。
#include
#include
void main()
{
char str[256];
int i,j,k=0,n;
gets(str);
n=strlen(str);
for(i=0;i
/********1********/
if(tolower(str[i])'z') /* if (tolower(str[i])>='a' && tolower(str[i])<='z')*/
{
/********2********/
str[n]=str[i]; n++; /* str[k]=str[i]; k++;*/
}
str[k]='\0';
printf("%s\n",str);
}
5.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N