回 帖 发 新 帖 刷新版面

主题:问个问题!!

求代码;
输入数据,判断是否为整数,如果是 ,输出所有比它小的正整数,
如果不是, 输出erroy;
例如输入2.6或jh输出erroy;
输入11,输出10,9,8,7,6,5,4,3,2,1

回复列表 (共3个回复)

沙发

double a;//定义为该类型可以避免由于强制转换导致的储物判断
cin>>a;
if(a-int(a))  //用与强制转换后的差值来判断是否为整数
cout<<"erroy"<<endl;
break;
else
for(int i=a-1;i>0;i--)
cout<<i<<"  ";

板凳

[img]http://blog.pfan.cn/upfile/201004/20100402001738.jpg[/img]

3 楼

#include <iostream>
#include <string>
using namespace std;
void main()
{
    string str;
    cout<<"请输入数据:";
    cin>>str;
    bool t=1;
    for(int i=0;i<str.size();i++)
        if(str[i]>'9'||str[i]<'0')
        {cout<<"error"<<endl;
         t=0;
         break;
        }
    if(t==1)
    {int n = atoi(&str[0]);
    if(n<1)
        cout<<"不能建立数组";
    else
        {int* p=new int [n];
         for(int i=0;i<n;i++)
            p[i]=i+1;
         for(i=0;i<n;i++)
            cout<<p[i]<<" ";
         cout<<endl;
        delete [] p;
        }
    }
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册