c++编程 输入一个不多于5位的正整数,要求: (1)求出它是几位数;

 我来答
V亮剑
2011-05-18 · TA获得超过288个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:94.4万
展开全部
#include<iostream.h>

void main()
{
int num,count;
cout<<"请输入一个五位以内的整数"<<endl;
cin>>num;
count=1;
while(num/10>0)
{
count++;
num=num/10;
}
cout<<"它是一个"<<count<<"位数"<<endl;
}
任我熊熊
2011-05-18
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
用整数循环除以10,判断结果不为0就继续循环,最后循环次数就是位数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
松甜恬0Je4ba
推荐于2017-09-21 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3476万
展开全部
#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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0c23c17
2011-05-18
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
int m;
scanf("%d",&m);
int count=0;
while(m){
m/=10;
count++;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
uajwmxj
推荐于2018-06-26 · TA获得超过724个赞
知道答主
回答量:353
采纳率:100%
帮助的人:0
展开全部
#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;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式