2008年下半年软件考试因故推迟了,这未尝不是一件好事,对于那些准备还不够充分的考生来说,现在正是查漏补缺的好时机,本站为您整理了考前练习题,希望对您有所帮助,祝您考出好成绩!
1.所谓水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。例如编写程序,求得并输出全部水仙花数的个数。请填空完善程序。
#include <stdio.h>
main()
{
int hun,ten,one; /*百位数、十位数、个位数*/
int num,count=0;
for (num=100;_____(1)_____;num++)
{
hum=________(2)_________;
ten=________(3)_________;
one=________(4)_________;
if (____________________)
{
printf("%5d",num);
count++;
}
}
printf("\n");
printf("No.=%d\n",count);
}
(1) num<1000(或num<=999)
(2) num/100
(3) (num-hun*100)/10
(4) num%10
(5) num==hun*hun*hun+ten*ten*ten+one*one*one
(或hun*100+ten*10+one== hun*hun*hun+ten*ten*ten+one*one*one)
2.请写出执行下述程序的输出结果。
#include <stdio.h>
main()
{
int i=100,j=34,k=-63,m=4;
int u=-15,v=71,w=27;
i+=j;
j-=k;
k*=-m;
m/=3*j-1;
u%=v-2*w;
printf("i=%d,j=%d,k=%d,m=%d,u=%d",i,j,k,m,u);
答案:i=134,j=97,k=252,m=0,u=-15
3.阅读下述程序,写出运行结果。
#include <stdio.h>
main()
{
int a,y;
a=10;
y=0;
do
{
a+=2;
y+=a;
printf("a=%d,y=%d\n",a,y);
if (y>20)
break;
} while (a=14);
printf("a=%d\n",a);
}
答案:
a=12 y=12
a=16 y=28
a=16
a=12 y=12
接着大家要看仔细,if(y>20) break;难点在此,意思是当上面的Y>20时结束这一段,再去判断While的条件,所以这里会接着加,a=12+2=14 y=14+12=26 ok!26>20,我们去判断while的条件吧,a=14,此时a就正好=14,再次循环a=14+2=16 y=12+16=28,然后28>20跳出,a不等于14再次跳出,执行最后一句输出,a=16.
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.net/exam/