⑴ c語言:寫函數判斷一個三位數是不是水仙花數,是輸出YES,不是輸出NO
#include<stdio.h>激畝
voidmain()
{
inta,b,c,n;
printf("請輸入一個緩消三位數:");
scanf("%d"擾鉛知,&n);
a=n%10;
b=(n%100-n%10)/10;
c=(n-n%100)/100;
if(a*a*a+b*b*b+c*c*c==n)
printf("%d是水仙花數。",n);
elseprintf("%d不是水仙花數。",n);
}
運行示例:
⑵ c語言編程題:輸出所有三位數的水仙花數
下面代碼可以完成此題:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmyfunc(intn){
並畢顫數磨inta,b,c;
if(n==(a=n%10)*a*a+(b=n/10%10)*b*b+(c=n/100)*c*c)
絕敗returnn;
return0;
}
intmain(void){
inti,x;
for(i=101;i<1000;i++)
if(x=myfunc(i))
printf("%4d",x);
printf(" ");
return0;
}
⑶ C語言-求三位數的水仙花數
首先說一下什凱和亮么是水仙花數,就是一個三位數,它的各個位數上的數字的立方相加等於它本身,例如153,1的立方1,5的立方125,3的立方9,1+125+9=153
求水仙花數的基本思想
首先要滿足三盯寬位數這個條件,所以循環從i=100到i =999
然後就是要取這個三位數各個位數的數字,取百位上的數,用除法i/100,因為i是int 類型所以結果就是百位上的數字
十位上的數,先取10的余數再除以10
個位上的數,直接取10的余數即可
最後再用一個if語句判斷一下各個位數立方和是否等於這個數i
下面是我上機實驗的圖片
其實求各個位數的方法有點不一樣,沒影響的,方法很多,但是我覺得上述文字中方法更簡潔
3.12
今天早上起來又看到一個新方法
可以棚悔用do while
⑷ 輸入三位數,判斷是不是水仙花數c語言
完整代碼如下(請自己添加包含必要的頭文件):
int main()
{
int input = 0;
scanf("%d", &input); //輸入
int ge = input % 10; //獲取個位數字
int shi = (input / 10) % 10; //獲取十位數字
int = input / 100; //獲取百位數字
//計算各位的立方和,與原數比較
int newNum = (ge*ge*ge) + (shi*shi*shi) + (**);
if (newNum == input)
{
printf("數字%d是水仙花數。",input);
}
else
{
printf("數字%d不是水仙花數。", input);
}
return 0
}
⑸ c語言 編程求三位數的水仙花數
#include <stdio.h>
int main()
{
int i;
for( i=100; i<1000; i++)
{
int num0 = i%10;
int num1 = i/10%10;
int num2 = i/10/10%10;
if(i==(num0*num0*num0+num1*num1*num1+num2*num2*num2))
{ printf("%5d", i);
}
}
return 0;
}
⑹ c語言編程 一個三位數的水仙花數 的程序
#include <stdio.h>
main()
{
int input_number,one_level,ten_level,hun_level;
for(input_number=100;input_number<1000;input_number++)
{
one_level=input_number%10;
ten_level=(input_number/10)%10;
hun_level=input_number/100;
if(input_number==one_level*one_level*one_level+ten_level*ten_level*ten_level+hun_level*hun_level*hun_level)
printf("%d\n",input_number);
}
}
⑺ 水仙花數的c語言編程。
C語言具體實現水仙花過程如下:
一、問題描述:
輸出所有的「水仙花數」,所謂的「水仙花數」是指一個三位數其各位數字的立方和等於該數本身,例如153是「水仙花數」,因為:153 = 13 + 53 + 33。
二、問題分析:
根據「水仙花數」的定義,判斷一個數是否為「水仙花數」,最重要的是要把給出的三位數的個位、十位、百位分別拆分,並求其立方和(設為s),若s與給出的三位數相等, 三位數為「水仙花數」,反之,則不是。
三、演算法設計:
「水仙花數」是指滿足某一條件的三位數,根據這一信息可以確定整數的取值范圍是 100〜999。對應的循環條件如下:
for(n=10; n<1000; n++) { //...... }
四、完整的代碼:
⑻ c語言。。用if語句編程,輸入一個三位數,判斷是否為水仙花數。
三位的水仙花數就是每一位的立方之和和這個三位數相等的數,用if語句編程,輸入一個三位數,判斷是否為水仙花數,可以參考以下的代碼:
include<stdio.h>
main()
{ int x,a,b,c;
scanf("%d",x);
a=x/100;
b=(x/10)%10;
c=x%10;
if(x==a*a*a+b*b*b+c*c*c)
printf("YES");
else
printf("NOT");
}
(8)三位數水仙花數c語言if擴展閱讀:
if的返回值為真或假,可以用bool型變數進行存儲,佔用一位元組。
C語言中提供了2種形式的if語句:
1、if(表達式)語句1,例如:
if(x>y)
printf("%d",x);
2、if(表達式),語句1
else
語句2,例如:
if(x>y)
printf("%d",x);
else
printf("%d",y);
⑼ 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;
}
⑽ 用C語言寫出判斷一個三位數是否為水仙花數的程序
#include<stdio.h>
void main()
{ int i,j,k,m;
printf("input data:");
scanf("%d",&m); /*輸入一個3位數*/
i=m/100;
j=(m-100*i)/10;
k=m-100*i-10*j;
if(m==i*i*i+j*j*j+k*k*k) printf("%d
",m); /*是水仙花數時輸出*/
}