复习题程序结构.docx
《复习题程序结构.docx》由会员分享,可在线阅读,更多相关《复习题程序结构.docx(15页珍藏版)》请在冰点文库上搜索。
![复习题程序结构.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/149453c5-ec7c-4d1a-a023-44fa9c253ee3/149453c5-ec7c-4d1a-a023-44fa9c253ee31.gif)
复习题程序结构
阅读程序:
5.若从键盘输入58,则以下程序输出的结果是_______________。
main(>
{inta。
scanf("%d",&a>。
if(a>50>printf("%d",a>。
if(a>40>printf("%d",a>。
if(a>30>printf("%d",a>。
}
6.有以下程序,执行后输出结果是_______________。
main(>
{intn=0,m=1,x=2。
if(!
n>x-=1。
if(m>x-=2。
if(x>x-=3。
printf("%d\n",x>。
}
7.有以下程序,程序运行时输入:
12<回车>,执行后输出结果是_______________。
#include
main(>
{charch1,ch2。
intn1,n2。
ch1=getchar(>。
ch2=getchar(>。
n1=ch1-‘0’。
n2=n1*10+(ch2-‘0’>。
printf("%d\n",n2>。
}
8.下列程序段的输出结果是_______________。
intn='c'。
switch(n++>
{default:
printf("error">。
break。
case'a':
case'A':
case'b':
case'B':
printf("good">。
break。
b5E2RGbCAP
case'c':
case'C':
printf("pass">。
case'd':
case'D':
printf("warn">。
}
9.若有以下程序,执行后输出结果是_______________。
main(>
{intp,a=5。
if(p=a!
=0>
printf("%d\n",p>。
else
printf("%d\n",p+2>。
}
10.若有以下程序,执行后输出结果为_______________。
main(>
{inta=4,b=3,c=5,t=0。
if(at=a。
a=b。
b=t。
if(at=a。
a=c。
c=t。
printf("%d%d%d\n",a,b,c>。
}
11.设有以下程序:
程序运行后,如果从键盘上输入1298;则输出结果为_______________。
p1EanqFDPw
main(>
{intn1,n2。
scanf("%d",&n2>。
while(n2!
=0>
{n1=n2%10。
n2=n2/10。
printf("%d",n1>。
}
}
12.以下程序的输出结果是_______________。
main(>
{ints,i。
for(s=0,i=1。
i<3。
i++,s+=i>
printf("%d\n",s>。
}
13.以下程序运行后的输出结果是_______________。
main(>
{inti,m=0,n=0,k=0。
for(i=9。
i<=11。
i++>
switch(i/10>
{case0:
m++。
n++。
break。
case10:
n++。
break。
default:
k++。
n++。
}
printf("%d%d%d\n",m,n,k>。
}
编程题:
1.输入三个整数x,y,z,请把这三个数由小到大输出。
main(>
{
intx,y,z,t。
scanf("%d%d%d",&x,&y,&z>。
if(x>y>
{t=x。
x=y。
y=t。
}
if(x>z>
{t=z。
z=x。
x=t。
}
if(y>z>
{t=y。
y=z。
z=t。
}
printf("smalltobig:
%d%d%d\n",x,y,z>。
}
2.根据输入的百分制成绩90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
DXDiTa9E3d
main<)
{intscore;
chargrade;
printf<“\nPleaseinputascore<0~100):
”);
scanf<“%d”,&score);
if=90)
grade=’A’;
elseif=80)
grade=’B’;
elseif=70)
grade=’C’;
elseif=60)
grade=’D’;
else
grade=’E’;
printf<“Thegradeis%c.\n”,grade);}
3.编写一个程序根据用户输入的三角形的三边长判定是何种三角形。
<分为一般,等边,直角,等腰及不能构成三角形,输出以上信息,能构成三角形的打印出面积)RTCrpUDGiT
#include
main(>
{
floata,b,c。
floats,area。
printf("a,b,c=">。
scanf("%f,%f,%f",&a,&b,&c>。
if(a+b>c&&b+c>a&&a+c>b>
{
s=(a+b+c>/2。
area=sqrt(s*(s-a>*(s-b>*(s-c>>。
printf("area=%f\n",area>。
if(a==b&&b==c>
printf("等边三角形\n">。
elseif(a==b||a==c||b==c>
printf("等腰三角形\n">。
elseif((a*a+b*b==c*c>||(a*a+c*c==b*b>||(b*b+c*c==a*a>>5PCzVD7HxA
printf("直角三角形\n">。
else
printf("一般三角形\n">。
}
else
printf("不能构成三角形\n">。
}
4.编写一个程序求所有的“水仙花数”<是指一个三位数,其各位数字的立方和恰好等于该数本身)。
如:
153=1*1*1+3*3*3+5*5*5,所以153是“水仙花数”。
jLBHrnAILg
main(>
{inti,a,b,c。
for(i=100。
i<=999。
i++>
{a=i/100。
b=i/10%10。
c=I%10。
if(i==a*a*a+b*b*b+c*c*c>
printf("%d\n",i>。
}}
5.一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如6=1+2+3.编程找出1000以内的所有完数。
xHAQX74J0X
main(>
{intm,s,i。
for(m=2。
m<1000。
m++>
{s=0。
for(i=1。
ii++>if((m%I>==0>s=s+i。
if(s==m>{printf(“%d是一个“完数”,它的因子是”,m>。
for(i=1。
ii++>if(m%i==0>printf(“%d”,i>。
printf(“\n”>。
}}}
6.对候选人得票的统计程序,设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票的结果。
<三位候选人分别为“liping”,”zhangtao”,”wangjun”).LDAYtRyKfE
#include"string.h"
main(>
{
structperson
{charname[10]。
intcount。
}。
structpersoncandi[3]={"li",0,"zhang",0,"fun",0}。
inti,j。
charname[10]。
printf("输入选票:
\n">。
for(i=1。
i<=10。
i++>
{scanf("%s",name>。
for(j=0。
j<3。
j++>
if(strcmp(name,candi[j].name>==0>
candi[j].count++。
}
printf("\n">。
for(i=0。
i<3。
i++>
printf("%5s:
%d\n",candi[i].name,candi[i].count>。
}
7.N个数进行从小到大排序main(>
{
inta[100],i,j,p,n,t。
printf("输入所需要排序的数据个数:
\n">。
scanf("%d",&n>。
printf("输入所要排序的各个数据:
\n">。
for(i=1。
i<=n。
i++>
scanf("%d",&a[i]>。
for(i=1。
i<=n-1。
i++>
for(j=1。
j<=n-i。
j++>
if(a[j]>a[j+1]>
{t=a[j]。
a[j]=a[j+1]。
a[j+1]=t。
}
for(i=1。
i<=n。
i++>
printf("%d",a[i]>。
}.
8.求100至200间的全部素数,并把素数按5个一行输出。
#include
main(>
{
intm,i,k,n=0。
for(m=101。
m<=200。
m=m+2>
{
k=sqrt(m>。
for(i=2。
i<=k。
i++>
if(m%i==0>break。
if(i>=k+1>
{printf(“%d”,m>。
n=n+1。
}
if(n%5==0>printf(“\n”>。
}
printf(“\n”>。
}
11.求满足下列条件的四位数:
该数是完全平方数;第一、三位数字之和为10,第二、四位数字之积为12。
main(>
{inti,j,a,b,c,d。
for(i=32。
i<=99。
i++>
{j=i*i。
a=j/1000。
b=j/100-a*10。
c=j/10%10。
d=j%10。
if(a+c==10&&b*d==12>printf(“%d”,j>。
}
13.我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
Zzz6ZB2Ltk
main(>
{
intx,y。
for(x=0。
x<=20。
x++>
for(y=0。
y<=33。
y++>
if(5*x+3*y+(100-x-y>/3.0==100>printf(“%5d%5d%5d”,x,y,100-x-y>。
dvzfvkwMI1
}
14.输出9*9口诀。
main(>
{
inti,j。
for(i=1。
i<10。
i++>
{for(j=1。
j<10。
j++>
{
printf("%d*%d=%-3d",i,j,I*j>。
}
printf("\n">。
}
}
15.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问20个月后的兔子总数为多少?
rqyn14ZNXI
main(>
{
longf1,f2。
inti。
f1=f2=1。
for(i=1。
i<=20。
i++>
{printf("%ld%ld",f1,f2>。
if(i%2==0>printf("\n">。
f1=f1+f2。
f2=f1+f2。
}
}
16.猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
EmxvxOtOco
main(>
{
intday,x1,x2。
day=9。
x2=1。
while(day>0>
{x1=(x2+1>*2。
x2=x1。
day--。
}
printf("thetotalis%d\n",x1>。
}
17.有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
SixE2yXPq5
main(>
{
intn,t,number=20。
floata=2,b=1,s=0。
for(n=1。
n<=number。
n++>
{
s=s+a/b。
t=a。
a=a+b。
b=t。
}
printf("sumis%9.6f\n",s>。
}
19从读入的整数数据中,统计大于零的整数个数和小于零的整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数.6ewMyirQFL
#include
main(>
{
intn,i,j。
printf("输入非零的整数(输入零结束程序>">。
i=j=0。
scanf("%d",&n>。
while(n!
=0>
{
if(n>0>
i=I+1。
if(n<0>
j=j+1。
scanf("%d",&n>。
}
printf("i=%4dj=%4d\n",i,j>。
}
20、编写一个程序计算1-100之间是7的倍数的数值之和。
main(>
{inti,sum。
sum=0。
i=1。
While(i<=100>
{if(i%7==0>
sum+=i。
i++。
}
printf(“sum=%d\n”,sum>。
}
21、输入一行字符<以回车键结束),统计其中英文字符,数字字符和空格字符出现的次数。
main(>
{chara。
intb,c,d。
printf(“Enter”>。
scanf(“%c,&a>。
b=c=d=0。
while(a!
=”\n”>
{if(a>=’0’&&a<=’9’>
b++。
if(a>=’A’&&a<=’Z’||a>=’a’&&a<=’z’>
c++。
if(a==’‘>
d++。
scanf(“%c”,&a>。
}
printf(“b=%d,c=%d,d=%d”,b,c,d>。
}
22、编程输入10个浮点型的数,求它们的和,平均值,最大值和最小值。
main(>
{floatarr[10]。
floatmax,min,sum,ave。
inti。
for(i=0。
i<10。
i++>
scanf(“%f”,&arr[i]。
>
sum=0。
max=min=arr[0]。
for(i=0。
i<10。
i++>
{if(arr[i]>max>
max=arr[i]。
if(arr[i]
min=arr[i]。
sum+=arr[i]。
}
ave=sum/10。
printf(“themaxis%f”,max>。
printf(“theminis%f”,min>。
printf(“thesumis%f”,sum>。
printf(“theaveis%f”,ave>。
}
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。