共有回帖数 0 个
-
我把自己在学习过程中的做的一些经典的习题贴出来,希望刚刚学习C语言的人可以把解答的方法和思路尽量的多一点.这样我们才是真的在学习;
第一题:水仙花数
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
代码:
# include stdio.h
# include math.h
main()
{
int i,j,k,x;
for(i=1;i10;i++)
{
for(j=1;j10;j++)
{
for(k =1;k10;k++)
{
x = i*100+j*10+k;
if(x == i*i*i + j*j*j + k*k*k)
{
printf("%dn",x);
}
}
}
}
getch();
}
打印1000以内的完数,
++++++++++++++++++++++++++++++++++++++++
# include stdio.h
# include math.h
main()
{
int x,i;
for(i=1;i=1000;i++)
{
if(check(i)==1)
{
printout(i);
}
}
getch();
}
int check(int x)
{
int i,k;
k=0;
for(i=1;ix;i++)
{
if(x%i == 0)
{
k=k+i;
}
}
if(k == x)
{
return 1;
}
else
{
return 0;
}
}
int printout(int x)
{
int y[1000];
int z=0,i=0;
printf("%d its factors are",x);
for(z=1;zx;z++)
{
if(x%z == 0)
{
if(i!=0)
{
printf(",");
}
i++;
printf("%d",z);
}
}
printf("n");
return 0;
}
有一分数序列:
2/1 3/2 5/3 8/5 13/8 21/13
求出这个数列的前20项之和;
# include stdio.h
# include math.h
main()
{
float x,y,k,h,i;
x = 2;
y = 1 ;
h = x/y;
for(i=0;i20;i++)
{
k = x+y;
y=x;
x=k;
h=h+x/y;
}
printf("%f",h);
getch();
}
猴子吃桃子的问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,然后多吃了一个,以后依次如此,一半多一个.第十天想吃的时候,就剩一个了,求第一天一共摘了多少个桃子.
+++++++++++++++++++++++++++++++++++++++++
# include stdio.h
# include math.h
main()
{
float x,i;
x=1;
for(i=10;i1;i--)
{
x = (x+1)*2;
}
printf("%f",x);
getch();
}
楼主 2016-01-23 13:11 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知