王卫华简历:C 语言编程

来源:百度文库 编辑:高考问答 时间:2024/04/29 00:40:12
我在书上看到一些C语言的题,我不知道,请问怎么办呀?
如果你能帮助我写下这个程序就好,谢谢你了.
输入一个3位数,判断是否是一个"水仙花数".水仙花数是指3位数的各位数字的立方和等于这个3位数本身.例如,153=1*1*1+5*5*5+3*3*3
谢谢你能帮我解答.

我现在在网吧,没有TC
我直接写的,可能有错,但想法绝对最优,望采纳
代码如下:
#include<stdio.h>
main()
{int a,b,c;
scanf("%1d%1d%1d",&a,&b,&c);/*这是最精彩的句子啊,好好分析吧,为什么这样可以把3位数分成3个数*/
if(a*a*a+b*b*b+c*c*c==a*100+b*10+c)
printf("YES!");
else
printf("NO!");
}
又想到一个,随便写一下:
#include<stdio.h>
main()
{char a[3];
gets(a);
a[0]-=48;a[1]-=48;a[2]-=48;
if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==a[0]*100+a[1]*10+a[2])
printf("YES!");
else
printf("NO!");
}

现在到寝室了,都试过了,都可以,看来我还算仔细。(winxp wintc/TC)

#include<stdio.h>
void main()
{ int n,a,b,c;

scanf("%d",&n);
a=n%10;
b=n/10%10;
c=n/100;

if(a*a*a+b*b*b+c*c*c==n)
printf("%d shi shuixianhuashu!!!",n);
else
printf("%d bushi shuixianhuashu!!",n);
}

我叫你一个变态的方法:
int a,b,c;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
a*a*a+b*b*b+c*c*c=a*100+b*10+c;
以上是大概思路,是一位前辈教的不错。
a是百位。b是十位。c是个位。

#include "stdio.h"
main()
{
int num,sum=0,i,temp;
printf("pleaase input your num:");
scanf("%d",&num);
i=num%10;
temp=num;
while(i!=0)
{
sum=sum+i*i*i;
num=num/10;
i=num%10;
}
if(temp==sum)
printf("This num is shuxianhua shu!");
else
printf("This num is not shuxianhua shu!");
}

#include<stdio.h>
main( )
{inta,b,c,n,k;
scanf("%d".n)
for(n=100,n< =1000,n++)
{a=n/100;
b=n/10-a*10;
c=n%100;
}
k=a*a*a+b*b*b+c*c*c;
printf("%d\n",k);
}

这个问题我们实验课刚做不久,我演算过的:
main()
{int a,b,c,m,n;
printf("Please input a number:\n");
scanf("%d",&n);
a=n%10;
b=(n-a)/10%10;
c=(n-a-b*10)/100;
m=a*a*a+b*b*b+c*c*c;
if(m==n)
printf("Yes.\n");
else
printf("Not.\n");
}