基本阅读程序题及答案.docx
《基本阅读程序题及答案.docx》由会员分享,可在线阅读,更多相关《基本阅读程序题及答案.docx(43页珍藏版)》请在冰豆网上搜索。
基本阅读程序题及答案
北京石油化工学院12级复习题
基本输入输出
7.
#include
main()
{inta=1,b=2;
a=a+b;
b=a-b;
a=a-b;
printf(“a=%d,b=%d\n”,a,b);
}
运行结果为:
a=2,b=1
13.
#include
main()
{inta=3,b=4;
intz=a+b;
printf(“z=%d\n”,z);
}
运行结果为:
z=7
17.
#include
main()
{intx,b0,b1,b2;
printf("Pleaseenteranintegerx:
");
scanf("%d",&x);
b2=x/100;
b1=(x-b2*100)/10;
b0=x%10;
printf("bit0=%d,bit1=%d,bit2=%d\n",b0,b1,b2);
}
若输入352,运行结果为:
bit0=2,bit1=5,bit2=3
程序控制结构(顺序,分支,循环)
1.
#include
main()
{inta=1,b=3,c=5;
if(c==a+b)
printf("yes\n");
else
printf("no\n");
}
运行结果为:
no
2.
#include
main()
{inta=12,b=-34,c=56,min=0;
min=a;
if(min>b)
min=b;
if(min>c)
min=c;
printf("min=%d",min);
}
运行结果为:
min=-34
3.
#include
main()
{intx=2,y=-1,z=5;
if(xif(y<0)
z=0;
else
z=z+1;
printf(“%d\n”,z);
}
运行结果为:
5
4.
#include
main()
{inta=10,b=50,c=30;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%db=%dc=%d\n",a,b,c);
}
运行结果为:
a=10b=30c=10
5.
#include
main()
{floata,b,c,t;
a=3;
b=7;
c=1;
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("%5.2f,%5.2f,%5.2f",a,b,c);
}
运行结果为:
1.00,2.00,7.00
6.
#include
main()
{inta=2;
floatnum=3.12,x;
if(num<4)
x=2*num*a;
printf("resultis%f\n",x);
}
运行结果为:
"resultis12.4800
7.
#include
main()
{charc=’A’;
if((‘0’<=c)&&(c<=’9’))
printf(“YES”);
else
printf(“NO”);
}
运行结果为:
NO
8.
#include
main()
{floatc=3.0,d=4.0;
if(c>d)
c=5.0;
else
if(c==d)
c=6.0;
else
c=7.0;
printf(“%.1f\n”,c);
}
运行结果为:
7.0
9.
#include
main()
{inta=0,b=1,c=0,d=20;
if(a)
d=d-10;
else
if(!
b)
if(!
c)
d=15;
elsed=25;
printf("d=%d\n",d);
}
运行结果为:
d=20
10.
#include
main()
{inta=2,b=3,c=1;
if(a>b)
if(a>c)
printf(“%d\n”,a);
else
printf(“%d\n”,c);
printf(“over!
\n”);
}
运行结果为:
over!
11.
#include
main()
{intm;
scanf("%d",&m);
if(m>=0)
{if(m%2==0)
printf("%disapositiveeven\n",m);
else
printf("%disapositiveodd\n",m);
}
else
{if(m%2==0)
printf("%disanegativeeven\n",m);
else
printf("%disanegativeodd\n",m);
}
}
若键入-9,则运行结果为:
-9isanegativeodd
13.
#include
main()
{intx,y,z;
x=20,y=40,z=60;
while(xx+=4,y=y-4;
z/=2;
printf(“%d,%d,%d”,x,y,z);
}
运行结果为:
32,28,30
14.
#include
main()
{intnum=0;
while(num<=2)
{num++;
printf("%d\n",num);}
}
运行结果为:
1
2
3
15.
#include
main()
{intn=9;
while(n>6)
{n--;
printf(“%d,”,n);
}
}
运行结果为:
8,7,6
16.
#include
main()
{intsum=10,n=1;
while(n<3)
{sum=sum-n;
n++;
}
printf(“%d,%d”,n,sum);
}
运行结果为:
3,7
17.
#include
main()
{intnum,c;
scanf("%d",&num);
do
{c=num%10;
printf("%d",c);
}while((num/=10)>0);
printf("\n");
}
从键盘输入23,则运行结果为:
32
18
#include
main()
{ints=0,a=5,n;
scanf("%d",&n);
do
{s+=1;
a=a-2;
}while(a!
=n);
printf("%d,%d\n",s,a);
}
若输入的值1,运行结果为:
2,1
19.
#include
main()
{intn1,n2;
scanf(“%d”,&n2);
while(n2!
=0)
{n1=n2%10;
n2=n2/10;
printf(“%d”,n1);
}
}
若在运行时输入1298,运行结果为:
8921
21.
#include"stdio.h"
main()
{charc;
c=getchar();
while(c!
='?
')
{putchar(c);
c=getchar();
}
}
如果从键盘输入abcde?
fgh(回车)
运行结果为:
abcde
22.
#include
main()
{charc;
while((c=getchar())!
=’$’)
{if(‘A’<=c&&c<=‘Z’)
putchar(c);
elseif(‘a’<=c&&c<=‘z’)
putchar(c-32);
}
}
当输入为ab*AB%cd#CD$时,运行结果为:
ABABCDCD
23.
#include
main()
{inti=0,s=0;
do
{if(i%2)
{i++;
continue;
}
i++;
s+=i;
}while(i<7);
printf("%d\n",s);
}
运行结果为:
16
24.
#include
main()
{intx=1,y=0;
while(x<=10)
{y+=x*x;
if(y>=10)
break;
x++;
}
printf(“%d%d”,y,x);
}
运行结果为:
143
25.
#include
main()
{intx,y=0;
for(x=1;x<=10;x++)
{if(y>=10)
break;
y=y+x;
}
printf(“%d%d”,y,x);
}
运行结果为:
105
26.
#include
main()
{charch;
ch=getchar();
switch(ch)
{case‘A’:
printf(“%c”,’A’);
case‘B’:
printf(“%c”,’B’);break;
default:
printf(“%s\n”,”other”);
}
}
当从键盘输入字母A时,运行结果为:
AB
27.
#include
main()
{inta=1,b=0;
scanf(“%d”,&a);
switch(a)
{case1:
b=1;break;
case2:
b=2;break;
default:
b=10;}
printf("%d",b);
}
若键盘输入5,运行结果为:
10
28.
#include
main()
{intn=0;
while(n<=3)
switch(n)
{case0:
;
case1:
printf(“%d,”,n);
case2:
printf(“%d,”,n);n=n+3;break;
default:
printf(“**”);n=n+1;;
}
}
运行结果为:
0,0,**
29.
#include
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
}
printf(“a=%d,b=%d”,a,b);
}
运行结果为:
a=2,b=1
30.
#include
main()_
{chargrade=’C’;
switch(grade)
{case‘A’:
printf(“90-100\n”);
case‘B’:
printf(“80-90\n”);
case‘C’:
printf(“70-80\n”);
case‘D’:
printf(“60-70\n”);break;
case‘E’:
printf(“<60\n”);
default:
printf(“error!
\n”);
}
}
运行结果为:
70-80
60-70
33.
#include
main()
{intsum=0;i=0;
while(i<=100)
sum=sum+i;
printf(“i=%d\n”,i);
printf(“sum=%d\n”,sum);
}
运行结果为:
死循环,无结果
34.
#include
main()
{inti,sum=0;
i=1;
do
{sum=sum+i;
i++;
}while(i<=10);
printf(“%d”,sum);
}
运行结果为:
55
36.
#include
main()
{inti;
printf("\n");
for(i=0;i<6;i++)
{printf("%d",i);
if(i%2==0)
printf("\n");
}
}
运行结果为:
0
12
34
5
40.
#include
main()
{inti,n,sum=0,counter=0;
printf("Input4Numbers:
\n");
for(i=0;i<4;i++)
{
scanf("%d",&n);
if(n>=0)
{sum+=n;
counter++;
}
}
printf("sum=%d,counter=%d\n",sum,counter);
}
若键入3-57-9
运行结果为:
sum=10,counter=2
41.
#include
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf(%d”,--y);
continue;
}
}
运行结果为:
852
42.
#include
main()
{inti=5;
do{switch(i%2)
{case4:
i--;break;
case6:
i--;continue;
}
i--;
i--;
printf(“i=%d\n”,i);
}while(i>0);
}
运行结果为:
i=3
i=1
i=-1
43.
#include
#defineN4
main()
{inti;
intx1=1,x2=2;
printf("\n");
for(i=1;i<=N;i++)
{printf("%4d%4d",x1,x2);
if(i%2==0)
printf("\n");
x1=x1+x2;
x2=x2+x1;
}
}
运行结果为:
1235
8132134
45
#include
main()
{intx,y;
for(x=30,y=0;x>=10,y<10;x--,y++)
x/=2,y+=2;
printf(“x=%d,y=%d\n”,x,y);
}
运行结果为:
x=0,y=12
46.
#include
#defineN4
main()
{inti,j;
for(i=1;i<=N;i++)
{for(j=1;j
printf("");
printf("*");
printf("\n");
}
}
运行结果为:
*
*
*
*
函数
1.
#include
intSub(inta,intb)
{return(a-b);
}
main()
{intx,y,result=0;
scanf("%d,%d",&x,&y);
result=Sub(x,y);
printf("result=%d\n",result);
}
当从键盘输入:
6,3运行结果为:
result=3
2.
#include
intmin(intx,inty)
{intm;
if(x>y)
m=x;
else
m=y;
return(m);
}
main()
{inta=3,b=5,abmin;
abmin=min(a,b);
printf(“minis%d”,abmin);
}
运行结果为:
minis5
5.
#include
func(intx)
{
x=10;
printf(“%d,”,x);
}
main()
{intx=20;
func(x);
printf(“%d”,x);
}
运行结果为:
10,20
6.
#include
intm=4;
intfunc(intx,inty)
{intm=1;
return(x*y-m);
}
main()
{inta=2,b=3;
printf("%d\n",m);
printf("%d\n",func(a,b)/m);
}
运行结果为:
4
1
7.
#include
intfun(inta,intb)
{if(a>b)
return(a);
else
return(b);
}
main()
{intx=15,y=8,r;
r=fun(x,y);
printf("r=%d\n",r);
}
运行结果为:
r=15
8.
#include
intfac(intn)
{intf=1,i;
for(i=1;i<=n;i++)
f=f*i;
return(f);
}
main()
{intj,s;
scanf(“%d”,&j);
s=fac(j);
printf("%d!
=%d\n",j,s);
}
如果从键盘输入3,运行结果为:
3!
=6
11.
#include
unsignedfun6(unsignednum)
{unsignedk=1;
do
{k*=num%10;
num/=10;
}while(num);
returnk;
}
main()
{unsignedn=26;
printf(“%d\n”,fun6(n));
}
运行结果为:
12
13
#include
intmax(intx,inty);
main()
{inta,b,c
a=7;b=8;
c=max(a,b);
printf("Maxis%d",c);
}
max(intx,inty)
{intz;
z=x>y?
x:
y;
return(z);
}
运行结果为:
Maxis8
数组
1.
#include
main()
{inti,a[10];
for(i=9;i>=0;i--)
a[i]=10-i;
printf(“%d%d%d”,a[2],a[5],a[8]);
}
运行结果为:
852
2.
#include
main()
{inti,a[6];
for(i=0;i<6;i++)
a[i]=i;
for(i=5;i>=0;i--)
printf("%3d",a[i]);
}
运行结果为:
543210
3.
#include
main()
{inti,k,a[10],p[3];
k=5;
for(i=0;i<10;i++)
a[i]=i;
for(i=0;i<3;i++)
p[i]=a[i*(i+1)];
for(i=0;i<3;i++)
k+=p[i]*2;
printf("%d\n",k);
}
运行结果为:
21
4.
#include
intm[3][3]={{1},{2},{3}};
intn[3][3]={1,2,3};
main()
{printf(“%d,”,m[1][0]+n[0][0]);
printf(“%d\n”,m[0][1]+n[1][0]);
}
运行结果为:
3,0
5.
#include
main()
{inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
for(i=1;i<3;i++)
printf("%d",x[i][3-i]);
}
运行结果为:
68
6.
#include
main()
{intn[3][3],i,j;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
{n[i][j]=i+j;
printf(“%d”,n[i][j]);
}
printf(“\n”);
}
}
运行结果为:
112
223
334
8.
#include
main()
{
chardiamond[][5]={{‘_’,’_’,’*’},{‘_‘,’*’,’_’,’*’},
{‘*’,’_’,’_‘,’_‘,’*’},{‘_’,’*’,’_’,’*’},{‘_’,’_’,’*’}};
inti,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf(“%c”,diamond[i][j]);
printf(“\n”);
}
}注:
“_”代表一个空格。
运行结果为:
*
**
**
**
*
9
#include
main()
{inti,f[10];
f[0]=f[1]=1;
for(i=2;i<10;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<10;i++)
{if(i%4==0)
printf(“\n”);
printf(“%d”,f[i]);
}
}
运行结果为:
1123
5