二级等级考试C语言机试题.docx
《二级等级考试C语言机试题.docx》由会员分享,可在线阅读,更多相关《二级等级考试C语言机试题.docx(23页珍藏版)》请在冰豆网上搜索。
![二级等级考试C语言机试题.docx](https://file1.bdocx.com/fileroot1/2023-1/27/1e3e696b-a49a-45fa-9d71-17a19753c632/1e3e696b-a49a-45fa-9d71-17a19753c6321.gif)
二级等级考试C语言机试题
二OOO年九月份二级等级考试C语言机试题
第一题
修改部分
给定程序MODI1.C中函数fun的功能是:
将仅在字符串s中出现而不在字符串t中出现的字符,和仅在字符串t中出现而不在字符串s中出现的字符,构成一个新字符串放在u中,u中的字符按原字符串字符顺序排列,不去掉重复字符。
例如:
当s=”AABCDE”,t=”BDFGG”时,u中的字符串为:
”AACEFGG”。
请改正函数fun中的错误,使它能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
#include
voidfun(char*s,char*t,char*u)
{inti,j,sl,tl,k,ul=0;
sl=strlen(s);tl=strlen(t);
for(i=0;i{for(j=0;jif(s[i]==t[j])break;
/************found************/
if(j>=tl)
{for(k=0;k
if(s[i]==u[k])break;
if(k>=ul)
/************found************/
u[k++]=s[i];
}
}
u[ul]='\0';
}
main()
{chars[100],t[100],u[100];
clrscr();
printf("\nPleaseenterstrings:
");scanf("%s",s);
printf("\nPleaseenterstringt:
");scanf("%s",t);
fun(s,t,u);
printf("Theresultis:
%s\n",u);
}
设计部分
函数fun的功能是:
把a数组中的n个数和b数组中逆序的n个数一一对应相加、求平方,结果存放在C数组中。
例如:
若a数组中的值是:
1、3、5、7、8,b数组中的值是:
2、3、4、5、8,调用该函数后,c中存放在数据是81、64、81、100、100。
注意:
部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
voidfun(inta[],intb[],intc[],intn)
{
}
main()
{inti,a[100]={1,3,5,7,8},b[100]={2,3,4,5,8},c[100];
clrscr();
fun(a,b,c,5);
printf("Theresultis:
");
for(i=0;i<5;i++)printf("%d",c[i]);
printf("\n");
NONO();
}
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/
FILE*rf,*wf;
inta[100],b[100],c[100],i,j;
rf=fopen("in.dat","r");
wf=fopen("bc07.dat","w");
for(i=0;i<5;i++){
for(j=0;j<5;j++)fscanf(rf,"%d,",&a[j]);
for(j=0;j<5;j++)fscanf(rf,"%d,",&b[j]);
fun(a,b,c,5);
for(j=0;j<5;j++)fprintf(wf,"%d",c[j]);
fprintf(wf,"\n");
}
fclose(rf);
fclose(wf);
}
第二题
修改部分
给定程序MODI1.C中函数fun的功能是:
将未在字符串s中出现、而在字符串t中出现的字符,形成一个新的字符串放在u中,u中字符按原符串中字符顺序排列,但去掉重复字符。
例如:
当s=”ABCDE”,t=”BDFGG”时,u中的字符为:
“FG”。
请改正函数fun中的错误,使它能得出正确的结果。
注意:
不要改动main函数,不得增行而删行,也不得更改程序的结构!
#include
#include
#include
voidfun(char*s,char*t,char*u)
{inti,j,sl,tl,k,ul=0;
sl=strlen(s);tl=strlen(t);
for(i=0;i{for(j=0;jif(t[i]==s[j])break;
if(j>=sl)
{for(k=0;k
if(t[i]==u[k])break;
/************found************/
if(k
u[ul++]=t[i];
}
}
/************found************/
*u='\0';
}
main()
{chars[100],t[100],u[100];
clrscr();
printf("\nPleaseenterstrings:
");scanf("%s",s);
printf("\nPleaseenterstringt:
");scanf("%s",t);
fun(s,t,u);
printf("Theresultis:
%s\n",u);
}
设计部分
函数fun的功能是:
把a数组中的n个数,和b数组中逆序的n个数一一相应相乘、求平方,结果存在C数组中。
例如:
当a数组中的值是:
1、3、5、7、8,b数组中的值是:
2、3、4、5、8。
调用该函数后,C中存放的数据是:
64、225、400、441、256。
注意:
部分源程序存在文件PROGI.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
voidfun(inta[],intb[],intc[],intn)
{
}
main()
{inti,a[100]={1,3,5,7,8},b[100]={2,3,4,5,8},c[100];
clrscr();
fun(a,b,c,5);
printf("Theresultis:
");
for(i=0;i<5;i++)printf("%d",c[i]);
printf("\n");
NONO();
}
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/
FILE*rf,*wf;
inta[100],b[100],c[100],i,j;
rf=fopen("in.dat","r");
wf=fopen("bc06.dat","w");
for(i=0;i<5;i++){
for(j=0;j<5;j++)fscanf(rf,"%d,",&a[j]);
for(j=0;j<5;j++)fscanf(rf,"%d,",&b[j]);
fun(a,b,c,5);
for(j=0;j<5;j++)fprintf(wf,"%d",c[j]);
fprintf(wf,"\n");
}
fclose(rf);
fclose(wf);
}
第三题
修改部分
给定程序MODI1.C中函数fun的功能是:
将既在字符串s中出现又在字符串t中出现的字符构成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符。
例如:
当s=”ABBCDE”,t=”BDFG”时,u中字符串为:
”BBD”。
请改正函数fun中的错误,使它能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
#include
voidfun(char*s,char*t,char*u)
{inti,j,sl,tl;
sl=strlen(s);tl=strlen(t);
for(i=0;i{for(j=0;jif(s[i]==t[j])break;
/************found************/
if(j>=tl)
*u++=s[i];
}
/************found************/
*u='0';
}
main()
{chars[100],t[100],u[100];
clrscr();
printf("\nPleaseenterstrings:
");scanf("%s",s);
printf("\nPleaseenterstringt:
");scanf("%s",t);
fun(s,t,u);
printf("Theresultis:
%s\n",u);
}
设计部分
函数fun的功能是:
把a数组中的n个数和b数组中逆序的n个数一一相应相乘,结果存在c数组中。
例如:
当a数组中的值是:
1、3、5、7、8,b数组中的值是:
2、3、4、5、8。
调用该函数后,c中存放的数据是:
8、15、20、21、16。
注意:
部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你的若干语句。
#include
#include
voidfun(inta[],intb[],intc[],intn)
{
}
main()
{inti,a[100]={1,3,5,7,8},b[100]={2,3,4,5,8},c[100];
clrscr();
fun(a,b,c,5);
printf("Theresultis:
");
for(i=0;i<5;i++)printf("%d",c[i]);
printf("\n");
NONO();
}
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/
FILE*rf,*wf;
inta[100],b[100],c[100],i,j;
rf=fopen("in.dat","r");
wf=fopen("bc03.dat","w");
for(i=0;i<5;i++){
for(j=0;j<5;j++)fscanf(rf,"%d,",&a[j]);
for(j=0;j<5;j++)fscanf(rf,"%d,",&b[j]);
fun(a,b,c,5);
for(j=0;j<5;j++)fprintf(wf,"%d",c[j]);
fprintf(wf,"\n");
}
fclose(rf);
fclose(wf);
}
第四题
修改部分
给定程序MODI1.C中函数fun的功能是:
将仅在字符串S中出现、而不在字符串t中出现的字符,和仅在字符t中出现、而不在字符串s中出现的字符,构成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,但去掉重复字符。
例如,当s=”AABCDE”,t=”BDFGG”时,u中的字符串为:
”ACEFG”。
请改正函数fun中的错误,使它能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
#include
/************found************/
voidfun(chars,chart,charu)
{inti,j,sl,tl,k,ul=0;
sl=strlen(s);tl=strlen(t);
for(i=0;i{for(j=0;jif(s[i]==t[j])break;
if(j>=tl)
{for(k=0;k
if(s[i]==u[k])break;
if(k>=ul)u[ul++]=s[i];
}
}
for(i=0;i{for(j=0;jif(t[i]==s[j])break;
/************found************/
if(j>sl)
{for(k=0;k
if(t[i]==u[k])break;
if(k>=ul)u[ul++]=t[i];
}
}
u[ul]='\0';
}
main()
{chars[100],t[100],u[100];
clrscr();
printf("\nPleaseenterstrings:
");scanf("%s",s);
printf("\nPleaseenterstringt:
");scanf("%s",t);
fun(s,t,u);
printf("Theresultis:
%s\n",u);
}
设计部分
函数fun的功能是:
把a数组中的n个数的平方值,与b数组中逆序的n个数的平方值一一对应相减,结果存放在C数组中。
例如:
当a数组中的值是:
1、3、5、7、8,b数组中的值是:
2、3、4、5、8。
调用该函数后,C中存放的数据是:
-63、-16、9、40、60。
注意:
部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号填入你编写的若干语句。
#include
#include
voidfun(inta[],intb[],intc[],intn)
{
}
main()
{inti,a[100]={1,3,5,7,8},b[100]={2,3,4,5,8},c[100];
clrscr();
fun(a,b,c,5);
printf("Theresultis:
");
for(i=0;i<5;i++)printf("%d",c[i]);
printf("\n");
NONO();
}
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/
FILE*rf,*wf;
inta[100],b[100],c[100],i,j;
rf=fopen("in.dat","r");
wf=fopen("bc08.dat","w");
for(i=0;i<5;i++){
for(j=0;j<5;j++)fscanf(rf,"%d,",&a[j]);
for(j=0;j<5;j++)fscanf(rf,"%d,",&b[j]);
fun(a,b,c,5);
for(j=0;j<5;j++)fprintf(wf,"%d",c[j]);
fprintf(wf,"\n");
}
fclose(rf);
fclose(wf);
}
第五题
修改部分
给定程序MODi1.G中函数fun的功能是:
将在字符串s中出现、而未在字符串t中出现的字符构成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,但去掉重复字段。
例如,当S=”AABCDE”,t=”BDFG”时,u中字符的串为:
“ACE”。
请改正函数fun中的错误,使它能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
#include
voidfun(char*s,char*t,char*u)
{inti,j,k,sl,tl,ul=0;
sl=strlen(s);tl=strlen(t);
for(i=0;i{for(j=0;jif(s[i]==t[j])break;
/************found************/
if(j>tl)
{for(k=0;k
if(s[i]==u[k])break;
/************found************/
if(k
u[ul++]=s[i];
}
}
u[ul]='\0';
}
main()
{chars[100],t[100],u[100];
clrscr();
printf("\nPleaseenterstrings:
");scanf("%s",s);
printf("\nPleaseenterstringt:
");scanf("%s",t);
fun(s,t,u);
printf("Theresultis:
%s\n",u);
}
设计部分
函数fun的功能是:
把a数组中的n个数,和b数组中逆序的n个数一一对应相减、求平方,结果存在c数组中。
例如:
当a数组中的值是:
1、3、5、7、8,b数组中的值是:
2、3、4、5、8。
调用该函数后,C中存放的数据是:
49、4、1、16、36。
注意:
部分源程序存在文件PROGI.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
voidfun(inta[],intb[],intc[],intn)
{
}
main()
{inti,a[100]={1,3,5,7,8},b[100]={2,3,4,5,8},c[100];
clrscr();
fun(a,b,c,5);
printf("Theresultis:
");
for(i=0;i<5;i++)printf("%d",c[i]);
printf("\n");
NONO();
}
NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/
FILE*rf,*wf;
inta[100],b[100],c[100],i,j;
rf=fopen("in.dat","r");
wf=fopen("bc05.dat","w");
for(i=0;i<5;i++){
for(j=0;j<5;j++)fscanf(rf,"%d,",&a[j]);
for(j=0;j<5;j++)fscanf(rf,"%d,",&b[j]);
fun(a,b,c,5);
for(j=0;j<5;j++)fprintf(wf,"%d",c[j]);
fprintf(wf,"\n");
}
fclose(rf);
fclose(wf);
}
第六题
修改部分
给定程序MODI1.C中函数fun的功能是:
将未在字符串s中出现,而在字符串t中出现的字符,构成一个新的字符串放在u中,u中字符按原字符串中字符的顺序的逆序排列,不去掉重复字符。
例如,当s=”ABCDE”,t=”BDFGG”时,u中的字符串为:
“GGF”。
请改正函数fun中的错误,使它能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
#include
voidfun(char*s,char*t,char*u)
{inti,j,sl,tl,ul;
charr,*up=u;
sl=strlen(s);tl=strlen(t);
for(i=0;i{for(j=0;jif(t[i]==s[j])break;
if(j>=sl)*u++=t[i];
}
/************found************/
u='\0';
ul=strlen(up);
/************found************/
for(i=0;i
{r=up[i];up[i]=up[ul-1-i];up[ul-1-i]=r;}
}
main()
{chars[100],t[100],u[100];
clrscr();
printf("\nPleaseenterstrings:
");scanf("%s",s);
printf("\nPleaseenterstringt:
");scanf("%s",t);
fun(s,t,u);
printf("Theresultis:
%s\n",u);
}
设计部分
函数fun的功能是:
把a数组中的n个数、和b数组中逆序的n个数一一对相应上减的结果,与a数组中的n个数、和b数组中逆序的n个数一一对应相加的结果相乘,结果存在c数组中。
例如:
当a数组中的值是:
1、3、5、7、8,b数组中的值是:
2、3、4、5、8。
调用该函数后,C中存放的数据是:
-63、-16、9、40、60