| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 420 人关注过本帖
标题:请高手为我纠错 看下为什么输入不正确
只看楼主 加入收藏
为了未来
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:26
专家分:20
注 册:2012-2-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
请高手为我纠错 看下为什么输入不正确
描述
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。
输入
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。
输出
如果n是水仙花数就输出Yes
否则输出No
样例输入
153
154
0样例输出
Yes
No  
为什么输入的时候总不对  大神帮我看下  谢谢
#include "stdafx.h"
#include<stdio.h>
#include<string.h>
bool ShuiXianHua(int n);
void go();
bool ShuiXianHua(int n) //判断是否为水仙花数
{
        int i = (n % 10);
        int j = ((n / 10) % 10);
        int k = (n / 100);
        if(((i * i * i)+(j * j * j)+(k * k * k)) == n)
             return true;
        else return false;   
}

void go()//作循环和退出
{
    int n;
    while (1)
    {  
       printf("请输入一个三位数或者输入0可以退出:\n");
       scanf("%d \n" , &n) ;
       if (n != 0)
       {
           if ((n >= 100) && (n < 1000))
           {   
                bool fag = ShuiXianHua(n);
                if (fag)
                printf("yes\n");
                else printf("no\n");
           }
           else
                printf("输入错误!请重新输入:\n");
       }
       else
           break;
    }
}
main()
{
        go();
}
搜索更多相关主题的帖子: 水仙花 include 测试 
2012-02-25 20:45
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:10 
理解ACM的原理。不要加多余的提示性输出。你的输出是裁判程序的输入。只要按规格给它输入就行了,不能多也不能少。

重剑无锋,大巧不工
2012-02-25 20:58
exo1991
Rank: 2
等 级:论坛游民
帖 子:66
专家分:98
注 册:2011-8-30
收藏
得分:10 
程序代码:
#include<stdio.h>
#include<string.h>
bool ShuiXianHua(int n);
void go();
bool ShuiXianHua(int n) //判断是否为水仙花数
{
        int i = (n % 10);
        int j = ((n / 10) % 10);
        int k = (n / 100);
        if(((i * i * i)+(j * j * j)+(k * k * k)) == n)
        {
             return true;   
        }
        else
        {
             return false;
        }   
}

void go()//作循环和退出
{
    int n;
    while (1)
    { 
       printf("请输入一个三位数或者输入0可以退出:\n");
       scanf("%d",&n) ;
       if (n)
       {
           if ((n >= 100) && (n < 1000))
           {  
                bool fag = ShuiXianHua(n);
                if (fag)
                {
                    printf("yes\n");
                }
                else
                {
                     printf("no\n");
                }
           }
           else
           {
                printf("输入错误!请重新输入:\n");
           }
       }
       else
           break;
    }
}
main()
{
        go();
}


这是我稍微改的,你看看对不对?
2012-02-25 21:19
为了未来
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:26
专家分:20
注 册:2012-2-18
收藏
得分:0 
呵呵  谢谢各位前辈
2012-02-26 15:44
快速回复:请高手为我纠错 看下为什么输入不正确
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011935 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved