国家二级C语言机试(操作题)模拟试卷617
程序填空题
1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。
例如,s所指的字符串为“def35adh3kjsdf7”,执行后结果为“defadhkjsdf3537”。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void fun(char*s)
{
int i,j=0,k=0;
char t1[80],t2[80];
for(i=0;s[i]!=’\0’;i++)
if(s[i]>=’0’&&s[i]<=’9’)
{
t2[j]=s[i];
【1】;
}
else
{
t1[k++]=s[i];
}
t2[j]=0;
t1[k]=0;
for(i=0;i<k;i++)
【2】;
for(i=0;i<【3】;i++)
s[k+i]=t2[i];
}
main()
{
char s[80]=\\
(1)j++或j+=1或++j或j=j+1
(2)s[i]=t1[i]
(3)j
解析:填空1:根据函数fun中的内容可知,数组t1存储了s中的非数字字符,数组t2存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加1操作。
填空2:将s串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=t1[i]。
填空3:再将数字字符加到s串之后,并且i要小于数字的个数j。
程序修改题
2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:先将字符串s中的字符按正序存放到字符串t中,然后把s中的字符按逆序连接到字符串t的后面。
例如,当s中的字符串为“ABCDE”时,则t中的字符串应为“ABCDEEDCBA”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
void fun(char*s,char*t)
{
int i,s1;
s1=strlen(s);
/*********found*********/
for(i=0;i<=s1;i++)
t[i]=s[i];
for(i=0;i<s1;i++)
t[s1+i]=s[s1-i-1];
/*********found*********/
t[s1]=’\0’;
}
void main()
{
char s[100],t[100];
system(\\
(1)for(i=0;i<s1;i++)
(2)t[2*s1]=’\0’;
解析:(1)字符串长度为s1,但数组下标从0~s1-1,因此不包括s1。
(2)正序和逆序字符串都加入了t串中,此时t串中最后一个元素的下标为2*s1-1,所以在2*s1下标处加入字符串结束标识‘\0’。
程序设计题
3.使用VC++2010打开考生文件夹下pmg1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:删除—个字符串中指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。
例如,输入一个字符串“World”,然后输入3,则调用该函数后的结果为“Word”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define LEN20
void fun(char a[],char b[],
int n)
{
}
void main()
{
char str1[LEN],str2[LEN];
int n;
system(\\
void fun(char a[],char b[],int n)
{
int i,k=0;
for(i=0;a[i]!=’\0’;i++)
if(i!=n)/*将不是指定下标的字符存入数组b中*/
b[k++]=a[i];
b[k]=’\0’;/*在字符串最后加上结束标识*/
}
解析:本题要求删除字符串中指定下标的字符,即把非指定下标的字符保留,所以if语句条件表达式的内容是if(i!=n)。字符串最后不要忘记加上字符串结束标识’\0’。
本文档预览:3600字符,共2856字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载