赞
踩
示例:
28
1+4 +7+14 +2 =28
完数:完美的数
除去本身以外的因子和等于本身
1+2+3 =6
#include <stdio.h> #include <string.h> int main(int argc, const char *argv[]) { int i; int sum =0; printf("完数为:"); for(i=1;i<=1000;i++){ for(int j=1;j<i;j++){//算出i的除本身以外因数之和 if(i%j==0){ sum +=j; } } if(sum == i){//判断是否为因数之和是否等于自身 printf("%d ",i); } sum =0;//判断后把求和置0 } return 0; }
#include <stdio.h> #include <string.h> int main(int argc, const char *argv[]) { int n; int i,j,k; printf("请输入奇数金字塔的高度:"); scanf("%d",&n); for(i=1;i<=n;i++){ for(j=1;j<=n-i;j++){ printf("& "); } for(k=1;k<=2*i-1;k++){ printf("* "); } printf("\n"); } return 0; }
编写程序,计算从1开始递增的整数之和,直到和首次超过188时停止并输出当前的和以及累加了多少个数。
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int i,sum=0;
int count =0;
for(i=1;sum<=100;i++){
sum +=i;
count++;
}
printf("首次超过100的和为:%d,累加次数为:%d\n",sum,count);
return 0;
}
编写程序,输出斐波那契数列的前n项(斐波那契数列指数列中的每一项都是前两项的和,第一和第二项是1)。
#include <stdio.h> #include <string.h> int math(int n){ if(n==1||n==2){ return 1; }else{ return math(n-1)+math(n-2); } } int main(int argc, const char *argv[]) { int n; printf("斐波那契数列的前n项:n="); scanf("%d",&n); for(int i=1;i<=n;i++){ printf("%d ",math(i)); } return 0; }
#include <stdio.h> #include <string.h> int main(int argc, const char *argv[]) { char c = 'F'; int i,j,k; for(i=1;i<=6;i++){ for(j=1;j<i;j++){ printf("_"); } for(k=1;k<=i;k++){ printf("%c",c--); } printf("\n"); c='F'; } return 0; }
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第18天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
#include <stdio.h> #include <string.h> int main(int argc, const char *argv[]) { int peach = 1; int i = 1, j = 0; while (i < 10) { peach = (peach + 1) * 2; i++; } printf("共有%d桃子\n", peach); int sum = 0; while (j < 9) { sum = peach; sum = sum / 2 + 1; peach -= sum; j++; printf("第%d天,猴子吃了%d个桃子,还剩%d个桃子\n", j, sum, peach); } return 0; }
编写程序,输入一个正整数n,将其逆序输出,例如输入12345,输出54321
#include <stdio.h> #include <string.h> int main(int argc, const char *argv[]) { int a; int i; printf("请输入一个正整数:"); scanf("%d",&a); printf("逆序为:"); for(i=0;;i++){ printf("%d",a%10); if(a<10){ break; } a /=10; } printf("\n"); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。