首页 > 全部 > 二级C语言 > 国家二级C语言程序设计机试(程序设计题)模拟试卷5

国家二级C语言程序设计机试(程序设计题)模拟试卷5

本单篇文档共5760字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 1182人下载
价格: 1.00 原价:¥8.00
收藏

国家二级C语言程序设计机试(程序设计题)模拟试卷5

程序设计题

1.编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在e中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在e数的百位和个位上。

例如,当a=45,b=12时,调用该函数后,c=5 142。

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

void fun(int a,int b,long*c)

{

main()

{

int a,b;long c;

void NONO();

printf(“Input a,b:”);

scanf(“%d%d”,&a,&b);

fun(a,b,&c);

prinff(“The result is:%d\n”,c);

NONO();

}

void NONO()

/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/

{

FILE* rf,*wf;

int i,a,b;long c;

rf=fopen(“in.dat”,“r”);

wf=fopen(“out.dat”,“w”);

for(i=0;i<10;i++)

{

fscanf(rf,“%d,%d”,&a,&b);

fun(a,b,&c);

fprinff(wf,“It=%d,b=%d,c=%ld\n”,a,b,c);

}

fclose(rf);

fclose(wf);

}

void fun(int a,int b,long*c)

{

*c=b%10+(a/10)*10+(h/10)*100+(a%10)*1000;

}

解析:本题考查:如何取出数值n的各个位;知道数值n的各个位,又如何表示该数值;指针型变量的使用。

本题中主要的问题是如何取出a和b的个位数和十位数,取出后如何表示成c中相应的位数。由于a和b都是只有两位的整数,所以分别对它们除10可得到它们的十位数,分别用10对它们求余可得到它们的个位数。得到后对应乘以1000、100、10、1就可得到c的千位数、百位数、十位数和个位数。

注意:使用c时要进行指针运算。知道两位数数值n,需要表示个位和十位,采用求余和除法操作,如n%10(取个位)、n/10(取十位)。

2.请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出“YES”,否则返回0,主函数中输出“NO”。回文是指顺读和倒读都一样的字符串。

例如,字符串LEVEL是回文,而字符串123312就不是回文。

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#define N 80

int fun(char*str)

{

}

main()

{

char s[N];

FILE*out;

char*test[]={“1234321”,“123421”“123321”,“abcdCBA”};

int i;

prinff(“Enter a string:”);

gets(S);

prinff(“\n”);

puts(s);

if(fun(s))

prinff(“YES\n”);

else

printf(“NO\n”);

/****************/

out=fopen(“out.dat”,“w”);

for(i=0;i<4;i++)

if(fun(test[i]))

fprintf(out,“YES\n”);

else

fprinff(out,“NO\n”);

felose(out);

/****************/

}

int fun(char*str)

{

int i,n=0,fg=1;

char*p=str;

while(*p) /*将指针p置位到字符串末尾,并统计字符数*/

{n++;p++;}

for(i=0;i<n/2;i++) /*循环比较字符*/

if(str[i]==str[n一1一i]);/*相同,什么都不做*/

else

{fg=0;break;} /*不同,直接跳出循环*/

return fg;

}

解析:判断回文就是将第一个字符与最后一个字符比较,第二个字符与倒数第二个字符进行比较,以此类推,直到中间的字符。如果比较的结果都相同,那么这个字符串就是回文,否则不是。程序中循环语句用来遍历字符串,条件语句用来判断当前字符与对应位置的字符是否相同。

3.请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCⅡ码降序排列。例如,原来的字符串为“CEAedca”,排序后输出为“CedcEAa”。

注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

#include

#include

#include

void fun(char*s,int num)

{

}

main()

{

void NONO();

char S[10];

printf(“输入7个字符的字符串:”);

gets(s);

fun(s,7);

prinff(“\n%s”,s);

NONO();

}

void NONO()

/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/

{

char S[10];

FILE*rf,*wf;

int i=0;

rf=fopen(“in.dat”,“r”);

wf=fopen(“out.dat”,“w”);

while(i<10)

{

fgets(s,10,rf);

s[7]=0;

fun(s,7);

fprinff(wf,“%s\n”,S);

i++:

}

felose(rf);

felose(wf);

}

<

本文档预览:3600字符,共5760字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言程序设计机试(程序设计题)模拟试卷5

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号