C语言程序设计参考答案湘大出版社.docx

上传人:b****3 文档编号:1437034 上传时间:2022-10-22 格式:DOCX 页数:22 大小:25.84KB
下载 相关 举报
C语言程序设计参考答案湘大出版社.docx_第1页
第1页 / 共22页
C语言程序设计参考答案湘大出版社.docx_第2页
第2页 / 共22页
C语言程序设计参考答案湘大出版社.docx_第3页
第3页 / 共22页
C语言程序设计参考答案湘大出版社.docx_第4页
第4页 / 共22页
C语言程序设计参考答案湘大出版社.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言程序设计参考答案湘大出版社.docx

《C语言程序设计参考答案湘大出版社.docx》由会员分享,可在线阅读,更多相关《C语言程序设计参考答案湘大出版社.docx(22页珍藏版)》请在冰豆网上搜索。

C语言程序设计参考答案湘大出版社.docx

C语言程序设计参考答案湘大出版社

 

C语言程序设计

——参考答案(湘大版)

 

主编:

长寿湖畔有人家

创建日期:

2015.9

修改日期:

2016.10

第5章分支结构

5.2

任给一个三位十进制整数,若该数中有且只有两个数码相同,则输出该数。

#include

#include

intmain()

{

intshu,a,b,c;

printf("请输入一个三位的整数\n");

scanf("%d",&shu);

a=shu%10;

b=shu/10%10;

c=shu/100;

if(a==b&&b!

=c)printf("%d\n",shu);

elseif(b==c&&c!

=a)printf("%d\n",shu);

elseif(c==a&&a!

=b)printf("%d\n",shu);

return0;

}

5.3用case实现:

y=cos(x+3.0)0<=x<10

Y=cos^2(x+7.5)10<=x<20

Y=cos^4(x+4.0)20<=x<30

#include

#include

#include

intmain()

{

intx;

doublea;

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

scanf("%d",&x);

switch(x/10)

{

case0:

printf("%f\n",cos(x+3.0));break;

case1:

a=cos(x+7.5);printf("%f\n",a*a);break;

case2:

a=cos(x+4.0);printf("%f\n",a*a*a*a);

}

return0;

}

5.4

给定一个整数,判断是奇数还是偶数,如果是奇数,则判断它是不是素数(质数)。

#include

#include

#include

intmain()

{

intx;

inti,gen;

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

scanf("%d",&x);

if(x%2==0)printf("偶数\n");

else

{

printf("奇数\n");

if(x>1)

{

gen=sqrt(x);

for(i=3;i<=gen;i+=2)

if(x%i==0)break;

if(i>gen)printf("素数\n");

elseprintf("非素数\n");

}

}

return0;

}

5.5

3个数成等差数列,首尾两个数之积为中项的5倍,后2个数的和是第一个数的8倍,求这3个数。

这3个数分别是:

3915

第6章循环结构

6.1

利用公式:

…,求的近似值,直到最后一项的绝对值小于10^-6为止。

#include

#include

intmain()

{

inti=1;

doublesum=0;

while(1.0/i>0.000001)

{

if((i+1)/2%2==0)sum-=1.0/i;

elsesum+=1.0/i;

i+=2;

}

printf("%f\n",sum*4);

return0;

}

6.2

2/1,3/2,5/3,8/5,13/8,21/13.。

,求前20项的和。

#include

#include

#include

intmain()

{

intzi=2,mu=1,i=1,te;

doublesum=0;

while(i<=20)

{

sum+=(zi/(mu+0.0));

te=zi;

zi=zi+mu;

mu=te;

i++;

}

printf("%f\n",sum);

return0;

}

6.3

分别编程输出菱形图案

*A

***BBB

*****CCCCC

*******DDDDDDD

*********EEEEEEEEEE

*******FFFFFFF

*****GGGGG

***HHH

*I

第一个图

#include

#include

#include

intmain()

{

intkong=4,i,k,shu=1;

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

{

if(i<6)

{

for(k=kong;k>0;k--)printf("");

kong--;

for(k=0;k

shu+=2;

printf("\n");

if(kong==-1)kong=1;

if(shu==11)shu=7;

}

else

{

for(k=0;k

kong++;

for(k=shu;k>0;k--)printf("*");

shu-=2;

printf("\n");

}

}

return0;

}

第二个图

#include

#include

#include

intmain()

{

intkong=4,i,k,shu=1;

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

{

if(i<6)

{

for(k=kong;k>0;k--)printf("");

kong--;

for(k=0;k

shu+=2;

printf("\n");

if(kong==-1)kong=1;

if(shu==11)shu=7;

}

else

{

for(k=0;k

kong++;

for(k=shu;k>0;k--)printf("%c",i-1+'A');

shu-=2;

printf("\n");

}

}

return0;

}

6.4

求出3000以内的亲密数,即整数A的全部因子(除本身)之和等于B,整数B的全部因子(除本身)之和等于A。

#include

#include

#include

intmain()

{

inti,k,gen,sum,s2;

for(i=2;i<=3000;i++)

{

gen=sqrt(i);

sum=0;

for(k=1;k<=gen;k++)

{

if(i%k==0)

{

sum+=k;

if((i/k)!

=i)sum+=(i/k);

if(k*k==i)sum-=k;

}

}

if(sum>i&&sum<3000)

{

//printf("%d%d\n",i,sum);

gen=sqrt(sum);

s2=0;

for(k=1;k<=gen;k++)

{

if(sum%k==0)

{

s2+=k;

if((sum/k)!

=sum)s2+=(sum/k);

if(k*k==sum)s2-=k;

}

}

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

}

}

return0;

}

6.5

求出所有水仙花数。

即三位数的各位数字的立方和等于自己,例如153=1^3+5^3+3^3.

#include

#include

#include

intmain()

{

inta,b,c,i;

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

{

a=i%10;

b=i/10%10;

c=i/100;

if(i==a*a*a+b*b*b+c*c*c)printf("%d\n",i);

}

return0;

}

6.6

1000以内的所有完数,即一个数等于它的因子之和,例如

6=1+2+3.并输出它的因子。

#include

#include

#include

intmain()

{

intsum,i,k,gen,g;

for(i=6;i<1000;i++)

{

sum=1;

gen=sqrt(i);

for(k=2;k<=gen;k++)

{

if(i%k==0)

{

sum+=k;

sum+=i/k;

if(k*k==i)sum-=k;

if(sum==i)

{

printf("%d\n因子:

1",sum);

for(g=2;g<=gen;g++)

if(i%g==0)

{

printf("%d",g);

if(i/g!

=g)printf("%d",i/g);

}

printf("\n");

}

}

}

}

return0;

}

6.7

3025分成两段30和25,且(30+25)^2=3025,求出全部四位数。

#include

#include

#include

intmain()

{

inti,a,b,c;

for(i=1000;i<10000;i++)

{

a=i/100;

b=i%100;

c=a+b;

if(c*c==i)printf("%d\n",i);

}

return0;

}

6.8

求出满足下面条件的三位数:

该数只有两个数字相同,例如121,112

#include

#include

#include

intmain()

{

inti,a,b,c;

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

{

a=i/100;

b=i%10;

c=i/10%10;

if(c==a&&a!

=b||a==b&&b!

=c||b==c&&c!

=a)printf("%d\n",i);

}

return0;

}

6.9

猴子吃桃问题。

第一天吃了一半还多一个,以后每天都这样,第十天发现,只有一个了,问一共有多少桃子?

#include

#include

#include

intmain()

{

inti,sum=1;

for(i=9;i>0;i--)

{

sum=(sum+1)*2;

}

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

return0;

}

第7章数组

7.1

输入一个整型十进制数,转成十六进制,并输出。

#include

#include

intmain()

{

in

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机

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

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