编程将任意一个4位正整数逆序输出,要求不输出前导0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程将任意一个4位正整数逆序输出,要求不输出前导0相关的知识,希望对你有一定的参考价值。

参考技术A @SuppressWarnings("resource")
Scanner z = new Scanner(System.in);
int a = z.nextInt();
if(a>=1000&&a<10000)
int q = a/1000;
int b = a%1000/100;
int s = a%1000%100/10;
int g = a%1000%100%10;
System.out.println(q+" "+b+" "+s+" "+g+" ");
System.out.println("逆序:"+(g*1000+s*100+b*10+q));
else
System.out.println("输入的不是4位数");

C语言中任意输入一个整数 编一个程序输出整数长度 能不能有解法

可以用sprintf(str, "%d", num);将数字输出为字符串,再用strlen(str)检查其长度:

int nulen(int num)

char str[10];
sprintf(str, "%d", num);

return strlen(str);

参考技术A #include<stdio.h>
int main()

int a,i,j;
scanf("%d",&a);
for(i=1,j=0;;i=i*10)

if(a==0)

printf("共有1位\n");
break;

else

if(a/i==0)

printf("共有%d位\n",j);
break;

j++;


return 0;


这样也可以看它的长度是多少
参考技术B 如果没有其他要求,你可以把输入的整数当字符串看待,然后一个函数就可以搞定了strlen追问

这是非主函数的程序 可以把数字转化成字符串吗?

追答

如果已知输入的参数是int 类型,不用考虑超大的正整数溢出之类,那么可以:
1、偷懒的法子:简单地用个itoa之类的函数转化成字符串,然后strlen搞定
2、自己实现:用个for循环,除以10,一直到等于0 为止,记录下循环次数就是长度

以上是关于编程将任意一个4位正整数逆序输出,要求不输出前导0的主要内容,如果未能解决你的问题,请参考以下文章

一道C语言编程题,求大神们帮帮忙,谢谢了。。

给定一个不多于5位的正整数,要求:① 求它是几位数;② 分别打印出每一位数字;③ 按逆序打印出各位数

编写程序,输入一个不多于5位的正整数,要求:(1)输出它是几位数; (2)分别输出每一位数字?

8086汇编输入一正整数,统计其位数,输出各个位数及反向输出各个位数(逆序数)(输入范围:1~32767,带提示信息)

8086汇编输入一正整数,统计其位数,输出各个位数及反向输出各个位数(逆序数)(输入范围:1~32767,带提示信息)

8086汇编输入一正整数,统计其位数,输出各个位数及反向输出各个位数(逆序数)(输入范围:1~32767,带提示信息)