6 逆序输出 1 到 4 位正整数
作者: Turbo 时间限制: 1S 章节: 分支结构
问题描述 :
输入一个不多于 4 位的正整数, 要求按逆序打印出各个位上的数字, 例如原数为 23, 应输出 32; 如原数为 8000, 应输出 0008; 如原数为 1, 则输出 1. 应测试以下情况: 输入的数为 1 位, 2 位, 3 位, 4 位正整数; 此外, 还应测试以下异常情况: 输入负数或 0, 或输入的数超过 4 位.
输入说明 :
输入一个整数, 可能为 0, 也可能为负数.
输出说明 :
输入 1 到 4 位的正整数时, 输出该数的逆序, 如果是其它整数, 则输出 "error!". 输出时, 行首与行尾均无空格.
输入范例 :
8000
输出范例 :
0008
代码:
- #include <stdio.h>
- int main()
- {
- int n, st[4] = {0};
- int top = -1,i=0;
- while (scanf("%d", &n) != EOF)
- {
- if (n<=0 || n>9999)
- {
- printf("error!");
- }
- else
- {
- while (n != 0)
- {
- top++;
- st[top] = n % 10;
- n /= 10;
- }
- while (i <= top)
- {
- printf("%d", st[i]);
- i++;
- }
- }
- printf("\n");
- }
- return 0;
- }
来源: http://www.bubuko.com/infodetail-3399150.html