程序阅读及填空(答案)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
switch (a>0) {
case 1: switch (b<0) { case 1: printf(“@ case 2: printf( }
case 0: switch (c==5) {
case 1: prit nf(
case 2: printf( default:printf(
}
default:printf(“&);
}
答案:c = (c>='A I I CV='-32 :)c+82 ;改 为:c = (c>='A'&& c<='Z') ? c+32:c ;
2.下面程序输入两个运算数x,y和一个运算符号
op,然后输出该运算结果的值,例如输入3+5/
得到结果8;请判断下面程序的正误,如果错误 请改正过来。
mai n()
printf(“sunl=3】”,s);
}
答案:n1】float s=0;n2】1/kn3】%f
数组部分:
一、程序判断:
1•下面程序为数组输入数据并输出结果;判断下 面程序的正误,如果错误请改正过来。
mai n()
{ int a[3]={3*0};
int i;
for (i=0; i<4; i++) seanf(“%d,&a[i]);
i++;
}
c[i]= 0';
puts(c);
}
答案:AQM
3•当运行下面程序时,从键盘上输入 写出下面程序的运行结果。
mai n()
{ char s[80];
int i=0;
gets(s);
while (s[i]!= O' '{
if (s[i]<='z'&& s[i]>='a')
s[i]='z's+';a'
程序阅读及填空(答案)
—•程序阅读题
1•若运行时输入100/,写出以下程序的运行结 果。
mai n()
{ int a ;
seanf(“%d,&a);
printf(“%S ,(a%2!=0)?”No”:”Yes”}答案:Yes
2•写出以下程序的运行结果。
mai n()
{ int a=2,b=7,c=5;
{ int k=1, n=263 ;
do { k*= n %10 ; n/=10 ; } while (n); printf(“%d ,k);
}
答案:36
5■写出下面程序运行的结果。
mai n()
{ int a=10,y=0 ;
do {
a+=2 ; y+=a ;
if (y>50) break ;
} while (a=14);
i++;
}
puts(s);
}
答案:AzyD
二•程序判断题
1•下面程序将输入的大写字母改写成小写字母 输出,其他字符不变;请判断下面程序的正误, 如果错误请改正过来。
mai n()
{ char c;
c = getchar ();
c = (c>='A'| | c<= -32Zc+32>;c
printf(“%C ,c);
for (i=0; i<4; i++) printf(“%d ,a[i]);
三.程序填空题
1以下程序输出x,y,z三个数中的最小值,请填
(2)空使程序完整。
mai n ()
{ int x=4,y=5,z=8 ;
int u,v;
u = x<y ?【1】;
v = u<z ?【2】;
printf (“%d ,v);
}
答案:【1]x:y【2】u:z
2、下述程序用碾转相除法"计算两个整数m和n的最大公约数。该方法的基本思想是计算m和n相除的余数,如果余数为0则结束,此时的被 除数就是最大公约数。否则,将除数作为新的被 除数,余数作为新的除数,继续计算m和n相 除的余数,判断是否为0,等等,请填(3)空 使程序完整。
mai n()
{ int m, n,w;
seanf(“%d,%d,&m,&n);
while (n) {
w=[1];
m=[2];
n=[3];
}
printf(“%d ,m);
}
答案:【1】w=m%n;【2】m= n;【3】n=w;
3、下面程序的功能是输出1至100之间每位数 的乘积大于每位数的和的数,请填(3)空使程 序完整。
printf(“a=%d y=%T,a,y);
}
答案:a=16 y=60
数组部分:
1■写出下面程序的运行结果
mai n()
{ int a[6 ][ 6],i,j ;
for (i=1; i<6
for (j=1
a[i][j]=(i/j)*(j/i);
for (i=1;i<6 ; i++) {
for (j=1 ; j<6 ; j++)
printf(“%2d ,a[i][j]);
printf( n”);
}
}
2•写出下面程序的运行结果。
mai n()
{ int i=0;
char a[ ]=”abm”, b[]=
while (a[i]!=0' '&& b[i]!= 0
if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ;
4、下面程序按公式(课本169页习题6.5)求 和并输出结果,请填(3)空使程序完整。
mai n()
{
【1】;
int k ;
for (k=1 ; k<=100 ; k++)
s+=k ;
for (k=1 ; k<=50 ; k++)
s+=k*k ;
for (k=1 ; k<=10 ; k++)
s+=【2】;
{
float x,y,r;
char op ;
seanf(“%f%c%”,&x,&op,&y);
switch (op) {
case‘+':r=x+y ;
case-‘" :r=xy ;
case*yr=x
case‘/'/y r;=x
}
printf(“%f”,r);
}
答案:每个Case分之后面加Break;
}
printf( n”);
}
答案:*&
3.写出下面程序运行的结果。
mai n()
{ int i,b,k=O ;
for (i=1; i<=5 ; i++) {
b=i%2;
while (b--==0) k++ ;
}
printf(“%d,%d ,k,b);
}
答案:2 0
4.写出下面程序运行的结果。
mai n()
mai n()
{ int n ,k=1,s=0,m ;
for (n=1 ; n<=100 ; n++) {
k=1 ; s=0 ;
【1】;
while (【2】){
k*=m%10;
s+=m%10;
【3】;
}
if (k>s) printf(“%dcT,n);
}
}Hale Waihona Puke Baidu
答案:【1]m=n;【2】m!=0【3】m=m/10;
相关文档
最新文档