黑马程序员技术交流社区

标题: 这个问题怎么解决? [打印本页]

作者: 冯道明    时间: 2014-10-31 14:35
标题: 这个问题怎么解决?
计算1+2+3+4...+n的值
#include <stdio.h>
int main()
{
    int n = 0;
    while (n<=0)
    {
        printf("请输入一个正整数: \n");
        scanf("%d" , &n);
    }
    int sum= 0;
    int number =0;
    while (number<n)
    {
       number++;
       sum +=number;
    }
    printf ("%d" , sum);
    return 0;
}
这个程序中如果输入的是小于等于零的整数还能提示再次输入,要是用户不小心输入了比如a、b、c等字符怎么解决?该加些什么代码?
作者: 易拉罐    时间: 2014-10-31 21:12
直接加一个判断n的值,如果a的值小于0就直接让重新输入。
作者: 冯道明    时间: 2014-11-1 23:43
易拉罐 发表于 2014-10-31 21:12
直接加一个判断n的值,如果a的值小于0就直接让重新输入。

代码里有判断的!我说的是要是他输的不是整数要怎么验证并让重新输入
作者: 易拉罐    时间: 2014-11-1 23:45
冯道明 发表于 2014-11-1 23:43
代码里有判断的!我说的是要是他输的不是整数要怎么验证并让重新输入

用C语言中的goto语句吧。先判断一下你输入原来输入的数,如果符合要求就进入下一个流程,不合格,就让重新输入。
作者: 冯道明    时间: 2014-11-2 00:06
易拉罐 发表于 2014-11-1 23:45
用C语言中的goto语句吧。先判断一下你输入原来输入的数,如果符合要求就进入下一个流程,不合格,就让重 ...

没学到goto句,所以不懂,但是还要谢谢你
作者: 此生逍遥    时间: 2014-11-2 00:08
加一个判断语句就行了,只不过判断的是字符而已




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2