1.求 1-----1000以内的完数 示例: 28 1 +4 +7 +14 +2 =28 完数:完美的数 除去本身以外的因子和等于本身
代码
ubuntu@ubuntu:2071$ cat exe5.c
#include <stdio.h>
#include <string.h>
int main(int argc, const char*argv[])
{
int i,j,sum;
for(i=1;i<=1000;i++)
{
sum = 0;
for(j=1;j<i;j++)
{
if(i%j==0)
{
sum=sum+j;
}
}
if(sum==i)
{
printf("%d\n",i);
}
}
return 0;
}
结果
6
28
496
2.打印奇数金字塔 & & & * & & * * * & * * * * * * * * * * * *
代码
#include <stdio.h>
#include <string.h>
int main(int argc, const char*argv[])
{
int i,j,m;
for(i=0;i<4;i++)
{
for(j=3;j>i;j--)
{
printf("& ");
}
for(m=0;m<1+2*i;m++)
{
printf("* ");
}
printf("\n");
}
return 0;
}
结果
& & & *
& & * * *
& * * * * *
* * * * * * *
3.求和直到超过100: 编写程序,计算从1开始递增的整数之和,直到和首次超过100时停止并输出当前的和以及累加了多少个数。
代码
#include <stdio.h>
#include <string.h>
int main(int argc, const char*argv[])
{
int i=0;
int sum = 0;
while(sum <100)
{
i++;
sum = sum+i;
}
printf("%d %d\n",sum,i);
return 0;
}
结果
105 14
4.斐波那契数列: 编写程序,输出斐波那契数列的前n项(斐波那契数列指数列中的每一项都是前两项的和,第一和第二项是1)。
代码
#include <stdio.h>
#include <string.h>
int main(int argc, const char*argv[])
{
int i,m,a,b,n;
a = 1;//第一项
b = 1;//第二项
printf("选择项数");
scanf("%d",&n);
printf("%d %d ",a,b);
for(i=1;i<=n-2;i++)
{
m = a + b;//下一项
printf("%d ",m);
a = b;// 把第二项的值赋给第一项
b = m;//把第三项的值赋给第二项
//printf("%d ",b);
}
printf("\n");
return 0;
}
结果
选择项数6
1 1 2 3 5 8
5.使用嵌套循环产生下列图案,要求用for嵌套循环 F _FE __FED ___FEDC ____FEDCB _____FEDCBA
代码
#include <stdio.h>
#include <string.h>
int main(int argc, const char*argv[])
{
int i,j,k,m;
for(i=0;i<6;i++)
{
m = 70;
for(j=0;j<i;j++)
{
printf("_");
}
for(k=0;k<=i;k++)
{
printf("%c",m);
m = m-1;
}
printf("\n");
}
return 0;
}
结果
F
_FE
__FED
___FEDC
____FEDCB
_____FEDCBA
6.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
代码
#include <stdio.h>
#include <string.h>
int main(int argc, const char*argv[])
{
int i,j;
int sum = 1;
for(i=0;i<9;i++)
{
sum = (sum + 1)*2;
}
printf("%d\n",sum);
return 0;
}
结果
1534