| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1330 人关注过本帖
标题:problems
只看楼主 加入收藏
情义控灬浮云
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2017-8-3
结帖率:80.95%
收藏
已结贴  问题点数:20 回复次数:4 
problems
# include<stdio.h>
# include<math.h>
int main()
{
    int x,y,z;
    printf("请输入一个小于1000的正数:\n");
    scanf("%d",&x);
    while(x<=0||x>1000)
    {printf("您输入的值不符合要求,请重新输入:\n");gets(z);}
    y=sqrt(x);
    printf("结果为:%d\n",y);
}
这个我为啥输入了一个数之后程序就崩溃了?, 还有如果我想每次输入一个数都去验证一下要怎么做啊,求大师解析。
搜索更多相关主题的帖子: include int printf 输入 一个数 
2017-09-10 16:08
fsing
Rank: 1
等 级:新手上路
帖 子:4
专家分:9
注 册:2017-9-10
收藏
得分:5 
gets(z)?gets是从标准输入设备读字符串函数,用来读取数字可以吗?
2017-09-10 17:10
虾米小小小
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:30
专家分:135
注 册:2017-7-22
收藏
得分:5 
gets()函数是从stdio流中读入字符串的,gets(z)这种读取一个int型数据是真没见过......
看你程序只是想输入一个1000以内的正数并求出该数的平方根而已,那干嘛要三个变量呢?
# include<stdio.h>
# include<math.h>
int main()
{
    int x,y,z;
    printf("请输入一个小于1000的正数:\n");
    scanf("%d",&x);
    while(x<=0||x>1000)
    {
        printf("您输入的值不符合要求,请重新输入:\n");
        scanf("%d",&x);        
    }
    y=sqrt(x);
    printf("结果为:%d\n",y);
}
图片附件: 游客没有浏览图片的权限,请 登录注册
2017-09-10 17:33
mike_free
Rank: 3Rank: 3
来 自:CN
等 级:论坛游侠
威 望:1
帖 子:36
专家分:139
注 册:2017-8-25
收藏
得分:5 
因为你错误地使用了读取字符串的函数get(),要读取数字你还是要用scanf().

努力就是最大的收获
2017-09-12 08:39
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:5 
getchar()是读取字符,gets()是读取字符串
2017-09-12 21:54
快速回复:problems
数据加载中...
 
   



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

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