c#写一个从控制台输入三位数,在程序中分解这三位数,判断输入的三位数是否是水仙花数,并输出结果

作者&投稿:雕闵 (若有异议请与网页底部的电邮联系)
c语言。。用if语句编程,输入一个三位数,判断是否是水仙花数。~

1、严格的水仙花是三位数,并且其每位数的三次方的和等于它的本身。
例子如下:370是一个严格的水仙花数,3^3+7^3+0^3=370.
2、C 语言的"水仙花数"实现代码:
#include
#include
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
",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
",j,a);
}
for (j=1;j<=i ;j++) {
p+=pow(s[j],i);
printf("p=%ld,i=%ld
",p,i);
}
if (p==q) {
printf("%ld 为水仙花数",q);
}else {
printf("%ld 该数不是水仙花数",q);
}
return 0;
}

完整代码如下(请自己添加包含必要的头文件):

int main()
{
int input = 0;

scanf("%d", &input); //输入

int ge = input % 10; //获取个位数字
int shi = (input / 10) % 10; //获取十位数字
int bai = input / 100; //获取百位数字

//计算各位的立方和,与原数比较
int newNum = (ge*ge*ge) + (shi*shi*shi) + (bai*bai*bai);
if (newNum == input)
{
printf("数字%d是水仙花数。",input);
}
else
{
printf("数字%d不是水仙花数。", input);
}
return 0

}

public class TestFoo {
        /// <summary>
        /// 返回是否是水仙数,话说水仙数是个啥有个鸟用。
        /// </summary>
        /// <param name="data">传入的要做判断的对象</param>
        /// <returns></returns>
        public bool IsFit(object data) {
            if (data == null)
                throw new ArgumentNullException();
            int input = 0;
            if (!int.TryParse(data.ToString(), out input))
                throw new ArgumentException("传入的方法参数无法转换为int");
            if (input<100)
                throw new ArgumentException("传入的方法参数必须是3位数及以上的正整数");
            string strint = input.ToString();
            byte[] eachbit = new byte[strint.Length];
            int computedsum = 0;
            for (int cbit = 0; cbit < strint.Length; cbit++) 
            {
                eachbit[cbit] = byte.Parse(strint.Substring(cbit,1));
                computedsum += (int)Math.Pow(eachbit[cbit],   strint.Length); 
            }
            return input == computedsum;
        }
    }

已测试。


提示:

你原封不动交作业的话 肯定不及格,一看就不是你写的。学习这种事儿 建议自己动脑。不要做伸手党,不然学费白交不说,浪费自己的时间。




苍溪县17137863798: c#写一个从控制台输入三位数,在程序中分解这三位数,判断输入的三位数是否是水仙花数,并输出结果 -
闵方藿香: public class TestFoo {/// <summary>/// 返回是否是水仙数,话说水仙数是个啥有个鸟用./// </summary>/// <param name="data">传入的要做判断的对象</param>/// <returns></returns>public bool IsFit(object data) {if (data == null)throw ...

苍溪县17137863798: C#控制台程序.输入三个数,然后判断并输出最大数最小数. -
闵方藿香: using System; using System.Text;namespace ConsoleApplication1 {class Program{static void Main(string[] args){int max = int.MinValue, min = int.MaxValue;int value;Console.WriteLine("请输入3个整数");for (int i = 0; i < 3; i++)...

苍溪县17137863798: C#:从键盘任意输入三个数,求其中最大的数 -
闵方藿香: 我用C#的控制台运用程序写了一个小程序,不知道是不是你想要的,你可以先看看 using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace ConsoleApplication2 {class Program{static void Main(...

苍溪县17137863798: C#编写程序,从键盘输入一个三位数,求其逆序数并输出,比如输入123,输出321. -
闵方藿香: 控制台应用程序吗? 给你写一个: string s = "";char[] c = Console.ReadLine().ToCharArray();for (int i = c.Length; i > 0; i--){s += c[i-1];}Console.WriteLine(s);Console.ReadLine(); 这个你可以输入任何字符都可以输出为逆序.如果要输入数字的话只需要再判断是否为数字就可以了希望对你有所帮助啊

苍溪县17137863798: c#语言.编一个程序,从键盘上输入三个数,把最大数找出来. -
闵方藿香: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19usingSystem;namespaceConsoleMatrix {classProgram{staticvoidMain(string[] args){intx, max = int.MinValue;Console.WriteLine("请输入3个数:");for(inti = 0; i < 3; i++){x = int....

苍溪县17137863798: 编写控制台程序,由键盘输入一个三位正整数,运行程序后倒序输出 -
闵方藿香: #includevoid main() { int a,i=0,b[3]; printf("input a three bit number\n"); scanf("%d",&a); if(a>=100&&a<1000) { b[i++]=a/100; b[i++]=a/10%10; b[i]=a%10; } for(int j=i;j>=0;j--) printf("%d",b[j]); }

苍溪县17137863798: c#编写控制台应用程序,随机产生m个3位正整数(不含333),输出这m个数并计算所有素数之和.
闵方藿香: int i, j,t,s=0,m; Console.Write("输入整数m:"); m = int.Parse(Console.ReadLine());Random r = new Random(); for (i = 1; i <= m; i++) { t = r.Next(100, 1000); if (t == 333) { i--; continue; } else { Console.Write(t.ToString() + " "); for (j = 2; j < t; j++...

苍溪县17137863798: C#中如何在控制台中输入三个数字,找出最小数,并将它们从大到小排列编出? -
闵方藿香: 你那是直接将a[0](a[1])当作字符窜输出了.即使不按字符串输出,上面逻辑也是错的.不应该循环输出 static void Main(string[] args) { int[] numList = new int[3]; numList[0] = int.Parse(Console.ReadLine()); numList[1] = int.Parse(Console.ReadLine...

苍溪县17137863798: C#编写控制台应用程序使用if语句求三个整数最大值和最小值 -
闵方藿香: int a,b,c; int max,min; //最大 if(a>b)if(a>c)max = a;elsemax = c; elseif(b>c)max = b;elsemax = c; //最小 if(a<b)if(a<c)min = a;elsemin = c; elseif(b<c)min = b;elsemin = c;

苍溪县17137863798: 求C#控制台程序输入3个整数,判断它们之间是否能够组成三角形 -
闵方藿香: 这是我自己编写,我调试已经是没有问题的了,你自己再看有没有问题 using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int[] a = new int[3]; int ...

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