题目描述:
- 输入一个整数,将这个整数以字符串的形式逆序输出
- 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
- 数据范围:0≤n≤2^30−1
- 输入描述:输入一个int整数
- 输出描述:将这个整数以字符串的形式逆序输出
示例:
输入:1516000
输出:0006151
输入:0
输出:0
复制代码
思路1:
根据输出为字符串的要求,首先将整型数字转换为字符串,并将字符串放入数组中,算出数组长度,逆序将数组以字符串输出。
具体实现:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char str[30];
int num;
int i=0,len;
scanf("%d",&num);
sprintf(str,"%d",num);
len=strlen(str);
for(int i=len-1;i>=0;i--)
printf("%c",str[i]);
system("pause");
return 0;
}
思路2:
输入数字 % 10取得当前个位数并打印,然后nums / 10去掉当前个位数,循环直到输出所有数字,刚好得到逆序数。
具体实现:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main () {
int nums;
cin >> nums;
while(nums) {
cout << nums % 10;
nums /= 10;
}
return 0;
}