C语言程序设计课后习题作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章习题
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++)