| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 544 人关注过本帖
标题:初学者的问题,简单
只看楼主 加入收藏
a0807061987
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
初学者的问题,简单
#include <stdio.h>
int main()
{
   
int i;
double a;

for (i=0;i<3;i++)
scanf("%lf",&a); // 判断是否是整数
{
if(int(a)==a)
     
  printf("Yse\n");
 else
  printf("No\n");
}

 return(0);

}
ps:
请问下各位达人怎么连续输入多个数然后得到结果,而不是输一个得一个啊。
我这个只能输多个数,得一个结果。
哪位达人帮忙给解答下啊。(我是初学,太复杂的方法我看不懂)
得到的结果要像这样:
1
2.23
3.000
Yes
No
Yes
而不是
1
yes
2.23
NO
3.000
yes


搜索更多相关主题的帖子: include double 
2010-10-27 22:55
zlx162636
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-10-26
收藏
得分:0 
先定义一个数组。将你要输入的数据输入进去,然后一个个取出来判断。。
2010-10-28 09:08
a0807061987
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-25
收藏
得分:0 
#include <stdio.h>
int main()
{
    double a;
 int shu[3],o;  
 for(o=0;o<3;o++)  
 {
     scanf("%lf",&a);   
 shu[o]=a;  //数组赋值
 }
 for(o=0;o<3;o++)  
 {
a=shu[o];//数组输出

 if(int(a)==a)//判断是否是整数
  printf("Yse\n");
 else
  printf("No\n");
 }
 return a;
}
不行啊,到底怎么弄的?
高手帮忙解决下,先谢了。
2010-10-28 10:58
pbreak
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:83
专家分:558
注 册:2007-5-10
收藏
得分:0 
你的要求帮你改一下,但其中算法有问题就不帮你该了。
int main()
{
    double a;
    int shu[3],o = 0;  
    while (o < 3)
    {
        scanf("%lf",&a);
        shu[o] = a;  //数组赋值
        a = shu[o];//数组输出
        ++o;
        if ( int(a) == a )//判断是否是整数
            printf("Yse\n");
        else
            printf("No\n");
    }   
    return a;
}
2010-10-28 11:54
a0807061987
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-25
收藏
得分:0 
楼上得到的结果要像这样:
1
2.23
3.000
Yes
No
Yes
而不是
1
yes
2.23
NO
3.000
yes
你这个我修改了下能跑,但是跑出来是
1
yes
2.23
NO
3.000
yes
这样的结果
2010-10-28 13:27
pbreak
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:83
专家分:558
注 册:2007-5-10
收藏
得分:20 
前面没有看懂你的意思:
看这下可以了不:
int main()
{
    double a;
    double shu[3];
    int o;  
    for(o=0;o<3;o++)  
    {
        scanf("%lf",&a);   
        shu[o]=a;  //数组赋值
    }
    for(o=0;o<3;o++)  
    {
        a=shu[o];//数组输出

        if(int(a) == a)//判断是否是整数
            printf("Yse\n");
        else
        printf("No\n");
    }
    return a;
}
2010-10-28 14:11
andyandy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:108
专家分:94
注 册:2009-4-28
收藏
得分:0 
结果要像这样:
1
2.23
3.000
Yes
No
Yes
那么操作是什么?应该是
输入1        回车
输入2.23     回车
输入3.000    回车
这其中有延时判断问题。如何判断一个数字输完?如何判断全部数字输完?
工程问题看起来简单,其实不简单。
简单是想得简单,其实不是。
问题真的是个好问题。
2010-10-28 16:30
xdzsm
Rank: 2
等 级:论坛游民
帖 子:137
专家分:99
注 册:2010-10-26
收藏
得分:0 
#include<stdio.h>
int main()
{
    double a;
    double shu[3];
    int o;  
    for(o=0;o<3;o++)  
    {
        scanf("%lf",&a);   
        shu[o]=a;  //数组赋值
    }
    for(o=0;o<3;o++)  
    {
        a=shu[o];//数组输出
        if(abs(a)== a)//判断是否是整数
        printf("Yse\n");
        else
        printf("No\n");
    }
    system("pause");
    return a;
}

在Dev-cpp下,“if(int(a)==a)//判断是否是整数”报错,

换成“if(abs(a)==a)//判断是否是整数”就好了。

2010-10-28 19:25
xdzsm
Rank: 2
等 级:论坛游民
帖 子:137
专家分:99
注 册:2010-10-26
收藏
得分:0 
但是  abs()  是对整型求绝对值,不明白为什么这也可以。
然而,abs() 改为 fabs() 时又会出错。
谁能解释
2010-10-28 19:30
zlx162636
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-10-26
收藏
得分:0 
回复 7楼 andyandy
你改成if((int(a))==a )试下,估计是操作级别不够高 那个式子成了将bool类型强制转换成int型了
2011-08-21 20:59
快速回复:初学者的问题,简单
数据加载中...
 
   



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

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