PTA 7-48 将数倒置
分数 6
作者 c课程组
单位 湖南工程学院
输入一个四位数的正整数,请将其逆着输出来。
输入格式:
在一行中输入一个四位数的正整数。
输出格式:
在一行中依次输出个位数、十位数、百位数、千位数。(不管是否为0,都输出来,且中间无空格)
输入样例1:
2631
输出样例1:
1362
输入样例2:
2010
输出样例2:
0102
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
方法1—数组方法
#include <stdio.h>
int main(){
char str[4]; // 对于这种具体要求的题目,使用数组更容易完成
scanf("%s",&str);
printf("%c%c%c%c",str[3],str[2],str[1],str[0]);
}
方法2—数学计算
#include <stdio.h>
#include <math.h> //导入数学函数库
int main(void){
int number; //定义一个四位整数
int unit, decade, hunders, kiobit; //定义四位整数倒置后的个, 十, 百, 千位
scanf("%d",&number); //输入一个四位数
if(number >= 1000 && number < 10000){//如果输入的数是四位数就执行if里面的语句
// fmod(x, y)表示求(x / y)的余数
kiobit = fmod(number,10); //倒置后的千位
hunders = (fmod(number,100) - fmod(number,10)) / 10; //倒置后的百位
decade = (fmod(number,1000) - fmod(number,100)) / 100; //倒置后的十位
unit = (number - fmod(number,1000)) / 1000; //倒置后的个位
}
printf("%d%d%d%d", kiobit, hunders, decade, unit); //依次输出倒置后的千,百,十,个位
return 0;
}
解题思路:
step1:取出倒置后的千位
step2:取出倒置后的百位
step3:取出倒置后的十位
step4:取出倒置后的个位
step5:依次输出
归属知识点:
- 方法1:
数组的使用 - 方法2:
数学函数库
运算符的优先级
条件判断