大家好,我是还未秃头的阿洋,今天介绍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;
}
最后,希望大家可以好好努力,实现理想,不秃头。^ ^