主题:问个问题!!
dinghao517
[专家分:20] 发布于 2010-04-01 23:07:00
求代码;
输入数据,判断是否为整数,如果是 ,输出所有比它小的正整数,
如果不是, 输出erroy;
例如输入2.6或jh输出erroy;
输入11,输出10,9,8,7,6,5,4,3,2,1
回复列表 (共3个回复)
沙发
0735 [专家分:480] 发布于 2010-04-01 23:18:00
double a;//定义为该类型可以避免由于强制转换导致的储物判断
cin>>a;
if(a-int(a)) //用与强制转换后的差值来判断是否为整数
cout<<"erroy"<<endl;
break;
else
for(int i=a-1;i>0;i--)
cout<<i<<" ";
板凳
cxxcomp [专家分:2370] 发布于 2010-04-02 00:19:00
[img]http://blog.pfan.cn/upfile/201004/20100402001738.jpg[/img]
3 楼
dinghao517 [专家分:20] 发布于 2010-04-02 10:39:00
#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;
}
}
}
我来回复