C语言程序设计参考答案湘大出版社.docx
《C语言程序设计参考答案湘大出版社.docx》由会员分享,可在线阅读,更多相关《C语言程序设计参考答案湘大出版社.docx(22页珍藏版)》请在冰豆网上搜索。
![C语言程序设计参考答案湘大出版社.docx](https://file1.bdocx.com/fileroot1/2022-10/22/ec1867f6-3ffe-440d-a35a-5c35bb70daf2/ec1867f6-3ffe-440d-a35a-5c35bb70daf21.gif)
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;kshu+=2;
printf("\n");
if(kong==-1)kong=1;
if(shu==11)shu=7;
}
else
{
for(k=0;kkong++;
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;kshu+=2;
printf("\n");
if(kong==-1)kong=1;
if(shu==11)shu=7;
}
else
{
for(k=0;kkong++;
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