C语言程序设计课后习题作业

C语言程序设计课后习题作业
C语言程序设计课后习题作业

第一章习题

1、对C语言来说,下列标示符中哪些是合法的,哪些是不合法的 Total, _debug, Large&Tall, Counter1, begin_

答:合法的:_debug、Counter1、begin_。

不合法的:Total、Large&Tall。

2、改写节中的流程图,求1—100中能被6整除的所有整数的和。

3、改写节中的程序,求1—100中能被6整除的所有整数的和,并在编程环境中验证该程序的运行结果。

答:程序为:

#include<>

int main(void)

{

int i,sum=0;

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

if(i%6==0)sum=sum+i;

printf("sum=%d\n",sum);

return 0;

}

4、对于给定的整数n(n>1),请设计一个流程图判别n是否为一个素数(只能被1和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构和循环结构。

第二章作业

1.编写程序,输入两个整数num和num2,计算并输出她们的和、差、积、商。

答:程序:

#include<>

void main()

{

int num1,num2,y1,y2,y3,y5;

double y4;

printf("请输入两个数:num1,num2\n");

scanf("%d%d",&num1,&num2);

y1=num1+num2;

y2=num1-num2;

y3=num1*num2;

y4=num1*num2;

y5=num1%num2;

printf("num1,num2和y1=%d\nnum1,num2差y2=%d\nnum1,num2积y3=%d\nnum1,num2商y4=%lf\nnum1,num2余y5=%d\n",y1,y2,y3,y4,y5);

}

2.为了倡导居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时以内的,电价为元/千瓦时;超出50千瓦时的用电量,电价上调元/千瓦时。编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。

答:程序:

#include<>

void main()

{

double x,y;

printf("请输入月用电量:x\n");

scanf("%lf",&x);

if(x<=50){

y=*x;

printf("电费y=%lf\n",y);

}

else {

y=*x;

printf("应支付电费y=%lf\n",y);

}

}

3.编写程序,输入实数x和正整数n,计算x n,,不允许调用pow()函数求幂。

答:程序:

#include<>

void main()

{

double x,power;

int i,n;

printf("请输入:x,n\n");

scanf("%lf%d",&x,&n);

power=;

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

power=power*x;

printf("power(x,n)=%lf\n",power);

}

4.编写程序,输入两个正整数m和n,求∑(i2+1/i)(i从m到n。)答:程序:

#include<>

void main()

{

int i,m,n;

double sum;

sum=0;

printf("input:m,n\n");

scanf("%d%d",&m,&n);

for(i=m;i<=n;i++)

sum=sum+(i*i+i);

printf("sum=%lf\n",sum);

}

5.编写程序,输入一个正整数n,计算1-2/3+3/5-4/7+5/9-6/11+…的前n项之和。

答:程序:

#include<>

void main()

{

int i,n;

double sum,item,flag;

flag=1;sum=0;

printf("input:n\n");

scanf("%d",&n);

for(i=1;i<=n;i++){

item=(flag*i)/(2*i-1);

flag=-flag;

sum=sum+item; }

printf("sum=%lf\n",sum);

}

6.某用户为购房办理商业贷款,选择了按月等额本息还款法,计算公式如下,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款(money)取决于还款月数(month)

。客户打算在5—30年的范围内选择还清贷款的年限,想得到一张“还款年限—月还款额表”以供参考。编写程序,输入贷款本金loan和月利率rate,输出“还款年限—月还款额表”,还款年限的范围是5—30年,输出时分别精确到年和元。

Money=loan*rate(1+rate)month/[(1+rate)month-1]答:程序:

#include<>

#include<>

void main()

{

int lower,upper,month,year,loan;

double money,rate;

lower=5;upper=30;

printf("请输入贷款本金:loan\n");

scanf("%d",&loan);

printf("请输入月利率:rate\n");

scanf("%lf",&rate);

printf("还款年限\t月还款额\n");

for(year=lower;year<=upper;year++)

{

month=year*12;

money=(loan*rate*pow((1+rate),month))/(pow((1+rate),mont h)-1);

printf("%d\t\t%lf\n",year,money);}

}

7.编写程序,输入一个正整数n,求∑2i(i从1到n),可调用pow ()函数求幂。

答:程序:

#include<>

#include<>

void main()

{

int i,n;

double sum,item;

sum=0;

printf("input:n\n");

scanf("%d",&n);

for(i=0;i<=n;i++)

{

item=pow(2,i);

sum=sum+item;}

printf("sum=%lf\n",sum);

}

8.编写程序,输入一个正整数n,求e=∑i!(i从0到n)。要求定义和调用函数fact(n)计算n!,函数类型是double.

答:程序:

#include<>

double fact(int n);

void main()

{

int i,n;

double sum;

sum=0;

printf("input:n\n");

scanf("%d",&n);

for(i=0;i<=n;i++)

{

sum=sum+fact(i);}

printf("sun=%lf\n",sum); }

double fact(int n)

{

int i;

double product;

product=;

for(i=1;i<=n;i++){

product=product*i;}

return product;

}

第三章作业

1.

#include<>

#include<>

void main()

{

int a,b,c;

double s,area,perimeter;

printf("请输入三角形三条边:a,b,c\n");

scanf("%d%d%d",&a,&b,&c);

if(a+b>c&&a+c>b&&b+c>a)

{

perimeter=a+b+c;

s=(a+b+c)/;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("三角形的周长perimeter=%.2lf\n三角形的面积area=%.2lf\n",perimeter,area);

}

}

2、

#include<>

#include<>

void main()

{

double salary,tax,rate;

printf("请输入职工的月薪:salary\n");

if(salary<=850) rate=0;

else if(salary<=1350) rate=5;

else if(salary<=2850) rate=10;

else if(salary<=5850) rate=15;

else rate=20;

tax=rate*(salary-850)/100;

printf("职工应缴个人所得税tax=%.2lf\n",tax);

}

3、

#include<>

void main()

{

double m,n,y;

printf("请输入行驶里程(公里):m\n等待时间(分钟):n\n");

if((m+n/<=3) y=10;

else if((m+n/<=10) y=2*(m+n/;

else y=2*10+3*(m+n/;;

printf("乘客应付车费y=%d\n",(int)((y*10+/); }

4、

#include<>

void main()

{

int i,n,A,B,C,D,E;

double score,total;

printf("请输入一个数n:\n");

scanf("%d",&n);

total=0;A=0;B=0;C=0;D=0;E=0;

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

{

printf("请输入第#%d个学生成绩:\n",i);

scanf("%lf",&score);

total=total+score;

if(score>=90)

A++;

else if(score>=80)

B++;

else if(score>=70)

C++;

else if(score>=60)

D++;

else

相关主题
相关文档
最新文档