C语言编程,求解
int fun(int yms[][3]){
/**********Program**********/
int index=0,i;
unsigned int a,b,c,d;
unsigned int number[10];
for(a=10;a1000;a++)
{
for(b=a100?100:a+1;b10000-a;b++)
{
for(i=0;i=9;i++)
number[i]=0;
c=a+b;
d=a;
while(d0)
{
number[d%10]++;
d/=10;
}
d=b;
while(d0)
{
number[d%10]++;
d/=10;
}
d=c;
while(d0)
{
number[d%10]++;
d/=10;
}
if(number[0]==1number[1]==1number[2]==1
number[3]==1number[4]==1number[5]==1
number[6]==1number[7]==1number[8]==1
number[9]==1)
{
yms[index][0]=a;yms[index][1]=b;yms[index][2]=c;
index++;
}
}
}
return index;
/********** End **********/
}
C语言编程 求水仙花数:例如153=1^3+5^3+3^3
#includestdio.h
int main()
{int a,b,c;
for(a=1;a10;a++)
for(b=0;b10;b++)
for(c=0;c10;c++)
if(a*a*a+b*b*b+c*c*c==100*a+10*b+c)
printf(“%d%d%d=%d^3+%d^3+%d^3\n”,a,b,c,a,b,c);
return 0;
}
c语言求完美数
判断完一个i是否是完数后,sum没有及时赋值为0,而是一直累加下去,当然就找不到完数了。
#include stdio.h
int main()
{
int i,j;
int sum=0;
for(i=1;i=100;i++)
{
for(j=1;ji;j++)
{
if(i%j==0) sum+=j;
}
if(sum==i)
{
printf(“%d “,i);
}
sum=0;//sum重新赋值0,以便求下一个i的因数和
}
return 0;
}
运行结果:
二级c语言优美数程序怎么写好?求程序段。求高手。
#includestdio.h
#includestring.h
#define N 10000
int yms[10000][3],cnt,visit[10];//cnt用于记录个数
int cheak(int a,int b)
{
int c,i;
c=a+b;
if(c10000)
return 0;
memset(visit,0,sizeof(visit));
while(a)
{
if(visit[a%10])
return 0;
visit[a%10]=1;
a=a/10;
}
while(b)
{
if(visit[b%10])
return 0;
visit[b%10]=1;
b=b/10;
}
while(c)
{
if(visit[c%10])
return 0;
visit[c%10]=1;
c=c/10;
}
for(i=0;i10;i++)
if(visit[i]==0)
return 0;
return 1;
}
int fun()
{
int a,b;
cnt=0;
for(a=10;a=99;a++)
for(b=100;b=9999;b++)
{
if(cheak(a,b))
{
yms[cnt][0]=a;
yms[cnt][1]=b;
yms[cnt][2]=a+b;
cnt++;
}
}
for(a=100;a=999;a++)
for(b=100;b=9999;b++)
{
if(cheak(a,b))
{
yms[cnt][0]=a;
yms[cnt][1]=b;
yms[cnt][2]=a+b;
cnt++;
}
}
return cnt;
}
void print()
{
int i;
for(i=0;icnt;i++)
{
printf(“%d+%d=%d\n”,yms[i][0],yms[i][1],yms[i][2]);
}
}
int main()
{
fun();
print();
return 0;
}
1C语言求解 ,if语句什么意思,为什么全是等于1
这里number数组作为一个标记,某个数字出现过就把number数组对应下标位置标记为1,这样当0-9这是个数字都出现过时,number数组的所有元素就都为1了。