| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 796 人关注过本帖
标题:敲代码
只看楼主 加入收藏
minions3344
Rank: 1
来 自:杭州
等 级:新手上路
帖 子:12
专家分:0
注 册:2016-2-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
敲代码
#include "stdio.h"
#include<math.h>
int main()
{
   double a,b;
   scanf("%lf\n",&a);
   if(0<a<1000)
   {
        b=sqrt(a);
        printf("%5.0f\n",b);
   }
  
   printf("are you kidding me?");
   return 0;
}
从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入。
程序正确,但是按enter没反应。
搜索更多相关主题的帖子: include double 
2016-02-24 20:04
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:10 
。。。。。
以下是引用书生牛犊在2016-2-24 19:59:21的发言:

因为你的scanf里面多了一个‘\n’这就表示那句scanf必须读到‘\’‘n’这两个字符才能完成,进入下一条语句程序代码:

#include "stdio.h"
#include<math.h>
int main()
 {
    double a,b;
    scanf("%lf\n",&a);//建议修改为scanf("%lf",&a);
    if(0<a<1000)
    {
         b=sqrt(a);
         printf("%5.0f\n",b);
    }
                               //另外,这个位置应该加一个“else”,不然的话下面那句输出显得不伦不类
    printf("are you kidding me?");
    return 0;
 }


φ(゜▽゜*)♪
2016-02-24 20:31
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:10 
程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
   int a,b;  //输入输出都为整数
   scanf("%d",&a);
   
   if(a>0&&a<1000)  //注意c语言和数学上的表达不一样
   {
        b=(int)sqrt(a);  //sqrt返回double,强制转换为整数
        printf("%d\n",b);
   }
   else  //如果不是小1000的正整数,则输出提示
   printf("Are you kidding me?\n");

   return 0;
}


[此贴子已经被作者于2016-2-24 20:42编辑过]


   唯实惟新 至诚致志
2016-02-24 20:41
minions3344
Rank: 1
来 自:杭州
等 级:新手上路
帖 子:12
专家分:0
注 册:2016-2-24
收藏
得分:0 
回复 3楼 qq1023569223
知识点好多。
2016-02-25 09:26
快速回复:敲代码
数据加载中...
 
   



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

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