C语言题库 填空题部分+部分程序设计.docx

上传人:b****3 文档编号:1448887 上传时间:2022-10-22 格式:DOCX 页数:21 大小:24.82KB
下载 相关 举报
C语言题库 填空题部分+部分程序设计.docx_第1页
第1页 / 共21页
C语言题库 填空题部分+部分程序设计.docx_第2页
第2页 / 共21页
C语言题库 填空题部分+部分程序设计.docx_第3页
第3页 / 共21页
C语言题库 填空题部分+部分程序设计.docx_第4页
第4页 / 共21页
C语言题库 填空题部分+部分程序设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言题库 填空题部分+部分程序设计.docx

《C语言题库 填空题部分+部分程序设计.docx》由会员分享,可在线阅读,更多相关《C语言题库 填空题部分+部分程序设计.docx(21页珍藏版)》请在冰豆网上搜索。

C语言题库 填空题部分+部分程序设计.docx

C语言题库填空题部分+部分程序设计

1.完成程序填空,实现输入两个数字,若两数相等,则直接输出两个数字,若不相等,

则这两个数中的较大者等于这个较大者减去较小者,再作比较,若不相等则重复上述操作,

直到两个数字相等为止。

输出相等的两个数字。

while(a【a!

=b】)

{if(【a>b】)

a=a-b;

if(【b>a】)

b=b-a;}

2."百鸡问题":

鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。

百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

完成程序填空,实现求"百鸡问题"公鸡一只5块钱,母鸡一只三块钱,小鸡三只一块钱,

一百块钱买一百只鸡应该怎么买?

也就是问一百只鸡中公鸡、母鸡、小鸡各多少?

for(x=1;x<=20;【x++】)

for(z=3;z<=99;【z+=3】)

if((【5*x+3*y+z/3==100】)&&(x+y+z==100))

3.完成程序填空,实现输出下图

*

***

*****

*******

*****

***

*

【printf(“*”)】

【printf(“\n”)】

【j<=7+i】

4.完成程序填空,将字符数组a的全部字符复制到字符数组b中(要求不用strcpy函数)。

printf("str1:

【%s】\n",str1);

for(i=0;str1[i]【!

=’\0’】;i++)

str2[i]=【str1[i]】;

5.将a++或++a或a--或--a填入程序填空中,实现如图所示的输出。

(填入其他无效)

【a++】

【a--】

【--a】

6.完成程序填空,实现输入4个整数,要求按由小到大的顺序输出。

{t=a;【a=c】;c=t;}

{t=b;b=c;【c=t】;}

{【t=c】;c=d;d=t;}

7.完成程序填空,输出所有的水仙花数。

水仙花数是一个三位数,

其个、十、百位数字三次方之和为这个数。

例如:

371=3*3*3+7*7*7+1*1*1

for(num=100;【num<=999】;num++)

shi=【num/10%10】

if(【num==bai*bai*bai+shi*shi*shi+ge*ge*ge】)

8.完成程序填空,实现的功能是输出如下形式的方阵:

13141516

9101112

5678

1234

for(j=4;j>=1;j--){

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

{x=(j-1)*4+i;

printf("%4d",x);}}

9.【a=’B’】;

b='O';

c='Y';

putchar(a);

putchar(b);

putchar(c);

putchar(‘\n’);

10.完成程序填空实现输入两个数a、b,判断如果a

按照先a后b的顺序输出即可。

if(【?

】)a

{t=a;a=b;【?

】;}b=t

printf("%5.2f,%5.2f\n",a,【?

】);b

11.完成程序填空实现输入三个数,按代数值由大到小输出。

if(【?

】)a

{t=a;a=b;b=t;}

if(a

{t=a;a=c;【?

】;}c=t

if(b

{t=b;【?

】;c=t;}b=c

printf("%5.2f,%5.2f,%5.2f\n",a,b,c);

12.完成程序填空,实现已知三个数a,b,c,找出最大值放于max中。

if(a>=b)【?

】;max=a

elsemax=b;

if(【?

】)max=c;c>max

printf("max=%d\n"【?

】);,max

13.完成程序填空,实现求s=1+3+5+……+99.

【i=1;】

s=1;

while(【?

】)i<99

{i=i+2;

【s=s+i;】}

14.完成程序填空,用do-while结构实现s=1+3+5+……+99.

【sum=0;】

i=1;

item=2*i-1;

do

{sum=sum+item;

i++;

item=【2*i-1;】}

while(【item<100】);//循环结束后,请考虑item的值是多少?

printf("1+3+5+...99=%ld\n",sum);

15.完成程序填空,实现输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的数。

while((【c=getchar()】)!

='\n'){

if(c>='a'【&&c<=’z’】||c>='A'&&c<='Z')letters++;

elseif(c=='')space++;

elseif(【c>=’0’&&c<=’9’】)digit++;

elseother++;

}

16.一个小球从100米高度自由下落,每次落地后反跳回原来高度的一半,再下落,求它在第十次下落时,共经过多少米,第十次反弹多高?

floatheight【=100】;

sum=sum+height;

while(【i<=10】){

height=【height/2】;

sum+=2*height;

i++;}

17.完成程序填空,实现猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个。

第二天早上有将剩下的挑子吃掉一半,又多吃了一个。

后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃是,只剩下一个挑子了。

求第一天共摘了多少桃子?

{intday【=10】;

intm=0;

intn=1;

while(day>1)

{m=【2*(n+1)】;

【n=m】;

day--;}

18.完成程序填空,实现输出以下图案:

*

***

*****

*******

for(i=1;【i<=4】;i++){

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

printf("");

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

printf(【"*"】);

printf(【”\n”】);}

19.完成程序填空,实现找出1000之内的所有完数,并按如图所示格式输出其因子。

一个数如果恰好等于它的公约数之和,这个数就称为"完数"。

例如:

6=1+2+3。

6就是一个完数。

for(a=2;a<=【1000】;a++){

b=0;

for(i=1;i

f(a%i==0)

b=【b+i】;

if(a==b){

printf("%ditsfactorsare1",a);

for(i=2;i

if(【a%i==0】)

printf(",%d",i);

printf("\n");}

20.完成程序填空,实现求1+1/3+1/5+...之和,直到某一项的值小于10的-6次方时停止累加。

n【=1;】

while(1.0/n【>=1e-6】){

s=s+1.0/n;

【n=n+2;】}

21.完成程序填空,输出如下数阵:

1

121

12321

1234321

123454321

for(i=1;【i<=5】;i++){

for(k=1;【k<=10-i】;k++)

printf("");

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

printf("%d",i-abs(i-j));

printf("\n");}

22.两个乒乓球队进行比赛,各出三人。

甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定比赛名单,有人向队员打听比赛的名单。

a说他不和x比,c说他不和x、z比,请完成程序填空,实现找出三队赛手的名单。

chari,j,k;//i是a的对手,j是b的对手,k是c的对手

for(i='x';i<='z';i++)

for(j='x';j<='z';j++)

{if(【i!

=j】)//a和b不能是同一个对手

【for】(k='x';k<='z';k++)

{if(i!

=k&&j!

=k)//a、b、c不能是同一个对手

{if(i!

='x'&&k!

='x'&&【k!

=’z’】)

printf("a-----%c\nb-----%c\nc-----%c\n",i,j,k);}

}

23.完成程序填空,实现打印下列的图形

123456789

23456789

3456789

456789

56789

6789

789

89

9

for(i=1;【i<=9】;i++)

{for(j=i;j<=9;【j++】)

printf("%2d",【j);】

24.在数组a中,存放着10个整型数据,数据是从下标0开始存放的,完成程序填空,实现顺序输出下标为奇数的各数组元素的值。

inti,a[10]={0,1,2,3,4,5,6,7,8,9【}】};

for(i=1;i<=9;【i=i+2】)

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

printf("\n");

25.完成程序填空,实现用冒泡排序法对从键盘输入的10个整型数据进行由小到大排序。

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

printf("\n");

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

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

if(a[i]>a[i+1])

{t=a[i];

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

【a[i+1]=t;】

printf("thesortednumbers:

\n");

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

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

26.完成程序填空,实现输出所有的水仙花数,所谓水仙花数是一个3位数,其各位数字的立方和等于该数本身。

例如153=13+53+33,故153是一个水仙花数。

for(n=100;【n<1000】;n++)

{a=n/100;

b=n/10-a*10;

c=n%10;

if(【a*a*a+b*b*b+c*c*c==n】)

{m[k]=n;

【k++;】}

}

27.有一个已排好的数组,完成程序填空,实现要求输入一个数后,按原来排序的规律将它插入到数组中。

while(find【==0】&&left<=right)a[i+1]=【a[i]】;for(i=N-1;i>=left;【i--】)

28.在字符数组str1[81]和str2[81]中分别存放着2个字符串,完成程序填空,实现将两个字符串连接起来构成一个新的字符串,并将新生成的字符串存放在字符数组str1[81]中(要求不用strcat函数)。

【gets】(str1);

for(i=0;str1[i]【!

=’\0’】;i++)

for(j=0;str2[j]!

='\0';j++,【i++】)

29.完成程序填空,进行两个字符串str1和str2的比较,若str1>str2,

输出一个正数;若str1=str2,输出0;若str1<str2,输出一个负数,

输出的数是两个字符的Ascii码值的差(要求不用strcmp函数)。

【gets】(str1);

for(i=0;str1[i]【==str2[

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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