给毕业论文导师发邮件:麻烦用c语言帮忙编写下列程序!!!

来源:百度文库 编辑:中科新闻网 时间:2024/05/13 19:28:53
如果一个3位数等于它每1位数的立方和,则称此数为“水仙花数”。求所有水仙花数。

代码如下:
#include<stdio.h>
int pow(int base,int n) /*算base的n次方的函数*/
{
int k;
int sum=1;
for(k=0;k<n;k++)
sum=sum*base;
return sum;
}
main()
{
int i;
for(i=100;i<1000;i++)
if(pow(i/100,3)+pow((i%100)/10,3)+pow(i%10,3)==i)
printf("%-4d",i);
printf("\n");
return 0;
}
经过运行正确
不好意思,交了回答之后才发现原来我回答过这个问题了(不知道是同一人),没事吧,sorry

#include "stdio.h"
#include "math.h"
main()
{
int x,i,a,b,c;
for(i=100;i<1000;i++)
{a=i/100;
b=i=a*100%10;
c=i%10;
if(i==pow(a,3)+pow(b,3)+pow(c,3))
printf("%d",i);
}
}

#include<indio.h>
math()
{
int i,j,k,n;
while(n>=100,n=<999)
{
i+=i,j+=j,k+=k;
n=i*i8*i+j*j*j+k*k*k;
}
printf("%d",&n);
}
运行结果
.......

//水仙花数--一个3位数等于它每1位数的立方和,则称此数为“水仙花数”

#include <stdio.h>
#include <math.h>

int main()
{
int i,a,b,c; //声明四个变量,分别表示,这个数,这个数的百位,十位,个位

a = 0;
b = 0;
c = 0;

for(i=100;i<1000;i++)
{
a = i/100; //取百位
b = i/10%10; //取十位
c = i%10; //取个位

if(pow(a,3)+pow(b,3)+pow(c,3) == i) //水仙花数的算法
{
printf("%d ",i); //输出满足“水仙花数”的数
}
}
}

运行结果153 370 371 407