C语言程序设计能力教程(第二版)》课后作业及实训题
参考答案
第1章  进入C语言程序世界
二、
1.  I love China!
printf("we are students.\n")
  2.  6
项目实训题参考答案
1.编写一个C程序,输出以下信息:
* * * * * * * * * * * * * * * * * * * *
            I am a student!
* * * * * * * * * * * * * * * * * * * *
  main()
{ printf("********************\n");
printf("  I am a student!\n  ");
printf("********************\n");
}
2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。
解:
      main()
{
int a,b,c,v;
      a=10;
b=20;
      c=15;
      v=a*b*c;
      printf("v=%d",v);
}
本程序运行结果为:
    v=3000
第2章  编制C程序的基础知识
一 选择题
C B A B A C C
二 操作题
1. 3,2,-8,2
  3.000000,2.500000,-8.000000
2. ABC    DE
      FGH
      why  is  21+35  equal  52
    3.
3    1
4    3
2    3
1    2
4. aa    bb    cc    abc
  A        N
         
项目实训题
1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出
c语言程序设计教材答案#define M 5
main()
{ int n,c;
  n=2; c=M*n;
printf("%d\n",c);  }
2.编程求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;
(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5
(1)main()
{ int a=7;
float x=2.5,y=4.7;
printf("%f\n",x+a%3*(int)(x+y)%2/4);  } 
(2)main()
{ int a=2,b=3;
float x=3.5,y=2.5;
  printf("%f\n",(float)(a+b)/2+(int)x%(int)y);  }
第三章 顺序结构程序设计
一 选择题
  A  C  D  C  C
二 操作题
1. x=3,a=2,b=3
2.  z=12.700000
3.  1 2 1
a
2 1 2
三.编程题
编程题
1. 某工种按小时计算工资,每月劳动时间(小时)×每小时工资=总工资,总工资中扣除10%公积金,剩余的为应发工资。编写一个程序从键盘输入劳动时间和每小时工资,打印出应发工资。
解:
#include <stdio.h>
main()
{
float sj,gz,yfgz;
printf("time,salary:");
scanf("%f,%f",&sj,&gz);
yfgz=sj*gz*0.9;
printf("total salary:%f\n",yfgz);
}
本程序运行结果为:
          time,salary:4,3<CR>
          total salary:10.800000
2.编写一个程序求出任意一个输入字符的ASCII码
解:
#include <stdio.h>
main()
{
char c;
printf("Input a string:");
scanf("%c",&c);
printf("%c ASCII is %d\n",c,c);
}
本程序运行结果为:
          Input a string:a<CR>
          a ASCII is 97
3、编写一个程序用于水果店售货员算帐:已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付钱数,再输入顾客付款数,打印出应的钱数。
解:
main()
{
float p,y,x,j,ys,g,fk;
printf("apple,pear,banana,orange(weight)=");
scanf("%f,%f,%f,%f",&p,&y,&x,&j);
ys=2.5*p+1.8*y+2*x+1.6*j;
printf("fu kuan=");
scanf("%f",&g);
fk=g-ys;
printf("result:\n");
printf("fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6.2fyuan\n",g,ys,fk);
}
本程序运行结果为:
apple,pear,banana,orange(weight)=1,2,3,4
fu kuan=100
result:
fukuan=100.00yuan
shoukuan= 18.50yuan
zhaohui= 81.50yuan
项目实训
1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后可得到本利之和deposit
#include<math.h>
main()
{ int n;
  float rate=0.0225,capital,deposit;
  scanf("%d,%f",&n,&capital);
  deposit=capital*pow(1+rate,n);
  printf("deposit=%f\n",deposit); }
2.将一个三位数整数,正确分离出它的个位、十位和百位数字,并分别在屏幕上输出
main()
{ int n,a,b,c;
  scanf("%3d",&n);
  a=n/100;
  b=n%100/10;
  c=n%100%10/1;
  printf("a=%d,b=%d,c=%d\n",a,b,c); }
第四章 选择结构程序设计
一、略
二、B B A B C B A
三、1.  1  0
2.  2 3 2 2
3.  10 20  0
4.  ch>=A&&ch<=Z||ch>=a&&ch<=z
    ch>=0&&ch<=9
    ch==
5.  -1
四、上机操作
1. 从键盘输入一个英文字母,如果是大写字母,则将它变为小写字母输出;如果是小写字母,则将其变为大写字母输出。
#include<stdio.h>
main()
{char ch;
ch=getchar();
if(ch>='A'&&ch<='Z') ch+=32;
else if(ch>='a'&&ch<='z') ch-=32;
putchar(ch);
putchar('\n'); }
2. 根据输入的x值依据下列表达式,计算y的值。
                  2x  (x>-1)
y =      3  (x=-1)
                  4+x  (x<-1)
解:
main()
{
float x,y;
scanf("%f",&x);
if(x>-1)
  y=2*x;
else if(x==1)
    y=3;
      else  y=4+x;
printf("y=%f",y);
}
本程序运行结果为:
          -2<CR>
          y=2.000000
3.编写程序,输入一个整数,判断它是奇数还是偶数,若是奇数,输出Is Odd;若是偶数,输出Is Even
main()
{ int x;
scanf("%d",&x);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。