首页 > 专题系列 > C基础练习 > C语言程序设计-颠倒整数[选择结构]
2013
12-03

C语言程序设计-颠倒整数[选择结构]

1022 颠倒整数

【问题描述】给定一个最多4位的正整数,将其颠倒过来输出,如果是一位数,则按原数输出,例如:输入123,则输出321。
【输入形式】一个小于10000的正整数。
【输出形式】颠倒后的整数。
【样例输入】1234
【样例输出】4321
【样例说明】控制台输入1234,控制台显示4321。
【评分标准】本题共4个测试点,每个测试点0.25分,全部答对得1分。

#include <stdio.h>

int main()
{

	int num ;
	scanf("%d",&num);
	int x,y,z,n,result;

	if(num > 999)
	{
     x = num / 1000;
	 y = num % 1000 / 100;
	 z = num % 1000 % 100 / 10;
	 n = num % 1000 % 100 % 10;
	 result = n * 1000 + z * 100 + y * 10 + x;
	}
	else if(num > 99 )
	{
		x = num / 100;
		y = num % 100 / 10;
		z = num % 100 % 10;
		result = z * 100 + y * 10 + x;

	}else if(num > 9)
	{
		x = num / 10;
		y = num % 10 ;
		result = y * 10 + x;
	}else
	{
		result = num;
	}

	printf("%d\n",result);
	return 0;
}

 


  1. 我还有个问题想请教一下,就是感觉对于新手来说,递归理解起来有些困难,不知有没有什么好的方法或者什么好的建议?

  2. 题目需要求解的是最小值,而且没有考虑可能存在环,比如
    0 0 0 0 0
    1 1 1 1 0
    1 0 0 0 0
    1 0 1 0 1
    1 0 0 0 0
    会陷入死循环

  3. 第2题,TCP不支持多播,多播和广播仅应用于UDP。所以B选项是不对的。第2题,TCP不支持多播,多播和广播仅应用于UDP。所以B选项是不对的。

  4. 5.1处,反了;“上一个操作符的优先级比操作符ch的优先级大,或栈是空的就入栈。”如代码所述,应为“上一个操作符的优先级比操作符ch的优先级小,或栈是空的就入栈。”