
用microsoft visual C++6.0求输入一个正整数,求出数是几位数。我编写的程序无法执行,求原因和正解,谢谢
'#include<iostream>#include<math.h>usingnamespacestd;intmain(){unsignedintx,n;cout<<"...
'#include<iostream>
#include<math.h>
using namespace std;
int main()
{
unsigned
int x,n;
cout<<"请输入一个正整数:";
cin>>x;
while(x>0)
{
n=1;
if(x>=pow(10,n-1)&&x<pow(10,n))
cout<<"正整数的位数是:"<<n<<endl;
else
n=n+1;
continue;
}
} 展开
#include<math.h>
using namespace std;
int main()
{
unsigned
int x,n;
cout<<"请输入一个正整数:";
cin>>x;
while(x>0)
{
n=1;
if(x>=pow(10,n-1)&&x<pow(10,n))
cout<<"正整数的位数是:"<<n<<endl;
else
n=n+1;
continue;
}
} 展开
3个回答
展开全部
n=1;
while(x>0)
{
if(x>=pow(10,n-1)&&x<pow(10,n))
cout<<"正整数的位数是:"<<n<<endl;
else
n=n+1;
continue;
}
n=1 写在while循环的外面, 不然的话每次while循环n都赋值成1, 每次都是一样的
while(x>0)
{
if(x>=pow(10,n-1)&&x<pow(10,n))
cout<<"正整数的位数是:"<<n<<endl;
else
n=n+1;
continue;
}
n=1 写在while循环的外面, 不然的话每次while循环n都赋值成1, 每次都是一样的
展开全部
没有太理解你这个代码的意思,while循环没有结束条件,会一直运行下去。
不在这个基础上改了,直接写了一个,不知道是不是满足你这个要求。
int main()
{
int iInNum=0, iN=1;
cout << "Please input a integer :";
cin >> iInNum;
if(iInNum <= 0)
{
cout << "Error ! Please input a integer";
}
while (iInNum > 10)
{
iInNum = iInNum / 10;
iN ++;
}
cout << "the result is: " << iN << endl;
}
不在这个基础上改了,直接写了一个,不知道是不是满足你这个要求。
int main()
{
int iInNum=0, iN=1;
cout << "Please input a integer :";
cin >> iInNum;
if(iInNum <= 0)
{
cout << "Error ! Please input a integer";
}
while (iInNum > 10)
{
iInNum = iInNum / 10;
iN ++;
}
cout << "the result is: " << iN << endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
main()
{
int i;int x=1,n=0;
printf("请输入一个正整数:");
scanf("%d",&i);
whlie(i!=0)
{
i=i/10;
n++;
}
printf("这个正整数的位数为%d",n);
}
用C 帮你写了一个,你可以自己跟踪一下看看,N代表了这个数字是几位数。。
main()
{
int i;int x=1,n=0;
printf("请输入一个正整数:");
scanf("%d",&i);
whlie(i!=0)
{
i=i/10;
n++;
}
printf("这个正整数的位数为%d",n);
}
用C 帮你写了一个,你可以自己跟踪一下看看,N代表了这个数字是几位数。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询