| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1879 人关注过本帖
标题:c语言新手编程错误求解
只看楼主 加入收藏
头晕了
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-3-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:16 
c语言新手编程错误求解
问题1为什麽无法输出No Answer?
/*已知xyz+yzz=n,其中n是一个正整数,x、y、z都是数字(0-9),编写一个程序求出x、y、z分别代表什么数字。如果无解,则输出“No Answer”
注意:xyz和yzz表示一个三位数,而不是表示x*y*z和y*z*z。*/
#include<stdio.h>
int main()
{
    int x,y,z,n,flag;
    flag=0;
    scanf("%d",&n);
    for(x=0;x<=9;x++)
    {
        for(y=0;y<=9;y++)
        {
            for(z=0;z<=9;z++)
            if(12*z+110*y+100*x==n)
            {
                printf("%4d%4d%4d\n",x,y,z);
                flag=1;
            }
        }
    }
    if(flag=0)
        printf("No Answer\n");
}
问题二
/*在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各n响。已知A舰每个a秒放一次,B舰每隔b秒放一次,C舰每隔c秒放一次。假设各炮手对事件的掌握非常准确,请编程计算观众总共可以听到几次炮声*/
#include<stdio.h>
int main()
{
    int n,a,b,c,sum1,sum2,sum3,i,j,k,sum0=0,A,B,C,D,E;
    scanf("%d%d%d%d",&n,&a,&b,&c);
    for(i=0;i<n;i++)
    {
        sum1=a*i;
        for(j=0;j<n;j++)
        {
            sum2=b*j;
            for(k=0;k<n;k++)
            {
                sum3=c*k;
            }
        }
        if(sum1==sum2)
        {
            A++;
            {
                if(sum2==sum3)
                    B++;
            }
        }
        if(sum1!=sum2)
        {
            if(sum3==sum1||sum3==sum1)
                C++;
            if(sum3!=sum1&&sum3==sum2)
                D++;
            if(sum3!=sum2&&sum3==sum1)
                E++;
        }
    }
    printf("%d",3*n-(A+B+C+D+E));

    return 0;
}
搜索更多相关主题的帖子: include 正整数 c语言 
2014-03-11 17:40
ljx小子
Rank: 8Rank: 8
来 自:星星
等 级:蝙蝠侠
威 望:2
帖 子:222
专家分:916
注 册:2013-10-7
收藏
得分:3 
输不出NO answer 是因为这里
if(flag=0)

判断应为if(flag==0)

。。。。。。。。。。。
2014-03-11 17:53
ljx小子
Rank: 8Rank: 8
来 自:星星
等 级:蝙蝠侠
威 望:2
帖 子:222
专家分:916
注 册:2013-10-7
收藏
得分:0 
下面的问题是什么??

。。。。。。。。。。。
2014-03-11 17:54
loveClangage
Rank: 8Rank: 8
来 自:广东云浮
等 级:蝙蝠侠
帖 子:326
专家分:891
注 册:2013-8-23
收藏
得分:3 
注意细节,

编写的程序,不能改变世界,却可以改变自己...
2014-03-11 17:58
头晕了
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-3-11
收藏
得分:0 
回复 3楼 ljx小子
样例输入21 5 6 7,输出54,但是我的程序输出不是54!!!
/*在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各n响。已知A舰每个a秒放一次,B舰每隔b秒放一次,C舰每隔c秒放一次。假设各炮手对事件的掌握非常准确,请编程计算观众总共可以听到几次炮声*/
#include<stdio.h>
int main()
{
    int n,a,b,c,sum1,sum2,sum3,i,j,k,sum0=0,A,B,C,D,E;
    scanf("%d%d%d%d",&n,&a,&b,&c);
    for(i=0;i<n;i++)
    {
        sum1=a*i;
        for(j=0;j<n;j++)
        {
            sum2=b*j;
            for(k=0;k<n;k++)
            {
                sum3=c*k;
            }
        }
        if(sum1==sum2)
        {
            A++;
            {
                if(sum2==sum3)
                    B++;
            }
        }
        if(sum1!=sum2)
        {
            if(sum3==sum1||sum3==sum1)
                C++;
            if(sum3!=sum1&&sum3==sum2)
                D++;
            if(sum3!=sum2&&sum3==sum1)
                E++;
        }
    }
    printf("%d",3*n-(A+B+C+D+E));

    return 0;
}
2014-03-11 17:59
ljx小子
Rank: 8Rank: 8
来 自:星星
等 级:蝙蝠侠
威 望:2
帖 子:222
专家分:916
注 册:2013-10-7
收藏
得分:0 
你的题目那个n到底表示什么??你看一下原题,

。。。。。。。。。。。
2014-03-11 18:05
头晕了
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-3-11
收藏
得分:0 
回复 6楼 ljx小子
在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各“n”响。已知A舰每个a秒放一次,B舰每隔b秒放一次,C舰每隔c秒放一次。假设各炮手对事件的掌握非常准确,请编程计算观众总共可以听到几次炮声。
2014-03-11 18:10
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:3 
/*在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各n响。已知A舰每个a秒放一次,B舰每隔b秒放一次,C舰每隔c秒放一次。假设各炮手对事件的掌握非常准确,请编程计算观众总共可以听到几次炮声*/
#include<stdio.h>
int main()
{
    int n,a,b,c,sum1,sum2,sum3,i,j,k,sum0=0,A=0,B=0,C=0,D=0,E=0;

    scanf("%d%d%d%d",&n,&a,&b,&c);

    for(i=0;i<n;i++)
    {
        sum1=a*i;
        for(j=0;j<n;j++)
        {
            sum2=b*j;
            for(k=0;k<n;k++)
            {
                sum3=c*k;
                if(sum1==sum2)    //-------------应在最内循环中
                {
                    A++;
                    {
                        if(sum2==sum3)
                            B++;
                    }
                }
                if(sum1!=sum2)
                {
                    if(sum3==sum1||sum3==sum1)
                        C++;
                    if(sum3!=sum1&&sum3==sum2)
                        D++;
                    if(sum3!=sum2&&sum3==sum1)
                        E++;
                }

            }
        }
        
    }
    printf("%d\n",3*n-(A+B+C+D+E));

    return 0;
}

[ 本帖最后由 ying8501 于 2014-3-11 18:40 编辑 ]
2014-03-11 18:37
头晕了
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-3-11
收藏
得分:0 
回复 8楼 ying8501
#include<stdio.h>
int main()
{
    int n,a,b,c,i,j,k,x=0,y=0;
    scanf("%d%d%d%d",&n,&a,&b,&c);
    for(i=0;i<=n;i++)
    {
        for(j=0;j<=n;j++)
        {
            if(b*j==a*i)
                x++;
            for(k=0;k<=n;k++)
            {
                if(c*k==a*i||c*k==b*j)
                    y++;
            }
        }
    }
    printf("%d\n",3*n-x-y);
    return 0;
}
代码这样写有错误吗?
2014-03-11 18:52
头晕了
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-3-11
收藏
得分:0 
回复 8楼 ying8501
我想尽可能的简化代码,你帮我修改的那个,我试了一下,还是不对,我在新代码上改了一下,麻烦在看一下
2014-03-11 18:56
快速回复:c语言新手编程错误求解
数据加载中...
 
   



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

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