C语言练习题1-5及参考答案 下载本文

/*文件名:exci5_7.cpp*/ #include main() { */ */ */ }

(8)编写一个程序,求e的值。

}

d=j-a*1000-b*100-c*10; if (a+c==10 && b*d==12)

printf(\

c=j/10-a*100-b*10;

b=j/100-a*10;

int i,j,a,b,c,d; for (i=32;i<=99;i++) {

j=i*i;

VC++6.0 {

int n,s; s=n=0;

while (s<=1000) { ++n; s=s+n*n;

/*j为要找的数*/ /*a为j的千位数/*b为j的百位数/*c为j的十位数

}

printf(\}

(10)编写一个程序,从键盘输入一个整数,将每位数字转变为英文,如输入9124,则输出:nine,one,two,four。

【解】使用一个for循环获取输入的每个数字,然后使用switch语句进行转变。程序如下: /*文件名:exci5_10.cpp*/ #include main() {

char c; int i;

printf(\输入一个数:\

for (i=0;(c=getchar())!='\\n';i++) { }

printf(\

if (i>0) printf(\switch(c) { }

case '0':printf(\case '1':printf(\case '2':printf(\case '3':printf(\case '4':printf(\case '5':printf(\case '6':printf(\case '7':printf(\case '8':printf(\case '9':printf(\

a=j/1000;

/*d为j的个位数*/

VC++6.0

【解】设

,则

。采

用do-while循环语句,程序如下: /*文件名:exci5_8.cpp*/ #include main() { }

(9)编写一个程序,求满足如下条件的最大的n:

float t,e=0; int n=2; t=1; do {

e+=t; t=t/n++;

VC++6.0 }

} while (t>1.0e-6); printf(\

【解】采用穷举法求解。最大的n从1开始找起,然后递增n,并且每次计算累加平方和s,当s大于1000时,这时的得。程序如下:

/*文件名:exci5_9.cpp*/ #include main()

29

VC++6.0 即为所

(11)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。编写一个程序,采用迭代法问某人共摘了多少只桃子。 【解】经分析有:

第6天的桃子数:

第5天的桃子数:第4天的桃子数:第3天的桃子数:第2天的桃子数:第1天的桃子数:

迭代变量为n,迭代初值为

,迭代表达式为

迭代条件为5≥i≥1。程序如下: /*文件名:exci5_11.cpp*/ #include main() { int i,n=1; for (i=5;i>=1;i--)

n=(n+1)*2; printf(\

}

VC++6.0 30