发布时间 : 星期一 文章编程语言基础——C语言(第四版)陈琳课后题答案更新完毕开始阅读b78d5aa830126edb6f1aff00bed5b9f3f80f724e
第三章 五、编程
1、从键盘上输入一个整数,判断并输出它是奇数还是偶数。
2、从键盘上输入一个浮点数,输出它的绝对值。
3、从键盘上输入a、b、c三个整数,输出其中的最小数。
4、从键盘上输入a、b、c三个数,将它们按从小到大的顺序输出。 #include
getch(); }
5、由键盘输入任意三个数,计算以这三个数为边长的三角形周长。 #include
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
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
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
int i; float s=0;
for(i=3;i<=41;i=i+2) s=s+i*1.0/(i+2); printf(\ getch(); }
4、输入一行字符,输出其中字母的个数。
#include
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
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
int num,b;
scanf(\ while(num) { b=num; printf(\ num=num/10; }
getch();
}
7、编程程序,从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出可能的所有方案。 #include
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
int x;
for(x=9;x>0;x=x+2) { if(x%3==2&&x%5==4) { printf(\ break; } } getch(); }
方法2:
#include
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
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
for(i=101;i<200;i=i+10) s=s+i;
printf(\}
11、一个球从100m的高度自由落下,每次落地后返回原来高度的一半,再落下,再反弹。求它在第10次落地时,共经过多少米? #include
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
{ int i,n,s=1; scanf(\ for(i=n;i>=1;i--) s=2*s+2; printf(\ getch(); }
13、输出1!+2!+3! +…+20!的值。 #include
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
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
{ 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(); }