c语言。。用if语句编程,输入一个三位数,判断是否是水仙花数。

如题所述

1、严格的水仙花是三位数,并且其每位数的三次方的和等于它的本身。
例子如下:370是一个严格的水仙花数,3^3+7^3+0^3=370.
2、C 语言的"水仙花数"实现代码:
#include <stdio.h>
#include<math.h>
int main (void) {
long n,p;
long c,a,j,s[30],i,q;
p=0;
a=10;
scanf("%ld",&n);
q=n;
for (i=1;c>10 ;++i) {
c=n/a;
a=a*10;
}printf("i=%ld,a=%ld \n",i,a);
for (j=1;a>=10 ;++j) {
s[j]=n/(a/10);
n=n-s[j]*(a/10);
a=a/10;
printf("j=%ld,a=%ld\n",j,a);
}
for (j=1;j<=i ;j++) {
p+=pow(s[j],i);
printf("p=%ld,i=%ld\n",p,i);
}
if (p==q) {
printf("%ld 为水仙花数",q);
}else {
printf("%ld 该数不是水仙花数",q);
}
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-26
main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}追问

j=(n-i*100)╱10可以吗?

追答

可以

追问

编程实现摄氏温度与华氏温度的转换。公式为:摄氏温度×9╱5+32=华氏温度。。。。。就剩这道题了,请帮解决。

追答

这是摄氏度转为华氏度,华氏度转摄氏度只要换一下公式就好了
#include
main()
{
float c,f;
printf("Please enter the Celsius:\n");
scanf("%f",&c);
f = c * 9/5 + 32;
printf("%0.2f ℃ = %0.2f °F\n",c,f);
}

本回答被提问者采纳
相似回答