编程语言基础——C语言(第四版)陈琳课后题答案 联系客服

发布时间 : 星期一 文章编程语言基础——C语言(第四版)陈琳课后题答案更新完毕开始阅读b78d5aa830126edb6f1aff00bed5b9f3f80f724e

第三章 五、编程

1、从键盘上输入一个整数,判断并输出它是奇数还是偶数。

2、从键盘上输入一个浮点数,输出它的绝对值。

3、从键盘上输入a、b、c三个整数,输出其中的最小数。

4、从键盘上输入a、b、c三个数,将它们按从小到大的顺序输出。 #include main() { int a,b,c,t; scanf(\ if(a>b) t=a,a=b,b=t; if(b>c) t=b,b=c,c=t; if(a>b) t=a,a=b,b=t; printf(\

getch(); }

5、由键盘输入任意三个数,计算以这三个数为边长的三角形周长。 #include main() {

float a,b,c; int bool;

scanf(\ bool=a+b>c&&a+c>b&&b+c>a; if(bool)

printf(\

else printf(\不构成三角形\ getch(); }

6、写一个程序,从键盘输出x,y值,判断点(x,y)是否在图3-21的斜线区域内。若在则输出TURE,否则输出FALSE。 7、输入一个0~6的整数,,输出星期几。 8、输入图书的定价和数量,计算购书金额并输出。其中图书销售策略为:正常情况下按九折出售,超过10本按八五折出售,超过100本按八折出售。 9、

10、

第四章 四、编程题

1、输入10个数,输出其中的正数(并画流程图)。

#include main() {

int num,i;

for(i=1;i<=10;i++)

{ scanf(\

if(num>0) printf(\ }

getch(); }

2、已知华氏温度F与摄氏温度C的关系是:C=5/9*(F-32),编写程序,计算华氏温度F为-10,0,10,20,……290度时摄氏温度C的值。

#include main() {

int f; float c;

for(f=-10;f<=290;f=f+10) { c=5.0/9*(f-32);

printf(\ }

getch(); }

3、一个数列是:3/5,5/7,7/9,9/11,…,求这个数列前20项的和。 #include main() {

int i; float s=0;

for(i=3;i<=41;i=i+2) s=s+i*1.0/(i+2); printf(\ getch(); }

4、输入一行字符,输出其中字母的个数。

#include main() {

int n=0; char ch;

ch=getchar(); while(ch!='\\n') {

if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) n++;

ch=getchar(); }

printf(\ getch(); }

5、编程程序,对输入的一行字符分别统计其中英文字母、数字和其他字符的个数。 #include main() {

int a=0,b=0,c=0; char ch;

while((ch=getchar())!='\\n') {

if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) a++;

else if(ch>='0'&&ch<='9') b++; else c++; }

printf(\ getch(); }

6、输入一个整数,将其逆序输出。 #include main() {

int num,b;

scanf(\ while(num) { b=num; printf(\ num=num/10; }

getch();

}

7、编程程序,从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出可能的所有方案。 #include main() {

int x,y,z,cnt=0; for(x=1;x<=3;x++) for(z=1;z<=6;z++) { y=8-x-z;

if(y>0&&y<=5) cnt++; else continue;

printf(\ }

printf(\ getch(); }

8、一个人倒霉,不小心打碎了一位妇女的一篮子鸡蛋。为了赔偿便询问篮子里有多少个鸡蛋。那妇女说,她也不清楚,只记得每次拿两个则剩一个,每次拿三个则剩两个,每次拿五个则剩四个,若每个鸡蛋1元,请你帮忙编程,计算最少应赔多少钱? 方法1:

#include main() {

int x;

for(x=9;x>0;x=x+2) { if(x%3==2&&x%5==4) { printf(\ break; } } getch(); }

方法2:

#include main() {

int x=9; while(x>0)

{ if(x%3==2&&x%5==4)

{ printf(\ break; } x=x+2; }

getch(); }

9、有1、2、3、4共4个数字,能组成多少个互不相同且无重复数字的三位数?要求输出所有可能的三位数。 #include main() {

int i,j,k,cnt=0; for(i=1;i<=4;i++) for(j=1;j<=4;j++) for(k=1;k<=4;k++) {if(i!=j&&j!=k&&k!=i) { cnt++;

printf(\ if(cnt%5==0)printf(\ } }

printf(\}

10、编写程序,求出100~200范围内所有回文数的和。

#include main() { int i,s=0;

for(i=101;i<200;i=i+10) s=s+i;

printf(\}

11、一个球从100m的高度自由落下,每次落地后返回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米? #include main() {

float h=100,s=0; int i;

for(i=1;i<=10;i++) { s=s+h+h/2.0; h=h/2.0; } printf(\ getch(); }

12、孙悟空在大闹蟠桃园的时候,第一天吃掉了所有桃子总数的一半多一个,第二天又将前一天剩下的桃子吃掉了一半多一个,以后每天吃掉前一天剩下的一半多一个,到第N天时准备吃的时候只剩下一个桃子。问第一天原来有多少个桃子。其中N从键盘输入。

#include main()

{ int i,n,s=1; scanf(\ for(i=n;i>=1;i--) s=2*s+2; printf(\ getch(); }

13、输出1!+2!+3! +…+20!的值。 #include main() { int i;

float s=1;

for(i=2;i<=20;i++) s=s+s*i;

printf(\ getch(); }

14、输入一个数字a和一个数字n,s=a+aa+aaa+aa…a,最后一项为n个a。计算并输出s的值。 #include main() { int a,n,i;

float sum=0,sun=0; scanf(\ for(i=1;i<=n;i++) { sum=a+sum*10; sun=sun+sum; }

printf(\ getch(); }

15、用下面的公式求π的近似值,直到最后一项的绝对值小于0.0001为止:

?111?1????4357

#include main()

{ int sign=1,i; float s=0; for(i=1; ;i+=2) { s=s+1.0/(i*sign); sign=-sign;

if(1.0/i<0.0001) break; } printf(\ getch(); }