第5章 循环结构程序设计习题解答

2019-08-26 18:31

第5章 循环结构程序设计习题解答

1.输入n个整数,求这n个数之中的偶数平均值,并输出。 #include void main() {

int n,i,x,k=0,s=0;

printf(\ scanf(\

printf(\ for(i=0;i

scanf(\

if(x%2==0){s+=x;k++;} } s/=k;

printf(\}

2.输入一串字符,直到输入一个星号*为止,统计(输出)其中字母个数和数字字符个数。 #include void main() {

int n=0,m=0; char c;

printf(\ do {

scanf(\ if(c>='0'&&c<='9') n++;

else if(c>='A'&&c<='Z'||c>='a'&&c<='z') m++; }while(c!='*');

printf(\ printf(\}

3.从键盘输入一正整数n,计算该数各位数字之和并输出。例如,输入数是5246,则计算5+2+4+6=17并输出。 #include void main() {

int n,r,m=0,s=0;

printf(\

scanf(\ do {

r=n; s=s+r; n/=10; if(m==0)

printf(\加式中的第1项不带“+” else

printf(\ m++; }while(n>0);

printf(\ }

4.输入一个字符串,将其中的大写字母改为小写字母,小写字母改为大写字母,然后输出。 #include void main() {

char c;

printf(\ do {

scanf(\ if(c>='A'&&c<='Z') c+=32;

else if(c>='a'&&c<='z') c-=32;

printf(\ }while(c!='*'); putchar('\\n'); }

注:可以使用逐位异或运算^,实现大小字母变为小写字母,小写字母变为大写字母: #include void main() {

char c;

printf(\ do {

scanf(\

if(c>='A'&&c<='Z' || c>='a'&&c<='z') c^=0x20; //大、小写转换 printf(\

}while(c!='*'); putchar('\\n'); }

5.设某县2000年工业总产值为200亿元,如果该预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值超过500亿元? #include void main() {

double x=200; int i;

for(i=0;x<=500;i++) x*=(1+0.045);

printf(\}

6.输出1~999中能被3整除,而且至少有一位数字是5的所有数字。 #include void main() {

int i,a1,a2,a3,m,n=0; for(i=1;i<1000;i++) {

a1=i,m=i/10; a2=m,m=m/10; a3=m,m=m/10;

if(i%3==0 && (a1==5 || a2==5 || a3==5)) {

printf(\ n++;

if(n==10) {

putchar('\\n'); n=0; } } }

putchar('\\n'); }

7.求爱因斯坦数学题。有一条长阶,若每步跨2阶,则最后剩1价;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6价,则最后剩5阶;若每步跨7阶,最后正好一阶不剩。求该长阶有多少级台阶。 为了方便编程,设长阶的级数不超过1000级。 #include

void main() {

int i;

for(i=7;i<1000;i++)

if(i%2==1 && i%3==2 && i%5==4 && i%6==5 && i%7==0) printf(\}

8.输入一个3位数,判断是不是一个水仙花数。水仙花数是指3个数的各位数字的立方和等于这个3位数本身。例如,153=1*1*1+5*5*5+3*3*3。 #include void main() {

int i,k,s=0,a,r;

for(i=100;i<1000;i++) {

a=i;

for(k=0;k<3;k++) {

r=a; s=s+r*r*r; a=a/10; }

if(s==i)

printf(\ s=0; } }

9.计算斐波那契分数序列前n项之和(n是某个常数,斐波那契分数列为分析:从已知的各项可以得到一个递推关系: xn?1?1?2358。 ,,,?)

12351 xn#include void main() {

int i,n;

float x=2,s=0;

printf(\ scanf(\ for(i=2;i<=n;i++) {

x=1+1/x; s=s+x; }

printf(\}

10.输入一个正整数,各输出n行的正(倒)三角宝塔图案。 正三角宝塔图: #include void main() {

int i,j,n;

printf(\ scanf(\ for(i=1;i<=n;i++) {

for(j=n-i;j>0;j--)

putchar(' '); //输出空格 for(j=1;j<=i*2-1;j++)

printf(\输出\ putchar('\\n'); //换行 } }

倒三角宝塔图: #include void main() {

int i,j,n;

printf(\ scanf(\ for(i=1;i<=n;i++) {

for(j=i;j>0;j--)

putchar(' '); //输出空格 for(j=1;j<=2*n-2*i+1;j++) printf(\输出\ putchar('\\n'); //换行 } }

11.输出九九表。 #include void main() {


第5章 循环结构程序设计习题解答.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:六年级上英语Unit1基础知识练习(新世纪)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: