题目汇编Chen.docx

上传人:b****5 文档编号:8276402 上传时间:2023-01-30 格式:DOCX 页数:16 大小:18.94KB
下载 相关 举报
题目汇编Chen.docx_第1页
第1页 / 共16页
题目汇编Chen.docx_第2页
第2页 / 共16页
题目汇编Chen.docx_第3页
第3页 / 共16页
题目汇编Chen.docx_第4页
第4页 / 共16页
题目汇编Chen.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

题目汇编Chen.docx

《题目汇编Chen.docx》由会员分享,可在线阅读,更多相关《题目汇编Chen.docx(16页珍藏版)》请在冰豆网上搜索。

题目汇编Chen.docx

题目汇编Chen

二、程序填空题

1、下列程序的功能为:

接收键盘上的输入,直到按↙键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填空使程序完整。

并提交提交t1.c文件和t1.exe文件

main()

{

charcx,front=’\0’;

while(

(1)!

=’\n’){

if(cx!

=’’)putchar(cx);

if(cx==’’)

if(

(2))

putchar((3))

front=cx;

}

#include"stdio.h"

main()

{

charcx,front='\0';

printf("012345678901234567890\n");

while((cx=getchar())!

='\n'){

if(cx!

='')putchar(cx);

if(cx=='')

if((cx=getchar())=='')

putchar(cx);

front=cx;

}

}

2.在字符串中删除所有数字字符,请填空使程序完整。

并提交提交t2.c文件和t2.exe文件

 

#include

#include"string.h"

intf(chars[])

{

inti=0;

__

(1)______;

while(s[i]!

='\0')

if(s[i]>='0'&&s[i]<='9')

{

strcpy(s+i,s+i+1);

count=count+1;

}

else

___

(2)____;

returncount;

}

main()

{intm;charstr[80];

gets(str);

__(3)_____;

printf(“删除数字字符后的字符串\n”);

puts(str);

printf(“所删除的数字字符个数:

%d\n",m);

}

#include

#include"string.h"

intf(chars[])

{

inti=0;

intcount=0;

while(s[i]!

='\0')

if(s[i]>='0'&&s[i]<='9')

{

strcpy(s+i,s+i+1);

count=count+1;

}

else

i++;

returncount;

}

main()

{intm;charstr[80];

gets(str);

m=f(str);

printf(“删除数字字符后的字符串\n”);

puts(str);

printf(“所删除的数字字符个数:

%d\n",m);

}

2.以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。

请填空。

并提交提交t2.c文件和t2.exe文件

#include

voidreverse(inta[],intn)

{inti,t;

for(i=0;i<_

(1)___;i++)

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

main()

{intb[10]={10,12,3,8,54,36,7,22,19,100};

inti,s=0;

___

(2)______;

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

printf("%5d",____(3)_);

}

#include

voidreverse(inta[],intn)

{inti,t;

for(i=0;i

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

main()

{intb[10]={10,12,3,8,54,36,7,22,19,100};

inti,s=0;

reverse(b,10);

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

printf("%5d",b[i]);

}

1、下列程序的功能为:

下面的程序是利用插入排序法对输入的N个整数按从小到大排序。

插入排序的基本思想:

将数组元素分为已排序和未排序部分;从第二个元素起,与前面已排好序的元素进行比较(第一次将a[1]与a[0]比较);若当前为i元素,则与前面已排好序的i-1个元素进行比较,若比j元素大,则插在j元素的后面,请填空使程序完整。

并提交提交t1.c文件和t1.exe文件

[代码]

#include

#defineN10

main()

{inti,j,temp,a[N];

for(i=0;i

for(i=1;i

{

temp=;/*保留要插入的元素*/

for(j=i-1;&&j>=0;j--)

a[j+1]=a[j];/*找要插入的位置,同时将大于a[i]的元素往后移*/

j++;

a[j]=;

}

for(i=0;i

}

#include

#defineN10

main()

{inti,j,temp,a[N];

for(i=0;i

for(i=1;i

{

temp=a[i];/*保留要插入的元素*/

for(j=i-1;temp=0;j--)

a[j+1]=a[j];/*找要插入的位置,同时将大于a[i]的元素往后移*/

j++;

a[j]=temp;

}

for(i=0;i

}

三、程序调试题(本大题3小题,每题10分,共30分)

1.程序调试题1(B_3_1.C)

调试要求:

下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括B_3_1.c文件和B_3_1.exe文件)保存。

下列程序的功能说明:

判定一数能否被另一数整除。

代码:

main()

{

intx,y;

printf(“inputx,y:

”);

scanf(“%d,%d”,x,y);

if(x/y)

printf(“NO”);

else

printf(“YES”);

}

main()

{

intx,y;

printf("inputx,y:

");

scanf("%d,%d",&x,&y);

if(x%y)

printf("NO\n");

else

printf("YES\n");

}

2.程序调试题2(B_3_2.C)

调试要求:

请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括B_3_2.c文件和B_3_2.exe文件)保存。

下列程序的功能说明:

统计字符串str中字符‘#’与数字字符的个数。

代码:

#include

main()

{

charstr[81];

intn1,n2;

gets(str);

for(i=0;str[i]!

=‘\0’;i++){

if(str[i]=‘#’)

n1++;

if(str[i]>=0&&str[i]<=9)

n2++;}

printf(“#=%d,digit=%d\n”,n1,n2);

}

#include

main()

{

charstr[81];

inti,n1=0,n2=0;

gets(str);

for(i=0;str[i]!

='\0';i++)

{

if(str[i]=='#')

n1++;

if(str[i]>='0'&&str[i]<='9')

n2++;}

printf("#=%d,digit=%d\n",n1,n2);

}

3、调试要求:

下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括B_3_3.c文件和B_3_3.exe文件)保存。

功能说明:

十进制数转换成十六进制数

#include

intDtoH(intn,charstr[])

{

inti,d;

for(i=0;n<=16;i++)

{

d=n%16;

if(d<=10)

str[i]='0'+d;

else

str[i]=’A’+d-10;

n/=16;

}

returni-1;

}

main()

{inti,k,n;charstr[80];

scanf("%d",&n);

k=DtoH(n,str);

for(i=k;i>=0;i--)

printf("%c",str[i]);printf("\n");

getch();

}

#include

intDtoH(intn,charstr[])

{

inti,d;

for(i=0;n!

=0;i++)

{

d=n%16;

if(d<10)

str[i]='0'+d;

else

str[i]='A'+d-10;

n/=16;

}

returni-1;

}

main()

{inti,k,n;charstr[80];

scanf("%d",&n);

k=DtoH(n,str);

for(i=k-1;i>=0;i--)

printf("%c",str[i]);printf("\n");

getch();

}

2.程序调试题2(B_3_2.C)

调试要求:

请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括B_3_2.c文件和B_3_2.exe文件)保存。

下列程序的功能说明:

下列程序的功能为:

查找100至999之间所有符合以下条件的数:

是另一数的平方;至少有两位数是相同的。

如数144,它是12的平方,其中有两位4。

代码:

main()

{

intn,m,a,b,c;

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

{

m=n*n;

a=m/10;

b=m/10%10;

c=m/100%10;

if(a==b&&b==c&&a==c)

printf("%d",n);

}

}

#include"stdio.h"

main()

{

intn,m,a,b,c;

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

{

m=n*n;

a=m%10;

b=m/10%10;

c=m/100%10;

if(a==b||b==c||a==c)

printf("%d",m);

}

}

调试要求:

请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括B_3_2.c文件和B_3_2.exe文件)保存。

下列程序的功能说明:

]以下程序输入整数n和n个整数,将n个整数向前移动一个位置,第一个数字移到最后,并输出移动位置后的结果。

该程序有错误,请改正。

/*如输入:

12345*/

/*则输出:

23451*/

代码:

#include

voidmain()

{

inta[100],n,i,t;

printf(“”)

scanf("%d",&n);

for(i=0;i

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

t=a[0];

for(i=0;i

a[i]=a[i-1];

a[n-1]=t;

for(i=0;i

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

}

#include

voidmain()

{inta[100],n,i,t;

printf("Pleaseinputn:

\n");

scanf("%d",&n);

printf("Pleaseinputdata:

\n");

for(i=0;i

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

t=a[0];

for(i=0;i

a[i]=a[i+1];

a[n-1]=t;

for(i=0;i

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

}

2.程序调试题2(B_3_2.C)

调试要求:

请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括B_3_2.c文件和B_3_2.exe文件)保存。

下列程序的功能说明:

程序的功能是判断一个输入的正整数是否是回文数,如:

123321是回文数,12321也是回文数。

代码:

main()

{

inta[20],i,j;longd;

printf("\n");

scanf("%ld",&d);

for(i=0;d;d/=10,i++)

a[i]=d/10;

for(j=0;j

if(a[j]!

=a[i-1-j])

continue;

if(j>=i/2)

printf("is回文\n");

}_

 

#include

voidmain()

{

inta[20],i,j;longd;

printf("\n");

scanf("%ld",&d);

for(i=0;d;d/=10,i++)

a[i]=d%10;

for(j=0;j

if(a[j]!

=a[i-1-j])

break;

if(j>=i/2)

printf("is回文\n");

}

3、调试要求:

下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括B_3_3.c文件和B_3_3.exe文件)保存。

功能说明:

以下程序的功能:

利用公式求ex的值。

ex的数学公式是ex≈1+x+x2/2!

+x3/3!

+…+xn/n!

,设n=15

#include

doubleex(floatx)

{doubles=1.0,t=1.0;

inti=1;

while(i<=15)

{

t=x/i;

s=s+t;

i++;}

returns;

}

main()

{

floatx;

doublee;

scanf("%f",&x);

e=ex(x,e);

printf("e(%f)=%f\n",e);

}

3.

请提交B_3_3.c文件和B_3_3.exe文件

#include

doubleex(floatx)

{doubles=1.0,t=1.0;

inti=1;

while(i<=15)

{t=t*x/i;

s=s+t;

i++;}

returns;}

main()

{floatx;

doublee;

scanf("%f",&x);

e=ex(x);

printf("e(%f)=%f\n",x,e);

}

四、编程题(本大题2小题,每题20分,共40分)

1.编程题1(B_4_1.C)

编程要求:

请按题中的功能要求,编写程序并能得到正确的结果。

将结果(包括B_4_1.C文件和B_4_1.exe文件)。

功能说明:

编写一个程序,输入一行字符,统计其中的英文字母个数(统计字母频数)

如输入:

abc12345Abc

则输出:

6

#include

main()

{inti,len,s=0;

chara[20];

clrscr();

gets(a);

puts(a);

len=strlen(a);

for(i=0;i<=len-1;i++)

{if(a[i]>='A'&&a[i]<='Z'||a[i]>='a'&&a[i]<='z')

s=s+1;

}

printf("s=%d",s);

}

2.编程题2(B_4_2.C)

编程要求:

请按题中的功能要求,编写程序并能得到正确的结果。

将结果(包括B_4_2.C文件和B_4_2.exe文件)。

百元买百鸡问题。

假定小鸡每只5角,公鸡每只2元,母鸡每只3元。

现有100元钱要买100只鸡,列出所有可能的购鸡方案。

voidmain()

{

intx,y,z;

for(x=0;x<=33;x++)

for(y=0;y<=50;y++)

{z=100-x-y;

if((3*x+2*y+0.5*z)==100)

printf("%9d,%9d,%9d\n",x,y,z);

}

}

1.编程题1(B_4_1.C)

编程要求:

请按题中的功能要求,编写程序并能得到正确的结果。

将结果(包括B_4_1.C文件和B_4_1.exe文件)。

功能说明:

最多从键盘输入80个字符,遇到回车键就结束,将输入的字符串按奇偶位置拆分,奇数位字符在前偶数位字符在后重新组成新的字符串输出,例如输入:

ab12cd3456fg,则经过程序处理后输出:

a1c35fb2d46g。

#include"stdio.h"

#include"string.h"

main()

{

chars[100],d[100],c[100];

inti,j,k;

i=j=k=0;

while((s[i]=getchar())!

='\n')

{if((i+1)%2)d[j++]=s[i++];

elsec[k++]=s[i++];

}

d[j]=c[k]='\0';

strcat(d,c);

strcpy(s,d);

puts(s);

}

2、输入1个整数,则输出小于该整数的所有素数。

如输:

9则输出1,2,3,5,7

#include

main()

{

intxi,j,temp;

scanf("%d",&x);

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

{temp=0;

for(j=2;j<=i-1;j++)

{

if(i%j==0)

{

temp=1;

break;

}

}

if(temp==0)printf("theprimeis%d",i);

}

}

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

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1