标题:【新人给大家拜年了】请教一个问题
取消只看楼主
在路上93
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-1-28
结帖率:100%
已结贴  问题点数:20 回复次数:3 
【新人给大家拜年了】请教一个问题
最近在自学C语言,遇到好多问题。
这是一个数学题:任意一个自然数的三次方能写成连续奇数和的形式。

#include<stdio.h>
#include<stdlib.h>
void main()
{
    int b,c;
    int a;
BG:    printf("Please enter an integer number: ");
    scanf("%d",&a);
    if(a>0&&a<=50)
    {
        printf("The opration result is:\n\t%d^3=",a);
        for(c=a-1;c<a;c++)
        {
            for(b=(a*a-a+1);b<=(a*a+a-1);b=b+2)
            {            
                printf("%d",b);
                if(!(b==(a*a+a-1)))
                    printf("+");
                else
                    break;
            }
        }
        printf("\n\n");
        goto BG;
    }
    else
    {
        printf("You entered an error number!\n");
        a=0;
        goto BG;
    }
}

现在问题是如果输入字符(如:abc)则a清零后,返回BG,跳过scanf函数,从而形成死循环,请问这是怎么回事?
如何解决呢?
搜索更多相关主题的帖子: void 自学 include 数学题 number 
2012-01-28 22:04
在路上93
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-1-28
得分:0 
回复 2楼 墨清扬
我是看谭老师的书,不是说main函数不被谁调用么? 为什么要有返回值呢?
2012-01-31 23:08
在路上93
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-1-28
得分:0 
回复 8楼 linxiaobo
原来是这样啊,我还没学到那一部,以后会注意的。
2012-02-01 23:12
在路上93
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-1-28
得分:0 
以下是引用墨清扬在2012-2-1 13:28:32的发言:

系统调用啊…………用void有时不会错,但是新标准早就禁了,用int肯定正规。还有,不要看谭浩强的书………………
好吧,有的人说好有的人说坏,看看其他的书,都参考一下,其实看 谭老师的书,是为了我的二级考试,开学后我还打算学单片机C语言呢,这个什么书好呢?
2012-02-01 23:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-360086-1-1.html




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

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