[简答题]任意输入一个三位正整数,十位上的数字不动,将个位和百位上的数字交换,构成一个 新的正整数后输出。(例如:523变为325)

正确答案:

#include<stdio.h>

void main()

{   int num,down,a,b,c;

    scanf("%d",&num);

    if(num<100||num>999)  printf("Input Error!\n");

    else

    {   a=num%10;

        b=num/10%10;

        c=num/100;

        down=100*a+10*b+c;

        printf("num=%d,down=%d\n",num,down);

    }

}

题目解析

因为题干中给出是输入一个三位正整数,即要用if-else语句进行判断,在不符合条件的数值输入时要报错,输入正确的要执行个位和百位上的数字交换。

#include<stdio.h>
void main()
{     int num,down,a,b,c;
      scanf("%d",&num); /*从键盘上输入一个数据*/
      if(num<100||num>999) printf("Input Error!\n"); /*在if语句中判断,如果不是一个三位正整数,提示Input Error!,输入正确执行else语句*/

      else
      {      a=num%10; /*计算个位上的数字*/
             b=num/10%10; /*计算十位上的数字*/
             c=num/100; /*计算百位上的数字*/
             down=100*a+10*b+c; /*个位和百位上的数字交换之后的新的正整数*/

             printf("num=%d,down=%d\n",num,down);
        }
}

扫描二维码
免费搜题、免费刷题、免费查看解析