C语言程序设计何钦铭课后习题作业.docx

上传人:b****7 文档编号:9553072 上传时间:2023-02-05 格式:DOCX 页数:41 大小:70.69KB
下载 相关 举报
C语言程序设计何钦铭课后习题作业.docx_第1页
第1页 / 共41页
C语言程序设计何钦铭课后习题作业.docx_第2页
第2页 / 共41页
C语言程序设计何钦铭课后习题作业.docx_第3页
第3页 / 共41页
C语言程序设计何钦铭课后习题作业.docx_第4页
第4页 / 共41页
C语言程序设计何钦铭课后习题作业.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

C语言程序设计何钦铭课后习题作业.docx

《C语言程序设计何钦铭课后习题作业.docx》由会员分享,可在线阅读,更多相关《C语言程序设计何钦铭课后习题作业.docx(41页珍藏版)》请在冰豆网上搜索。

C语言程序设计何钦铭课后习题作业.docx

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

第一章习题

1、对C语言来说,下列标示符中哪些是合法的,哪些是不合法的?

Total,_debug,Large&Tall,Counter1,begin_

答:

合法的:

_debug、Counter1、begin_。

不合法的:

Total、Large&Tall。

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

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

答:

程序为:

#include

intmain

{

inti,sum=0;

for

ifsum=sum+i;

printf<"sum=%d\n",sum>;

return0;

}

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

第二章作业

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

答:

程序:

#include

voidmain<>

{

intnum1,num2,y1,y2,y3,y5;

doubley4;

printf<"请输入两个数:

num1,num2\n">;

scanf<"%d%d",&num1,&num2>;

y1=num1+num2;

y2=num1-num2;

y3=num1*num2;

y4=num1*1.0/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千瓦时以内的,电价为0.53元/千瓦时;超出50千瓦时的用电量,电价上调0.05元/千瓦时。

编写程序,输入用户的月用电量〔千瓦时,计算并输出该用户应支付的电费〔元。

答:

程序:

#include

voidmain<>

{

doublex,y;

printf<"请输入月用电量:

x\n">;

scanf<"%lf",&x>;

if{

y=0.53*x;

printf<"电费y=%lf\n",y>;

}

else{

y=0.58*x;

printf<"应支付电费y=%lf\n",y>;

}

}

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

答:

程序:

#include

voidmain<>

{

doublex,power;

inti,n;

printf<"请输入:

x,n\n">;

scanf<"%lf%d",&x,&n>;

power=1.0;

for

power=power*x;

printf<"power〔x,n=%lf\n",power>;

}

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

答:

程序:

#include

voidmain<>

{

inti,m,n;

doublesum;

sum=0;

printf<"input:

m,n\n">;

scanf<"%d%d",&m,&n>;

for

sum=sum+;

printf<"sum=%lf\n",sum>;

}

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

答:

程序:

#include

voidmain<>

{

inti,n;

doublesum,item,flag;

flag=1;sum=0;

printf<"input:

n\n">;

scanf<"%d",&n>;

for{

item=/<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

voidmain<>

{

intlower,upper,month,year,loan;

doublemoney,rate;

lower=5;upper=30;

printf<"请输入贷款本金:

loan\n">;

scanf<"%d",&loan>;

printf<"请输入月利率:

rate\n">;

scanf<"%lf",&rate>;

printf<"还款年限\t月还款额\n">;

for

{

month=year*12;

money=,month>>/,month>-1>;

printf<"%d\t\t%lf\n",year,money>;}

}

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

答:

程序:

#include

#include

voidmain<>

{

inti,n;

doublesum,item;

sum=0;

printf<"input:

n\n">;

scanf<"%d",&n>;

for

{

item=pow<2,i>;

sum=sum+item;}

printf<"sum=%lf\n",sum>;

}

8.编写程序,输入一个正整数n,求e=∑i!

〔i从0到n。

要求定义和调用函数fact计算n!

函数类型是double.

答:

程序:

#include

doublefact;

voidmain<>

{

inti,n;

doublesum;

sum=0;

printf<"input:

n\n">;

scanf<"%d",&n>;

for

{

sum=sum+fact;}

printf<"sun=%lf\n",sum>;

}

doublefact

{

inti;

doubleproduct;

product=1.0;

for{

product=product*i;}

returnproduct;

}

第三章作业

1.

#include

#include

voidmain<>

{

inta,b,c;

doubles,area,perimeter;

printf<"请输入三角形三条边:

a,b,c\n">;

scanf<"%d%d%d",&a,&b,&c>;

ifc&&a+c>b&&b+c>a>

{

perimeter=a+b+c;

s=/2.0;

area=sqrt**>;

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

}

}

2、

#include

#include

voidmain<>

{

doublesalary,tax,rate;

printf<"请输入职工的月薪:

salary\n">;

scanf<"%lf",&salary>;

ifrate=0;

elseifrate=5;

elseifrate=10;

elseifrate=15;

elserate=20;

tax=rate*/100;

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

}

3、

#include

voidmain<>

{

doublem,n,y;

printf<"请输入行驶里程<公里>:

m\n等待时间<分钟>:

n\n">;

scanf<"%lf%lf",&m,&n>;

if<<=3>y=10;

elseif<<=10>y=2*;

elsey=2*10+3*;;

printf<"乘客应付车费y=%d\n",</10.0>>;

}

4、

#include

voidmain<>

{

inti,n,A,B,C,D,E;

doublescore,total;

printf<"请输入一个数n:

\n">;

scanf<"%d",&n>;

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

for

{

printf<"请输入第#%d个学生成绩:

\n",i>;

scanf<"%lf",&score>;

total=total+score;

if=90>

A++;

elseif=80>

B++;

elseif=70>

C++;

elseif=60>

D++;

else

E++;

}

printf<"平均成绩=%lf\n",total/n>;

printf<"等级成绩个数:

\nA=%d\nB=%d\nC=%d\nD=%d\nE=%d\n",A,B,C,D,E>;

}

5、

#include

voidmain<>

{

intyear;

printf<"21世纪所有的闰年:

\n">;

for

if

=0||year%400==0>

printf<"%d\n",year>;

}

第四章作业

2、

#include"stdio.h"

#include"math.h"

doublefact;

voidmain<>

{

inti,n;doublex,s;

printf<"请输入一个实数x:

\n">;

scanf<"%lf",&x>;

s=0;i=1;

while</fact>>=0.00001>{

s=pow*1.0/fact+s;

i++;

}

printf<"s=%.2lf\n",s>;

}

doublefact

{

inti;

doubleresult;

result=1;

for

result=result*i;

returnresult;

}

3、

#include"stdio.h"

intmain

{

intx,a,count,sum;

printf<"请输入一个整数x:

\n">;

scanf<"%d",&x>;

sum=0;count=0;

ifx=-x;

do{

a=x%10;

sum=sum+a;

x=x/10;

count++;

}while

=0>;

printf<"位数=%d\n",count>;

printf<"各个位数之和为:

%d\n",sum>;

return0;

}

5、

#include"stdio.h"

voidmain<>

{

inta,n,i=1,s=0,t=0;

printf<"请输入两个正整数a,n=:

\n">;

scanf<"%d%d",&a,&n>;

while{

t=t+a;

s=s+t;

a=a*10;

++i;

}

printf<"a+aa+aaa+…+aa…a=%d\n",s>;

}

7、

#include"stdio.h"

voidmain<>

{

inti,j,k,l,n;

printf<"1-10000之间的水仙花数有:

\n">;

for

{

i=n/1000;

j=n/100%10;

k=n/10%10;

l=n%10;

if

{

printf<"%-5d",n>;

}

}

printf<"\n">;

}

9、

#include"stdio.h"

#include"math.h"

voidmain<>

{

inti,n,m,j,k;

i=0;

printf<"请输入一个多位整数:

\n">;

scanf<"%d",&n>;

k=n;

while

=0>

{

i++;

k=k/10;

}

k=n;

m=pow<10,i-1>;

printf<"逐位输出:

%d",n/m%10>;

printf<",">;

for0;j=j/10>

{

n=k/j;

printf<"%d",n%10>;

if

=1>

printf<",">;

}

}

11、

#include"stdio.h"

voidmain<>

{

intp,r,n,m,temp;

printf<"请输入两个正整数:

\n">;

scanf<"%d%d",&n,&m>;

if

{

temp=n;

n=m;

m=temp;

}

p=n*m;

while

=0>

{

r=n%m;

n=m;

m=r;

}

printf<"最大公约数为:

%d\n",n>;

printf<"最小公倍数为:

%d\n",p/n>;

}

13、

#include"stdio.h"

voidmain<>

{

inti,j;

for{

for

printf<"">;

for

printf<"*">;

printf<"\n">;

}

for{

for

printf<"">;

for

printf<"*">;

printf<"\n">;

}

}

第五章

1.

#include

#include

longfac

{

longsum;

if

sum=a;

else

sum=*a>+fac;

return;

}

main<>

{

inta,n,i;

longtemp,sum=0;

printf<"请输入一个数a,n\n">;

scanf<"%d%d",&a,&n>;

for

{

temp=fac;

sum+=temp;

}

printf<"它们的和是=%ld",sum>;

return0;

}

2.

#include

intcountdight;

intmain

{

intnumber;

printf<"输入一个数:

">;

scanf<"%d",&number>;

countdight;

return0;

}

countdight

{

inta,count;

count=0;

while

=0>

{

a=number%10;

number=number/10;

if

count++;

}

printf<"%d\n",count>;

returncount;

}

3.

#include

intfib;

intmain

{

intm,n,num1;

num1=1;

printf<"请输入两个正整数m和n=1,n<=10000>\n">;

scanf<"%d%d",&m,&n>;

if=m&&num1<=n>

fib;

return0;

}

intfib

{

inti,x1,x2,x,t;

x1=1;

x2=1;

for

{

x=x1+x2;

printf<"%5d",x>;

t=x;

x1=x2;

x2=t;

}

printf<"\n">;

returnx;

}

5.

#include

voidis;

intmain

{

intn,m,num1;

num1=1;

printf<"输入两个数m和n=1,n<=1000>\n">;

scanf<"%d%d",&m,&n>;

if=m&&num1<=n>

is;

return0;

}

voidis

{

inti,j,k;

for

{

i=num/100;

j=num/10%10;

k=num%10;

if

printf<"%5d",num>;

}

printf<"\n">;

}

6.

#include

intreverse;

intmain

{

intx;

printf<"请输入一个正整数:

\n">;

scanf<"%d",&x>;

reverse;

return0;

}

intreverse

{

while

=0>

{

printf<"%d",number%10>;

number=number/10;

}

printf<"\n">;

returnnumber;

}

第七章作业

1.

#include

voidmain<>

{

inti,j=0,k=0,n,p,q,max,min;

inta[10];

printf<"请输入n<1的值:

\n">;

scanf<"%d",&n>;

printf<"请输入%d个数:

\n",n>;

for

{

scanf<"%d",&a[i]>;

min=a[0];max=a[9];

if{

min=a[i];

k=i;

}

ifmax>{

max=a[i];

j=i;

}

}

p=a[9];a[9]=a[j];a[j]=p;

q=a[0];a[0]=a[k];a[k]=q;

for

{

printf<"%8d",a[i]>;

printf<"\n">;

}

4.

#include

intmain

{

intm,n,i,j,sum;

inta[6][6],x[80];

printf<"请输入m,n<1<=m,n<=6>的值:

\n">;

scanf<"%d%d",&m,&n>;

printf<"请输入%d个数:

\n",m*n>;

for

for

scanf<"%d",&a[i][j]>;

for{

for

printf<"%4d",a[i][j]>;

printf<"\n">;

}

for{

sum=0;

for

sum=sum+a[i][j];

x[i]=sum;

}

for

printf<"%d\n",x[i]>;

return0;

}

5.

#include

voidmain<>

{

inta[3][3],max,max1,max2,i,j,flag=1;

printf<"请输入9个数:

\n">;

for

for

scanf<"%d",&a[i][j]>;

for

{

max=a[i][0];

for

{

if

展开阅读全文
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1