用C语言写一个输出水仙花数的程序

作者&投稿:晋便 (若有异议请与网页底部的电邮联系)
c语言 输出所有水仙花数~

在第一个for循环前面给s赋值时,a、b、c的值没有初始化,所以整个s=100*a+10*b+c是不确定的值,程序运行便会出错!
建议修改:将语句s=100*a+10*b+c放到条件语句if(s==(a*a*a+b*b*b+c*c*c))之前,这样s得到的是确定值,程序运行正常。
修改后源程序如下:
#include "Stdio.h"
void main()
{
int a,b,c,s;
for(a=1;a<10;a++)
{
for(b=0;b<10;b++)
{
for(c=0;c<10;c++)
{
s=100*a+10*b+c;
if(s==(a*a*a+b*b*b+c*c*c))
printf("%d
",s);
}
}
}
getchar();
}
程序运行结果见插图。

1、首先需要打开Dev-c++软件,点击“新建源代码”。

2、然后按照如图所示填写代码。

3、其中:a表示的是水仙花数的百位数,b表示的是水仙花数的十位数,c表示的是水仙花数的个位数,sum表示的是所有累加下来的水仙花数。

4、if(sum==a*a*a+b*b*b+c*c*c)这一个程序步骤的作用是在规定查找的范围内找到符合这个条件的数。

5、注意a,b,c,sum的运算过程都是要在for 循环内完成,不可以在外循环进行。

6、而且还要注意区分在赋予百位数、十位数、个位数的计算用的“/","%”的区别,“/”表示除后取整数,“%”表示除后取余数。

7、最后点击“运行”即可得出要找的结果了。

#include <stdio.h>
int main(void)
{
int a,b,c;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
return 0;
}


求用C语言编个程序 很简单的
int main(){ double k,n;printf("请输入水的千克数:");scanf("%lf",&k);n = k\/3*pow(10,26);printf("其中水分子的个数为:%lg",n);return 0;} 这样才对,我自己运行过。楼上两位,虽然程序简单,好歹也自己编译一下。我的电脑上那些出现了乱码,这个是字符集的问题,但愿你的电脑上...

C语言作业 求解 :一个水分子的质量约为3.0×10-23g,1夸脱水大约有950g...
return 1;}

用c语言编写一个程序,要求用3个开关控制8个灯,每个开关单独闭合时实现...
就是说随便闭合一个开关都会出现不同的流水灯模式,例如,开关1闭合实现八亮八灭交替显示,开关2实现1.3.5.7.亮,2.4.6.8灭交替显示,...用p3.2-p3.4三个端口接开关,p1.0-p1.7接... 就是说随便闭合一个开关都会出现不同的流水灯模式,例如,开关1闭合实现八亮八灭交替显示,开关2实现1.3.5.7.亮,2.4.6.8灭交替...

用C语言 编一个接P1.0引脚和P1.1引脚的LED流水亮,不知道如何编 求帮助...
1. 初始化寄存器值 al=0 2. 将寄存器值输出到p1口 3. 延时1秒 4. 寄存器值加1 5. 重新回到第2步执行。单片机的语法我忘得差不多了,所以不能给你写源代码了,希望对你有所帮助

C语言编程实现:N个人排队打水问题,具体如下:
int times(int b[],int n){ int i=0;int sum=0;for(i=0;i<=n;i++){ sum+=b[i];} return sum;} main(){ int i,j,t;int sum_times=0, sum_person;int a[1001]; printf("please input persons numbers :");scanf("%d",&sum_person);for(i=0;i<sum_person;i++){ s...

求助一个用c语言编程的流水灯程序(高手,这对你而言只是小菜一碟啦...
void delay(int);main(){ EA=1;EX0=1;EX1=1;IT0=1;IT1=1;P1=0xff;while(1){ while(flag==1){ P1=temp;delay(500);temp=_crol_(temp,1);} temp=0xfe;while(flag==2){ temp=_cror_(temp,1);P1=temp;delay(500);} temp=0xfe;} } void delay(int ms){ int i,j;for(...

C语言中一个人茶杯的半径为5.5cm,高为10cm,求这个茶杯能存放的水容量...
在 C 语言中,可以使用以下代码来计算一个半径为 5.5cm,高为 10cm 的圆柱形茶杯能存放的水容量(单位为立方厘米):include <stdio.h>#define PI 3.14159265358979323846int main() { double radius = 5.5; double height = 10.0; double volume = PI * radius * radius * height...

设计一个CoffeeMachine,请用C语言编写(最好附上注释),如下: 1,取杯器...
水加热完毕并倒入杯子中、Sugar、Feeder设计一个CoffeeMachine,请用C语言编写(最好附上注释)、咖啡的数量、T**e Out、Pump,如下。3:1、Coffee,取杯器提取一个杯子放到传送带上。2、Water,传送带移动杯子到取杯的位置,杯子移动到一个指定的加料位置、Heating。4:CupStorage,定量加料装置按照指定的...

C语言“流”是什么概念
首先理解流的意思,可以想象水从水管里出来,这就是一股水流。然后,c语言中流动的不再是水,而是有顺序的,有排列结构的数据。比如100001111100001(二进制)C里的文件流,C里标准文件方式把文件当作流来看,也就是有一个内部缓冲buffer(在C库内部建立,一般为512B),每次以标准方式打开文件时,读入...

c语言求解:有12升水,怎样利用一个8升和5升的桶分出2个6升的水,要求打...
12# 8# 1 8 3 8# 5# 1 6 5 5# 12# 6 6 0 真晕了,用printf打印就行了啊

北关区14787509938: 用C语言写一个输出水仙花数的程序 -
宗圣佳苏复: 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) 题目要求是什么呢?输入一个数,判断其是不是水仙花数? #include#include#includeint main() { char str[10],num[2]; int i,q,val=0,arr[10]; printf("输入一个数:"); scanf("%s",str); if(strlen(str)atoi(str)) { printf("%s不是水仙花数\n",str); break; } } return 0; }

北关区14787509938: 水仙花数 用c程序怎么写 -
宗圣佳苏复: main(){int a,b,c,n;for (n=100;n<1000;n++){a=n/100;b=(n-a*100)/10;c=n-a*100-b*10;if (n==a*a*a+b*b*b+c*c*c) printf("%5d",n);} }是输出1000以内的水仙花数!

北关区14787509938: 输出 所有的“水仙花数” 用c语言程序 怎么做 -
宗圣佳苏复: 如图所示: 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18#include <stdio.h>intmain(){inti,a,b,c,A,B,C;printf("有下列水仙花数:\n");for(i=100;i<=999;i++){a=i/100;c=(i/10)%10;b=i%10;A=a*a*a;B=b*b*b;C=c*c*c;if(A+B+C==i)printf("%d\t=%d^3+%d^3+%d^3\t=%d +%d +%d\n",i,a,b,c,A,B,C);}return0; }

北关区14787509938: c语言输出水仙花数 -
宗圣佳苏复: #include <stdio.h> #include <math.h> void main() {int i, c, a, b, k;for(i=100; i<1000; i++){a = i/100;c = i%10;b = i%100/10;k=pow(a,3)+pow(b,3)+pow(c,3);if(k==i)printf("%d\n", i);} } 那个定义在math.h里面有定义不用写了

北关区14787509938: c语言求水仙花数的程序 -
宗圣佳苏复: #include<stdio.h> int main() {int i,a,b,c;for(i=100;i<1000;i++){a=i/100;b=(i/10)%10;c=i%10;if((a*a*a+b*b*b+c*c*c)==i)printf("%d\n",i);}return(0); } 这是打印1000以内的水仙华数,希望对您有帮助.

北关区14787509938: 打印出所有水仙花数的C语言程序代码 -
宗圣佳苏复: main() { int i,j,k,n; scanf("%d",&n);//输入你想要的数据,这个是判断三位数的. i=n/100; j=n/10-i*10; k=n%10;//上面i,j,k,是分别获取百位,十位,各位,上的数字. if(n==i*i*i+j*j*j+k*k*k)//判断是不是水仙花数. printf("yes\n"); printf("%d\n",n);//输出n else printf("no\n"); } 上面程序是只能判断三位数的,如果想更高的话,可以在判断各个位数上改动程序.

北关区14787509938: 谁知道用C语言怎么编写一个能求出所有的水仙花数的程序? -
宗圣佳苏复: 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"); }

北关区14787509938: 求用c语言编写水仙花数 -
宗圣佳苏复: #includeintmain(){inti,a,b,c;for(i=100;i

北关区14787509938: c语言编写水仙花数
宗圣佳苏复: #include<stdio.h> void main() { int n,i,j,k; //"水仙花数"是一个三位数的数 如153=1*1*1+5*5*5+3*3*3 printf("水仙花数有:"); for(n=100;n<1000;n++) //求水仙花数的过程,i,j,k分别存放这个三位数中的每一位数 { i=n/100; j=(n-i*100)/10; k=n-i*100-j*10; if(n==i*i*i+j*j*j+k*k*k) //找出每一位然后判断它每一位数的立方之和是否等于原数,是就输出 printf("%d ",n); } printf("\n"); }

北关区14787509938: c语言编程:水仙花数 -
宗圣佳苏复: #includevoid main() { for(int i=100;i<1000;i++) { int bai=(int)(i*0.01); int shi=(int)(i*0.1)-bai*10; int ge=i-bai*100-shi*10; if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i) cout<< } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网