c++编程 输入一个不多于5位的正整数,要求: (1)求出它是几位数;
5个回答
展开全部
用整数循环除以10,判断结果不为0就继续循环,最后循环次数就是位数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdlib.h>
#include<stdio.h>
int main()
{
int i=1;
int weishu=1;
int num;
scanf("%d",&num);
if((int)num/10000 && i)
{
weishu=5;
i=0;
}
if((int)num/1000 && i)
{
weishu=4;
i=0;
}
if((int)num/100 && i)
{
weishu=3;
i=0;
}
if((int)num/10 && i)
{
weishu=2;
}
printf("weishu=%d",weishu);
return 0;
}
#include<stdio.h>
int main()
{
int i=1;
int weishu=1;
int num;
scanf("%d",&num);
if((int)num/10000 && i)
{
weishu=5;
i=0;
}
if((int)num/1000 && i)
{
weishu=4;
i=0;
}
if((int)num/100 && i)
{
weishu=3;
i=0;
}
if((int)num/10 && i)
{
weishu=2;
}
printf("weishu=%d",weishu);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int m;
scanf("%d",&m);
int count=0;
while(m){
m/=10;
count++;
}
scanf("%d",&m);
int count=0;
while(m){
m/=10;
count++;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
void main()
{
int num, reverse = 0, count = 0;
while (1)
{
cout<<"请输入一个不多于五位的正整数:";
cin>>num; // 输入数据
if (cin.bad() || num <= 0 || num >= 100000)
{
// 如果输入的不是整数,或者小于0,或者大于5位数,报错重试
cin.clear();
fflush(stdin);
cout<<"输入错误!请重试!"<<endl;
continue;
}
break;
}
// 逆序处理,同时算位数
while (num != 0)
{
int r = num % 10;
reverse = reverse * 10 + r;
num = num / 10;
count++;
}
cout<<"该数为"<<count<<"位数"<<endl;
cout<<"逆序数为"<<reverse<<endl;
}
using namespace std;
void main()
{
int num, reverse = 0, count = 0;
while (1)
{
cout<<"请输入一个不多于五位的正整数:";
cin>>num; // 输入数据
if (cin.bad() || num <= 0 || num >= 100000)
{
// 如果输入的不是整数,或者小于0,或者大于5位数,报错重试
cin.clear();
fflush(stdin);
cout<<"输入错误!请重试!"<<endl;
continue;
}
break;
}
// 逆序处理,同时算位数
while (num != 0)
{
int r = num % 10;
reverse = reverse * 10 + r;
num = num / 10;
count++;
}
cout<<"该数为"<<count<<"位数"<<endl;
cout<<"逆序数为"<<reverse<<endl;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询