0
点赞
收藏
分享

微信扫一扫

7-3 逆序的三位数 (c语言)

weednoah 2022-02-05 阅读 110

大家好,我是还未秃头的阿洋,今天介绍pta7-3;

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

输入格式:

每个测试是一个3位的正整数。

输出格式:

输出按位逆序的数。

样例:">样例:">样例:">样例:">样例:">输入样例:

123

输出样例:

321

一、这题还是比较简单的,有两种解法,第一种呢就是利用数组来存储,第二种更加简单就是直接取余然后在加到一起就行了。

第一种:刚开始的时候输出忘记判断倒序过后是否前几个数为0。只有这个地方比较难一些。

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	int num,i=0;
	int a[3]={0};
	scanf("%d",&num);
	while(num)
	{
		for(i=0;i<3;i++)
    	{
	    	a[i]=num%10;
		    num=num/10;
     	}
   }
	 	
    for(i=0;i<3;i++)
    	{   if((a[i]!=0)||(a[i]==0&&a[i-1]!=0))
    		printf("%d",a[i]);
		}
	
	return 0;
}

第二种:这种方法不需要判断倒序过后是否前几个数为0。

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	int num;
	scanf("%d",&num);

    num=(num%10)*100+((num/10)%10)*10+num/100;
	printf("%d",num);	
	return 0;
}

最后,希望大家可以好好努力,实现理想,不秃头。^ ^

举报

相关推荐

0 条评论