2、o.h>voidmain(){inti,j,k,n;printfC输入一个奇数:");scanf("%d:&n);for(i=l;iUn;i++){for(j=l;j<=i;j++)printfj);for(k=j-2;k>0;k—)printf("%d",k);printf("");}for(i=n-l:i>=l:i―){for(j-1;j<=i;j++)printfj);for(k=j-2;k>0;k--)printf("%d",k);printf("");3,而6=1+2+3,factorsare1,3、一个数如果恰好等于
3、它的因子之和,这个数就称为“完数”,例如6的因子为1、2、因此6是“完数”。编程找il1000以内的所有完数,并按下啲格式输出其因子:6its2,3#include"stdio.h"voidmain(){inti,j,k;for(i=l;i<=1000;i++){k=l;for(j=2;j<=i/2;j++)if(i%j=O)k+=j;if(k==i){printf(^ditsfactorsare1",i);for(j=2;j<=i/2;j++)if(i%j==0)printfj);printf("");}}}4、输出以下图形。行
4、数n的值由程序中输入。^includevoidmain(){inti,j,k,m;printfC输入一个奇数:");scanf("%d:&m);for(i=l;i<=m/2+l;i++){for(j=l;j<=i-l;j++)printfC”);for(k=l;k<=m+2-2*j;k++)printf("*");printf(””);}for(i=l;i<=m/2;i++){for(j=l;j<=m/2-i;j++)printf("”);for(k=l;k<=2*i+l;k++)printf("*");print
5、f("");}}1、编程验证:任一个充分大的偶数(>=4),总可以分解为两个素数之和。#include#includeintfun(longm){intt=l;longi;for(i=2;i<=sqrt(m);i++)if(m%i==0){t=0;break;)returnt;}intmainO{intj,k;longn,p,q;printf("请输入n的值:");scanf(”%Id",&n);if(((n%2)!=0)
6、
7、(n<4))printfC您输入的数字不符合要求!rT);else{
8、p=p+l;q二n-p;j=fun(p);k=fun(q);)while((j*k)==O);printfC分解后的结果为:%ld=%ld+%ld,p,q);))2、写两个函数,分别求两个整数的最大公约数和最小公倍数,用主两数调用这两个函数,并输出结果。两个整数由键盘输入。★includeintfl(inta,intb){intm,n;if(a>b){nrb;n=a;}elsem=ti;n=b;for(;a%m!-0
9、
10、b%m!=0;m―);return(m):)intf2(inta,intb){intm,
11、n;if(a>b){m~b;n=a;}elsem=a;n=b;for(;n%a!-0
12、
13、n%b!二0;n++);return(n):1voidmain(){inta,b;printfC请输入两个整数:");scanf("%d%d",&a,&b);printfC*最大公约数为:%d最小公倍数为:%d",fl(a,b),f2(a,b));}3、编写一个递归函数,实现输入任意的正整数n,输出相对应的m进制数。#includevoidfun(inti,intj)if(i14、(i/j,j);printfi%j);}}voidmain(){intn,m;printff请输入要转换的正整数:“);scanf("%d",&n);printfC请输入要转换成的进制数:");scanf(