C语言新题与参考答案非选择部分打印版.docx

上传人:b****3 文档编号:10400135 上传时间:2023-05-25 格式:DOCX 页数:54 大小:58.37KB
下载 相关 举报
C语言新题与参考答案非选择部分打印版.docx_第1页
第1页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第2页
第2页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第3页
第3页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第4页
第4页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第5页
第5页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第6页
第6页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第7页
第7页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第8页
第8页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第9页
第9页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第10页
第10页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第11页
第11页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第12页
第12页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第13页
第13页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第14页
第14页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第15页
第15页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第16页
第16页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第17页
第17页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第18页
第18页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第19页
第19页 / 共54页
C语言新题与参考答案非选择部分打印版.docx_第20页
第20页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言新题与参考答案非选择部分打印版.docx

《C语言新题与参考答案非选择部分打印版.docx》由会员分享,可在线阅读,更多相关《C语言新题与参考答案非选择部分打印版.docx(54页珍藏版)》请在冰点文库上搜索。

C语言新题与参考答案非选择部分打印版.docx

C语言新题与参考答案非选择部分打印版

一、填空题

1、将程序Ccon291.C填写完整,该程序求出所有满足形如MN+NM=99的一位整数M和N。

如:

当M=1,N=8时,满足18+81=99

注:

(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

voidmain()

{intm,n,k;

for(m=1;m<10;m++)

for(n=1;/**//**/;n++)

{k=/**//**/;

if(k==99)

printf("M=%dN=%d\n",m,n);

}

getch();

}

参考答案:

#include

voidmain()

{intm,n,k;

for(m=1;m<10;m++)

for(n=1;n<10;n++)

{k=10*m+n+10*n+m;

if(k==99)

printf("M=%dN=%d\n",m,n);

}

getch();

}

2、补充程序Ccon292.C,分别统计输入整数中小于零、大于零和最低位为3的个数。

输入零时输出统计结果。

注:

(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

voidmain()

{

intx,na,nb,nc;

na=nb=/**//**/;

printf("Pleaseinputintegernumber,endwith0:

\n");

scanf("%d",&x);

while(x)

{

if(x<0)

/**//**/;

else

++nb;

if(abs(x%/**//**/)==3)

++nc;

printf("Pleaseinputintegernumber,endwith0:

\n");

scanf("%d",&x);

}

printf("na=%dnb=%dnc=%d\n",na,nb,nc);

getch();

}

参考答案:

#include

voidmain()

{

intx,na,nb,nc;

na=nb=nc=0;

printf("Pleaseinputintegernumber,endwith0:

\n");

scanf("%d",&x);

while(x)

{

if(x<0)

++na;

else

++nb;

if(abs(x%10)==3)

++nc;

printf("Pleaseinputintegernumber,endwith0:

\n");

scanf("%d",&x);

}

printf("na=%dnb=%dnc=%d\n",na,nb,nc);

getch();

}

3、将程序Ccon301.C填写完整,实现从键盘按行输入一个5行5列的二维整型数组表示的5X5阶矩阵,并输出最后一列元素的平均值。

注:

(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

#include

voidmain()

{inti,j;

inta[5][5],sum;

/**//**/;

printf("Pleaseinput25numbers:

\n");

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

for(j=0;j<5;j++)

{scanf("%d",&a[i][j]);

if(/**//**/)

sum+=a[i][j];

}

printf("%.5f\n",/**//**/);

getch();

}

参考答案:

#include

#include

voidmain()

{inti,j;

inta[5][5],sum;

floatnum=0;

printf("Pleaseinput25numbers:

\n");

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

for(j=0;j<5;j++)

{scanf("%d",&a[i][j]);

if(j==4)

sum+=a[i][j];

}

printf("%.5f\n",num=sum/5);

getch();

}

4、补充程序Ccon302.C,利用冒泡法对数组a中的数据按从小到大顺序排列。

注:

(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

#defineN10

voidmain()

{

inta[N]={21,56,-9,0,3,17,18,5,-23,11};

inti,j,/**//**/;

for(i=N-1;i>=1;i--)

{for(j=0;j<=/**//**/;j++)

{if(/**//**/)

{temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

printf("Sortednumbers:

\n");

for(i=0;i

printf("%4d",a[i]);

printf("\n");

getch();

}

参考答案:

#include

#defineN10

voidmain()

{

inta[N]={21,56,-9,0,3,17,18,5,-23,11};

inti,j,temp;

for(i=N-1;i>=1;i--)

{for(j=0;j<=i;j++)

{if(a[j+1]

{temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

printf("Sortednumbers:

\n");

for(i=0;i

printf("%4d",a[i]);

printf("\n");

getch();

}

5、将程序Ccon311.C填写完整,查找存储在结构体数组中5位学生成绩最高者的姓名和成绩。

注:

(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

voidmain()

{

structstudent

{

charname[10];

floatscore;

};

structstudentstu[5]={"Mary",76.1,"John",87.3,"Tom",81,"susa",87.8,"wilu",79};

inti=0,k=0;

/**//**/;

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

if(stu[i].score>max)

{max=/**//**/;

/**//**/;

}

printf("\nname:

%s,score:

%.2f",stu[k].name,stu[k].score);

getch();

}

参考答案:

#include

voidmain()

{

structstudent

{

charname[10];

floatscore;

};

structstudentstu[5]={"Mary",76.1,"John",87.3,"Tom",81,"susa",87.8,"wilu",79};

inti=0,k=0;

floatmax=0;

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

if(stu[i].score>max)

{max=stu[i].score;

k=i;

}

printf("\nname:

%s,score:

%.2f",stu[k].name,stu[k].score);

getch();

}

6、补充程序Ccon312.C,其中函数find(inta[],intx)的功能是在一组无序且不重复的数据中查找x,若有则返回x在数组中的下标,否则返回-1。

注:

(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

/**//**/N10

intfind(inta[],intx)

{

inti;

for(/**//**/;i

{if(a[i]==x)

return(i);

}

return(/**//**/);

}

voidmain()

{

inta[N]={21,56,-9,0,3,17,18,5,-23,11};

intf,f_at;

printf("Inputanumbertobesearched:

");

scanf("%d",&f);

f_at=find(a,f);

if(f_at>=0)

printf("%disfound,it'sat%d\n",f,f_at);

else

printf("Notexist.\n");

getch();

}

参考答案:

#include

#defineN10

intfind(inta[],intx)

{

inti;

for(i=0;i

{if(a[i]==x)

return(i);

}

return(-1);

}

voidmain()

{

inta[N]={21,56,-9,0,3,17,18,5,-23,11};

intf,f_at;

printf("Inputanumbertobesearched:

");

scanf("%d",&f);

f_at=find(a,f);

if(f_at>=0)

printf("%disfound,it'sat%d\n",f,f_at);

else

printf("Notexist.\n");

getch();

}

7、将程序Ccon321.C填写完整,实现从键盘输入9个整数,求出第8个数与第9个数的平均值,并输出小于该平均值的所有数。

注:

(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

voidmain()

{

inti,s[9];

floataver;

printf("Pleaseinputsampler:

\n");

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

scanf("%d",&s[i]);

aver=((float)/**//**/)/2;

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

if(s[i]

printf("%d\n",s[i]);

getch();

}

参考答案:

#include

voidmain()

{

inti,s[9];

floataver;

printf("Pleaseinputsampler:

\n");

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

scanf("%d",&s[i]);

aver=((float)(s[7]+s[8]))/2;

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

if(s[i]

printf("%d\n",s[i]);

getch();

}

8、补充程序Ccon322.C,实现删除输入字符串中所有的’b’字母

如:

输入:

akcberbbnv输出:

akcernv

注:

(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

/**//**/

voidmain()

{

charstr[100];

int/**//**/;

printf("Inputstring:

");

gets(str);

for(i=j=0;str[i]!

='\0';i++)

{if(str[i]!

='b')

{str[j]=str[i];

/**//**/;

}

}

str[j]='\0';

printf("Nowstringis:

");

puts(str);

getch();

}

参考答案:

#include

voidmain()

{

charstr[100];

inti,j;

printf("Inputstring:

");

gets(str);

for(i=j=0;str[i]!

='\0';i++)

{if(str[i]!

='b')

{str[j]=str[i];

j++;

}

}

str[j]='\0';

printf("Nowstringis:

");

puts(str);

getch();

}

9、程序Ccon331.C,输出用1元、2元和5元的纸币组成10元的所有组合。

注:

(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

voidmain()

{inti,j,k;

intnum=0;

printf("No.1yuan2yuan5yuan\n");

for(k=0;k<=2;k++)

for(j=0;j<=5;j++)

for(i=0;/**//**/;i++)

if(/**//**/)

{num++;

printf("%9d%9d%9d%9d\n",num,i,j,k);

}

getch();

}

参考答案:

#include

voidmain()

{inti,j,k;

intnum=0;

printf("No.1yuan2yuan5yuan\n");

for(k=0;k<=2;k++)

for(j=0;j<=5;j++)

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

if(k*5+j*2+i==10)

{num++;

printf("%9d%9d%9d%9d\n",num,i,j,k);

}

getch();

}

10、补充程序Ccon322.C,编制某公司安排zhang、wang、zhao、li四个人轮流值班的12天值班人员表。

注:

(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

voidmain()

{enumbody{zhang,wang,zhao,li};

/**//**/bodyday[12],j;

inti;

j=zhang;

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

{day[i]=j;

j++;

if(j>li)

j=/**//**/;

}

printf("List:

\n");

for(i=1;i<=12;i++)

{switch(day[i-1])

{casezhang:

printf("Day%2dis%s\n",i,"zhang");

break;

casewang:

printf("Day%2dis%s\n",i,"wang");

break;

case/**//**/:

printf("Day%2dis%s\n",i,"zhao");

break;

caseli:

printf("Day%2dis%s\n",i,"li");

}

}

getch();

}

参考答案

#include

voidmain()

{enumbody{zhang,wang,zhao,li};

bodyday[12],j;

inti;

j=zhang;

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

{day[i]=j;

j++;

if(j>li)

j=zhang;

}

printf("List:

\n");

for(i=1;i<=12;i++)

{switch(day[i-1])

{casezhang:

printf("Day%2dis%s\n",i,"zhang");

break;

casewang:

printf("Day%2dis%s\n",i,"wang");

break;

casezhao:

printf("Day%2dis%s\n",i,"zhao");

break;

caseli:

printf("Day%2dis%s\n",i,"li");

}

}

getch();

}

二、改错题

1、修改程序Cmody291.C中的错误,实现将键盘输入字符串中的‘0’~‘7’转换成比它大2的数字字符,‘8’转换成‘0’,‘9’则转换成‘1’。

如:

输入:

ab56cd89EF34GH43输出:

ab78cd01EF23GH65

注:

(1)修改程序在每对“/**/”之间存在的错误;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

#include

voidmain()

{

chars1[100],s2[100];

inti,s_len;

printf("Pleaseinputstring:

\n");

gets(s1);

s_len=/**/s1/**/;

for(i=0;i

{

if(s1[i]>='0'&&s1[i]<='7')

s2[i]=s1[i]+2;

elseif(s1[i]=='8'/**/&&/**/s1[i]=='9')

s2[i]=s1[i]-8;

else

s2[i]=s1[i];

}

/**/s2[i+1]/**/='\0';

puts(s2);

getch();

}

参考答案:

#include

#include

voidmain()

{

chars1[100],s2[100];

inti,s_len;

printf("Pleaseinputstring:

\n");

gets(s1);

s_len=strlen(s1);

for(i=0;i

{

if(s1[i]>='0'&&s1[i]<='7')

s2[i]=s1[i]+2;

elseif(s1[i]=='8'||s1[i]=='9')

s2[i]=s1[i]-8;

else

s2[i]=s1[i];

}

s2[i]='\0';

puts(s2);

getch();

}

2、修改程序Cmody292.C,其中的函数fun()将字符串表示的八进制数转换成对应的十进制数,并返回转换结果。

如:

输入字符串:

325

输出结果:

213

注:

(1)修改程序在每对“/**/”之间存在的错误;

(2)不得删改程序中的“/**/”注释和其它代码;

(3)源程序在考生文件夹中;务必以原文件名保存程序;

(4)Alt+Tab键,切换考试程序与TurboC;Alt+Enter键,切换TurboC窗口大小。

#include

intfun(/**/charp/**/)

{intx;

/**/x=1;/**/

while(*p)

{x=x*8+*p-'

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2