设输入一个0~10000之间的正整数,如何判断该整数是几位数?

作者&投稿:潘婷 (若有异议请与网页底部的电邮联系)
C语言,输入一个小于10000的正整数,求出它是几位数,输出其最高位数字?~

#include
main()
{
int n;//输入的数字
int high;//最高位
int cnt=0;//输入数字的位数
scanf("%d",&n);
if(n<10)
{
high=n;
cnt=1;
}
else
{
while(n)
{
n=n/10;
cnt++;
if(n)
high=n;
}
}
printf("输入数字最高位是%d
",high);
printf("输入数字是%d位数
",cnt);
}

public static void main(String[] args) {
System.out.println("请输入一个0~99999之间的整数,再按回车键:");
Scanner sc = new Scanner(System.in);
try {
int n = sc.nextInt();
if (n 99999) {
System.out.println("输入的数字超出范围!");
}
System.out.println("输入的数字为"
+ (n < 10 ? 1 : n < 100 ? 2 : n < 1000 ? 3 : n < 10000 ? 4
: 5) + "位数");
} catch (Exception e1) {
System.out.println("输入错误!");
e1.printStackTrace();
}
}

不知道用哪一种编程语言。
给出几个算法思路,供参考。
1、建立一个循环,用n除以10,n=0时,退出循环。循环的次数就是n的位数。

2、用10为底的对数对n求值,然后取整+1,所得整数就是n的位数。首先要排除n=0的情形,因为0不能求对数,需要单独处理,位数设为1。
3、将n转化为字符串,串的长度就是n的位数。

不知道用哪一种编程语言。
给出几个算法思路,供参考。
1、建立一个循环,用n除以10,n=0时,退出循环。循环的次数就是n的位数。

2、用10为底的对数对n求值,然后取整+1,所得整数就是n的位数。首先要排除n=0的情形,因为0不能求对数,需要单独处理,位数设为1。
3、将n转化为字符串,串的长度就是n的位数。


C语言编程:编写一个猜数的游戏,系统自动产生一个随机数,你来猜,程序给...
import java.util.*;class Assignment8{ public static void main(String[]args){ Scanner sc=new Scanner(System.in);int x=(int)(Math.random()*100);\/\/生成一个0~100的随机数 int y=-1;System.out.println("已生成0~100的随机整数,请输入您所猜的数:");while(x!=y){ y=sc.next...

用C++编此程序:从键盘输入 0 ~ 100 之间的整数,分别统计 0 ~ 59,60...
include <iostream> using namespace std;void main(){ int i,num[5]={0},count[5]={0};\/\/用前面这个数组保存个数,后面的保存总和 while(cin>>i)\/\/输入0-100之间的数,^Z结束 { if(i>=0&&i<=59){ num[0]++;count[0]=count[0]+i;} else if(i>=60&&i<=69){ num[1]++...

随机产生一个0-100之间的整数,由用户去猜,猜的数大了、小了、对了均给...
include <stdio.h>int main(){int num;int i,answer;srand(time(NULL));num = rand()%100;printf("%d\\n",num);for(i=0;i<8;i++){if(i<7){printf("请输入一个100以内的数字\\n");scanf("%d",&answer);if(answer>num){printf("太大了\\n");continue;}else if(answer<num){...

怎样在一个EXCEL单元格中表示0-100这些数字
还是在一个单元格中输入 1.一列中输入1--100 输入开始的两个数值 鼠标选中输入的两个数值 指针移动到选择框的右下角 鼠标指针变为小十字形状时按住鼠标左键拖拉到100 2.在一个单元格中输入1--100 输入1后按键盘上的Alt + 回车 输入2后按键盘上的Alt + 回车 以次类推 希望可以帮你!!

编写Python程序,生成一个0~100之间的随机数,然后让用户尝试猜测这个数 ...
建立猜数类,累属性随机一个一到一百的数字,然后进行判断。做完后发现还是有个次数限制更有意思,所以做了个装饰器统计次数,10次没猜出来就结束,如果不想要去掉即可。

C++ 语言 生成一个0~100的随机数
二、实现代码 include <iostream.h>int main(int argc, char *argv[]){int number = 0;\/\/随机数 int input = 0;\/\/记录用户输入的数字 srand(unsigned(time(0)));\/\/获取系统时间 number = rand()%100;\/\/生成随机数 cout<<"Please guess the number (0-100):" ;\/\/输入提示语句 cin>>...

C语言:从键盘输入一个不超过100个字符的字符串,其中字符串只包括字母...
1、首先需要打开编程软件。2、输入以下程序:#include <stdio.h>int main(){ char str[40]; scanf("%s",&str); printf("%s",str); return 0;}。3、然后按F5运行程序。4、然后输入想要输入的字符串。5、按回车键,就会弹出你输入的字符串。6、注意字符串的大小,改变中括号中的数字改变输入...

C语言 编一个程序,产生0-100随机数,然后用选择排序法,从小到大排列_百 ...
k;srand((unsigned)time(NULL));for(i=0;i<100;nDec[i++]=rand());for(i=0;i<100;i++){ for(k=i,j=k+1;j<100;j++)if(nDec[k]>nDec[j]) k=j;if(i!=k){ j=nDec[i];nDec[i]=nDec[k];nDec[k]=j;} printf("%d ",nDec[i]);} printf("\\n");return 0;} ...

C语言编程:输入10个人的C语言成绩(0~100之间),输出最高分,最低分和平 ...
include<stdio.h>void main(){int a[10],i,min,max;float aver;for(i=0;i<10;i++)scanf("%d",&a[i]);min = max = aver = a[0];for(i=1;i<10;i++){if(a[i]<min) min = a[i];if(a[i]>max) max = a[i];aver +=a[i];}aver \/=10;printf("%d %d %f\\n",...

c语言题1 输出0-100之间的奇数,每5个一行。2 计算100-200之间4的倍数之...
题目1 include <stdio.h>int main(){ int i; int cnt=0; for(i=1;i<100;i+=2) { printf("%2d ",i); cnt++; if(cnt%5==0) { printf("\\n"); } } return 0;}题目2 include <stdio.h>int main(){ int i; int sum=0; fo...

房县18919425117: 输入一个小于10000的正整数,输出该整数各位上的数字各是多少 -
枞待水溶: # include int main() { int a; scanf("%d", &a); printf("千位:%d\n", a/1000); printf("百位:%d\n", (a%1000)/100); printf("十位:%d\n", a%100/10); printf("个位:%d\n", a%10); return 0; }

房县18919425117: 编写一个程序输入一个小于10000的正整数输出该整数各位上的数字各是多少 -
枞待水溶: C?VF? 给你思路.. n=9981(这个是输入的数) i=n%10 求余数 = 1 就是各位的数 j=n/10 除以10取整 998 把个位抹去了然后继续循环 直到j=0 或者 四次结束.

房县18919425117: c语言题目:写出程序 要求从键盘上输入一个十到十万之间的整数,将其最高位数外的数字输出 -
枞待水溶: //一个简单的方法 int num; int i=10; printf("请输入一个10~100000之间的数"); scanf("%d",&num); while(num%ii*=10; } printf("%d",num%(i/10));

房县18919425117: C语言新人求助! -
枞待水溶: #include<stdio.h> void main() { long a; int b,c,d,e,f; printf("输入一个小于六位的正整数\n"); scanf("%ld",&a); if ((a/100000)>0) {printf("输入错误");b=0;} else if ((a/10000)>0&&(a/10000)<10) {printf("该数为5位数\n");b=5;} else if ((a/...

房县18919425117: 第一个:输入一个小于10000的正整数,输出该证书各位上的数字各是多少; -
枞待水溶: #include<stdio.h> int main() {int a,i,k;int b[5];while(scanf("%d",&a)!=EOF) {i=0;while(a) {b[i]=a%10; //把每次个位上的数赋给数组a=a/10;i++; }for(k=0;k<i;k++)printf("%d ",b[k]); }return 0; }#include<stdio.h> void main() {char c1,c2...

房县18919425117: 从键盘任意输入一个不大于10000的正整数x,编程计算x的每一位数字相加之和 -
枞待水溶: int getsum(int value) { int sum = 0; int a,b=value; do{ a=b%10; b=b/10; sum += a; }while(b != 0); rerurn sum; }将输入的数字带到函数中就得到和了

房县18919425117: 3. 【问题描述】给出一个不多于10位的正整数,急急急!!! -
枞待水溶: #include<stdio.h>#include<math.h> int main() { int num,n,a,b,c,d,e; printf("请输入一个正整数(0—99999):"); scanf("%d",&num); if(num<100000&&num>9999) n=5; else if(num<10000&&num>999) n=4; else if(num<1000&&num>99) n=3;...

房县18919425117: 计算机编程题:给出一个不大于10000的正整数,输出它是几位数.谢谢啦 -
枞待水溶: 定义个字符串变量,赋值,返回变量长度就行了.

房县18919425117: 编写一个C程序,判断给出的正整数(10000以内)是否是质数 -
枞待水溶: int sushu(int n) { // 返回-1表示非素数,返回0表示素数,返回1表示大于10000 if(n > 10000) return 1; int i; for(i = 0; i

房县18919425117: 用C语言输出1到10000之间的所有素数 -
枞待水溶: C语言程序如下: #include<stdio.h> int main() { int i,j,k=0; for(i=2;i<10000;i++) { for(j=2;j*j<=i;j++) if(i%j==0) break; if(j*j>i) { printf("%d ",i); k++; if(k%5==0) printf("\n"); } } } 扩展资料: C语言判断素数的思路 思路1:因此判断一个整数m是否...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网