精华内容
下载资源
问答
  • 一、简单版(只实现这两需求) ...#len函数可以查看字符串的长度,也就是能得出这是一个几位数,用str转换成字符串之后才能跟前后文字拼接 print('我把它倒过来给你看看:',''.join(list(reversed(nu...

    一、简单版(只实现这两个需求)

    num=input('你好呀,请输入一个不多于五位的正整数>>>')
    print('嗯,我看过了,这是一个'+str(len(num))+'位数。')
    #len函数可以查看字符串的长度,也就是能得出这是一个几位数,用str转换成字符串之后才能跟前后文字拼接
    print('我把它倒过来给你看看:',''.join(list(reversed(num))))
    #reversed函数把原数字反转过来,返回的结果是迭代器
    #用list函数把迭代器变成列表
    #用join方法连接list里的所有元素,得到列表,用于连接的字符是什么也没有,所以就会无缝拼接

    但是有一些数字翻转过来跟原来是一样的,比如8,88,858,8558,85658,所以下面的升级版会把这些无聊的翻转考虑进去,让程序更智能一点,更,em,可爱一点……

    二、升级版

    num=input('你好呀!请输入一个不多于五位的正整数:')
    print('嗯,我看过了。它是一个'+str(len(num))+'位数。')
    if (len(num)==1) or (len(num)<=3 and num[0]==num[-1]) or (num[0]==num[-1] and num[1]==num[-2]):
    #这里提出了三种懒得反转的情况,分别是只有一位数,比如8
    #两位或者三位数,第一个数字和最后一个数字相同,比如88,858
    #四位或者五位数,第一个数字和最后一个数字相同,第二个数字和倒数第二个数字相同,比如8558,85658
    
        print('我本来想把它倒过来给你看看,但是它倒着写不好玩儿,算了吧~')
    else:
        print('我把它倒过来了,现在它变成了',''.join(list(reversed(num)))) 

    三、自己造轮子(关注算法的请看)

    num=input('请输入一个不超过5位的正整数>>>')
    num=int(num)
    #变量res用于存储逆转之后的数字
    res=0
    #变量count用于存储数字位数
    count=0
    #下面是这个算法的核心
    while num !=0:
        #用取余数的方式取出当前的个位数字,
        # 把结果中原来已有的部分乘以10,加上刚取出来的个位数字。
        #这就相当于把原来的部分往前挪了一下,给新来的个位数腾出来一个地方
        res=res*10+num%10
        #用除以10并向下取整的方式把已经处理过的数位去掉
        num=int(num/10)8
        #每处理一次,就给计数器count加1,用这样的方式计算num是几位数
        count+=1
    print('这是一个%s位数,它的逆序数字是%s'%(count,res))

    为了帮助大家更好地理解上述算法的核心,请看下面的图解:

     

     

    如果这篇博文帮到了你,就请给我点个吧(#^.^#)

    有疑问也欢迎留言~博主可nice啦,在线秒回ヾ(◍°∇°◍)ノ゙

    展开全文
  • C语言判断一个数是几位

    千次阅读 2019-08-26 10:25:18
    判断一个数是几位数 #include<stdio.h> #include<string.h> int main() { char l[30],s[30]; int i,j,lenl,lens; printf("Input a long string:\n"); gets(l); printf("Input a short string:\n");...

    判断一个数是几位数

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char l[30],s[30];
    	int i,j,lenl,lens;
    	printf("Input a long string:\n");
    	gets(l);
    	printf("Input a short string:\n");
    	gets(s);
    	lenl=strlen(l);
    	lens=strlen(s);
    
    	for(i=0;i<=lenl-lens;i++)
    	{
    		for(j=0;j<lens;j++)
    		{
    			if(l[i+j]!=s[j])
    				break;
    			if(j==lens-1)
    			{
    				printf("Yes\n");
    				return 0;
    			}
    		}
    	}
    	printf("NO\n");
    	return 0;
    }
    

    判断一个数是几位数并逆序

    #include<stdio.h>
    #include<math.h>
    int main()
    {
    	int num,n;
    	int i=0;
    	printf("输入一个不多于五位的正整数:");
    	scanf("%d",&num);
    
    	while(num)
    	{
    		n=num%10;
    		printf("%d",n);
    		num=num/10;
    		i++;
    	}
    
    	while(num/10>=1)
    	{
    		i++;
    		num=num/10;
    	}
    	printf("是%d位数\n",i);
    	return 0;
    }
    
    展开全文
  • 给出一不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一数字 3、按逆序输出各位数字,例如原为321,应输出123 输入 一不大于5位的数字 输出 三行 第一行 位数 第二行 用空格分开的每数字,...

    题目描述

    给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123

    输入

    一个不大于5位的数字
    

    输出

    三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数
    

    样例输入

    12345
    

    样例输出

    5
    1 2 3 4 5
    54321
    

    提示

    哈姆雷特:数字还是字符?这是一个问题!
    

    来源/分类

    C语言 
    

    题目截图:
    在这里插入图片描述
    思路:

    利用:
    %运算,和/运算!将独立的数存入一个数组里!
    %运算取得余数,/运算使得参与运算的数不断减小!
    我们定义一个最大的数组:长度为5!这下总能装得下吧~哈哈~
    int b[5]={0};
    先是有个判断条件:必须要5位数以内!
    if(a<1000000)
    {}
    就用这个啦!
    但是那个统计位数,可是让人头痛呀!只好再找个变量啦~
    利用a来进行运算,但是a的值后面还要用到,因此只能用一个临时变量啦!
    定义一个:t 
    c初始化为0!每执行一次运算就加一!这样就可以获得它的位数啦!
    do{
     		t/=10;
     		c++;
    	 }while(t!=0);
    获取独立的数:
    	 for(int i=c-1;i>=0;i--)
     		{
     			b[i]=a%10;
     			a/=10;
    		 }cout<<c<<endl;
    假如输入的是:12345.
    我们,会先得到5!这个应该存储在最后面的!所以就把数组颠倒一下!
    从:b[c-1].开始储存数字!
    

    具体代码:

    #include<iostream>
     using namespace std;
     int main()
     {
     	int a,t;int b[5]={0};int c=0;
     	cin>>a;
     	t=a;
     	do{
     		t/=10;
     		c++;
    	 }while(t!=0);
    	 
     	if(a<1000000)
     	{
     		for(int i=c-1;i>=0;i--)
     		{
     			b[i]=a%10;
     			a/=10;
    		 }cout<<c<<endl;
    		 for(int i=0;i<c;i++)
    		 {
    		 	cout<<b[i]<<" ";
    		 }cout<<endl;
    		 for(int i=0;i<c;i++)
    		 {
    		 	cout<<b[c-1-i];
    		 }
    		 
    	 }
    	
    }
    

    代码截图:
    在这里插入图片描述
    OJ执行截图:
    在这里插入图片描述OK!

    展开全文
  • 求一个数是几位数的种方法

    万次阅读 2018-06-12 16:57:30
    第一种:数字分割法 代码如下: #include <stdio.h> void main() { int x,b=0; scanf("%d",&x); while(x>0) { x=x/10; b++; } printf("%d ",b); } 第二种:log10法 ...C语言中只有lo...

    第一种:数字分割法

    代码如下:

    #include <stdio.h>
    void main()
    {
        int x,b=0;
        scanf("%d",&x);
        while(x>0)
        {
            x=x/10;
            b++;
        }
        printf("%d ",b);
    }

    第二种:log10法

    C语言中只有log和log10两种函数。 

    如果想表达log a,b 那么可以使用log(b)/log(a)来解决。

    代码如下:

    #include<iostream>
    #include<cmath>
    using namespace std;
    int main() 
    {
        int n;
        cin>>n;
        cout<<(int)(log10(n))+1;
        return 0;
    }

     

    展开全文
  • 个位十位百位分别遍历1234,但是不保证个位十位百位不能相同 #1234四个数字,可以组成多少个三位 num=0 for ge in range(1,5): for shi in range(1,5): for bai in range(1,5): if ge!=shi and shi!=ba...
  • C语言求一个数是几位数,不使用循环 C语言求一个数是几位数,不使用循环 C语言求一个数是几位数,不使用循环
  • JavaScript如何判断一个数是几位

    万次阅读 2019-08-22 11:42:24
    可以想象当这个数某位数除以10为小数的时候,也就是到了该的最大(例:如123,123除以10取整为12,12除以10取整为1,1除以10为小数,即不符合循环条件),根据此写循环条件: var i = parseInt(prompt('请输入一...
  • 给出一不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一数字 3、按逆序输出各位数字,例如原为321,应输出123。 将下面的程序填写完整。 #include &amp;lt;stdio.h&amp;gt; int main() { ...
  • 给一不多于5位的正整数,要求: (1)求出它是几位数; (2)分别输出每一数字; (3)按逆序输出各位数字,例如原为123,应输出321; 2. 代码 #include &amp;amp;lt;stdio.h&amp;amp;gt; #...
  • /给定一不多于5位的正整数,判断它是几位数,并输出。 输入 一不多于5位的正整数。 输出 输出正整数的位数,单独占一行。 样例输入 Copy 111 样例输出 Copy 3 来源/分类/ int i; int num; int count...
  • 这里给出三种比较代表性的写法:整除法(除10);判断法(if);数组法//整除法 #include &lt;iostream&gt; using namespace std; int main() { float num=0; float temp1=0; int flag=0; cout&lt;...
  • Java怎么判断一整数是一个几位数

    万次阅读 2018-08-11 00:49:54
    **Java怎么判断一整数是一个几位数** import java.util.Scanner; public class TestDome { public static void main(String [] args){ System.out.println(“输入一整数”); 扫描仪输入=新...
  • 判断一整数是几位数——C语言

    千次阅读 2019-07-25 09:00:34
    判断一整数是几位数 2 解法 #include <stdio.h> int main() { int n,bit=0,result; printf("请输入一整数n:"); scanf("%d", &n); result = n; while(1){ if(result==0){ break; } ...
  • 不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 #include &lt;stdio.h&gt; int main() { int i,a,b,c,d,e; scanf("%d",&amp;i); a=i/10000; b=i%10000/1000; ...
  • 得到一个数每一数字的种方法

    万次阅读 多人点赞 2018-10-01 23:19:08
    //用原来的减去的大小 12345变为2345 } for(int x:list){ System.out.print(x); } 3末位取余法。(取出来为倒序) //依次得到一个数的每一(从后往前) int n=12345; int[] a = new...
  • 输入一整数,判断它是几位数

    千次阅读 2019-10-21 14:52:07
    //输入一整数,判断它是几位数 public static void test05(int num){ int count = 0; do { num = num/10; count++; }while(num!=0); System.out.println("这是"+...
  • 挺简单的一东西,对于刚开始学习的我 还是要好好学一下 import java.util.Scanner; class Test42  { public static void main(String[] args)  { int sum = 0; Scanner input = new Scanner(System.in); ...
  • 给一不多于5位的正整数,要求:1)求它是几位数,2)逆序打印出各位数字。关于这问题比较简洁的写法 代码如下: package com.oracle.lianxi4; import java.util.Scanner; public class Test6 { public static ...
  • php如何判断数字是几位数

    万次阅读 2017-09-23 00:01:39
    判断是否为数字 is_numeric() 这函数就是检测参数是否为数字 $a=18; echo strlen($a);
  • Java判断数字为几位数的两种方法

    万次阅读 2017-05-28 13:30:59
    java计算是位数
  • 输入一整数,判断其是几位数

    万次阅读 多人点赞 2017-11-29 16:42:57
    程序分析:对输入的整除10并计数加一,循环此过程,直到商为0为止。#include "stdio.h"int main(void) { int x = 0, n = 0; while (true) { printf("请输入一整数:"); scanf_s("%d", &x); for (n = 0; x > 0...
  • 题目:给一不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 程序分析:学会分解出每一位数。 def theNumberOfNum(self, num): numTemp = int(num) num = int(num) tempList = [] ...
  • 输入一正整数,求出它是几位数

    万次阅读 2018-07-12 23:48:25
    C语言:输入一正整数,求出它是几位数 并将其按倒序输出如:123,输出为321. #include <stdio.h> int Show(int x)//判断位数 { int n=0; while(x!=0) { n++; x/=10; //x=x/10 } return n; } ...
  • #include int main() { int a,g,s,b,q,w; scanf("%d",&a); w=a%100000/10000; q=a%10000/1000; b=a%1000/100; s=a%100/10;... printf("这个数是五位数,他们是%d %d %d %d %d",g,s,b,q,w) ; else i
  • 给出一不多于五的正整数,求出它是几位数
  • C语言基础 求输入的数字是几位数

    万次阅读 2018-10-15 13:45:23
    问题:任意输入一整数,求这是一个几位数字? 思路:每次除以10,则去掉一位数,统计一次。经过循环,直到最后一位数,除以10为0,停止循环,停止统计。 代码: (1)使用for循环 #include&amp;amp;lt;stdio...
  • 给出一不多于5位的正整数 要求: 求出它是几位数; 分别输出每一数字; 按逆序输出各位数字。 ...1.求出它是几位数 ...// total:记录有几位数 do { scanfNum /= 10; total++; }while(scanfNum != 0); prin...
  • //2012年11月10日12:25:12 # include using namespace std; int main() { int iCount = 0; int iNumber, iArray[5] = {0}; cout (1~9999):\n"; cin >> iNumber;
  • 对一个如何得出它是并求出其个位、十位、百位、千位… 给一个不多于5位的正整数,要求: 1.求出它是; 2.分别输出每一位数字; 3.按逆序输出各位数字; 代码如下 #include <stdio.h> #...
  • C语言判断输入的数字是几位数

    万次阅读 2019-03-24 14:26:30
    //每次处以10,少了一,n自增一个数 // break; } printf("%d",n); } 用for语句 #include main() { int a,i,b,n=0; scanf("%d",&a); for(;a!=0;) { n++; a/=10; } if(a==0) printf("%d",n); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,707,466
精华内容 682,986
关键字:

个位上是5的数有几个