| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 695 人关注过本帖
标题:初学者的问题,求解答,不胜感谢
只看楼主 加入收藏
喝白开水的猪
Rank: 1
等 级:新手上路
帖 子:10
专家分:2
注 册:2013-8-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
初学者的问题,求解答,不胜感谢
#include<stdio.h>
void main()
{
    long i,n,c;
    do
    {
        do
        {
            i=2;
            printf("这里求不小于2的自然数n的所有因子,请输入n:");
            scanf("%ld",&n);
            if(n<2)
            {
                printf("输入错误!");
                break;
            }
            while(i<=n)
            {
                if(n%i==0)
                {
                    printf("%ld ",i);
                    n=n/i;
                }
                else
                    i++;
            }
        }while(0);
        printf("\n");
        printf("输入1继续,输入其他数字退出:");
        scanf("%ld",c);
        if(c==1)
            continue;
        else
            break;
    }while(1);

}
/*这里求自然数n的因子,调试能通过,但运行起来总出现问题,求大侠指点!*/

[ 本帖最后由 喝白开水的猪 于 2013-8-1 23:49 编辑 ]
搜索更多相关主题的帖子: include 自然数 
2013-08-01 16:49
喝白开水的猪
Rank: 1
等 级:新手上路
帖 子:10
专家分:2
注 册:2013-8-1
收藏
得分:0 
运行的时候会提示出现运用程序错误!
2013-08-01 16:52
幽灵X
Rank: 5Rank: 5
等 级:职业侠客
帖 子:128
专家分:328
注 册:2013-1-28
收藏
得分:0 
第30行有问题!
2013-08-01 17:19
幽灵X
Rank: 5Rank: 5
等 级:职业侠客
帖 子:128
专家分:328
注 册:2013-1-28
收藏
得分:0 
回复 楼主 喝白开水的猪
不过这样改完还是有问题,楼主再自己测试下数据,不明白再问。
2013-08-01 17:24
q13678986740
Rank: 4
等 级:业余侠客
帖 子:114
专家分:245
注 册:2012-7-7
收藏
得分:0 
#include<stdio.h>
void main()
{
    long i,n,c;
    do                                /*去掉了一层do while()*/
    {
        
        
            i=2;
            printf("这里求不小于2的自然数n的所有因子,请输入n:");
            scanf("%ld",&n);
            if(n<2)
            {
                printf("输入错误!");
                break;
            }
            while(i<=n)
            {   
                if(n%i==0)
                {
                    printf("%ld ",i);
                    n=n/i;
                }
                else
                    i++;
            }
      
             printf("\n");
             printf("输入1继续,输入其他数字退出:");
             scanf("%ld",&c);                                /*这里少个&*/
             if(c==1)
                continue;
             else
                 break;
    }while(1);

}


确实不知道你这循环要来干什么do{}while(0);
2013-08-01 18:33
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:20 
程序没啥大错,就修改了三处,能实现你说的功能,你自己再调个试试
#include<stdio.h>
void main()
{
    long i,n,c;
    do
    {
        do
        {
            i=2;
         printf("这里求不小于2的自然数n的所有因子,请输入n:");
            scanf("%ld",&n);
            if(n<2)
            {
                printf("输入错误!");
               continue;  第一处
            }
               printf("%ld的组成因子是   ",n);第二处
            while(i<=n)
            {
                if(n%i==0)
                {
                    printf("%ld ",i);
                    n=n/i;
                }
                else
                    i++;
            }
        }while(0);
        printf("\n");
        printf("输入1继续,输入其他数字退出:");
        scanf("%ld",&c);第三处
        if(c==1)
            continue;
        else
            break;
    }while(1);

}
收到的鲜花

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-08-01 20:15
喝白开水的猪
Rank: 1
等 级:新手上路
帖 子:10
专家分:2
注 册:2013-8-1
收藏
得分:0 
以下是引用小小程序猿在2013-8-1 20:15:11的发言:

程序没啥大错,就修改了三处,能实现你说的功能,你自己再调个试试
#include<stdio.h>
void main()
{
    long i,n,c;
    do
    {
        do
        {
            i=2;
         printf("这里求不小于2的自然数n的所有因子,请输入n:");
            scanf("%ld",&n);
            if(n<2)
            {
                printf("输入错误!");
               continue;  第一处
            }
               printf("%ld的组成因子是   ",n);第二处
            while(i<=n)
            {
                if(n%i==0)
                {
                    printf("%ld ",i);
                    n=n/i;
                }
                else
                    i++;
            }
        }while(0);
        printf("\n");
        printf("输入1继续,输入其他数字退出:");
        scanf("%ld",&c);第三处
        if(c==1)
            continue;
        else
            break;
    }while(1);

}

非常感谢,主要问题在第三处,改了就能实现程序的目的!再次感谢!

[ 本帖最后由 喝白开水的猪 于 2013-8-1 23:41 编辑 ]
2013-08-01 22:32
喝白开水的猪
Rank: 1
等 级:新手上路
帖 子:10
专家分:2
注 册:2013-8-1
收藏
得分:0 
回复 3楼 幽灵X
谢谢!
2013-08-01 22:35
喝白开水的猪
Rank: 1
等 级:新手上路
帖 子:10
专家分:2
注 册:2013-8-1
收藏
得分:0 
回复 5楼 q13678986740
谢谢!
2013-08-01 23:41
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 
都是在学习嘛,慢慢来,不过你的这个两个do while的套用用的真好啊,受教了,也学习了

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-08-02 12:38
快速回复:初学者的问题,求解答,不胜感谢
数据加载中...
 
   



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

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