您的位置:首页 > 其它

给一个不多于5位的整数, 要求输出它是几位数, 每一个数字是什么, 再反向输出这个数

2012-10-01 00:11 267 查看
#include <stdio.h>

#include <stdlib.h> //exit的包含函数

void sort(int, int, int, int);  //函数声明

int main()

{

 int num;

 printf("\n请输入一个不多于5位的正整数: ");

 scanf("%d", &num);

 //检查是不是不多于五位, 是的话退出程序并提示输入错误

 if (num > 99999)

 {

  printf("\n你输入的数有误!程序即将退出!");

  exit(0); //终止整个程序

 }

 if(num > 9999) //说明是五位数

 {

  printf("你输入的是一个5位数!\n");

  sort(num, 5, 10000, 0);

  exit(0);

 }

 if(num > 999)

 {

  printf("你输入的是一个4位数!\n");

  sort(num, 4, 1000, 0);

  exit(0);

 }

 if(num > 99)

 {

  printf("你输入的是一个3位数!\n");

  sort(num, 3, 100, 0);

 }

 if(num > 9)

 {

  printf("你输入的是一个2位数!\n");

  sort(num, 2, 10, 0);

 }

 else

 {

  printf("你输入的是一个1位数!\n");

  sort(num, 1, 1, 0);

 }

 return 0;

}

//调用函数实现输出每一位, 再反向输出这个数

void sort(int num,int n, int t, int sum) //参数为数字的位数与t, sum的初始值

{

 //num为输入的数字

 //n为确定的位数

 //t为确定位数后对应的倍数

 //sum为了存放反向输出的数

 int i = 1, w;

 for (;i <= n;num = num/10, i++, t = t/10) //条件

  {

   w = num%10; //取出位数

   printf("从右到左第%d位数字是: %d\n", i, w); //打印

   sum = sum + w*t;

  }

  printf("反向输出这个数是: %d\n", sum);

}

 

 

 

 

 

 

**********************在vc++6.0中结果为**************************

请输入一个不多于5位的正整数: 68543

你输入的是一个5位数!

从右到左第1位数字是: 3

从右到左第2位数字是: 4

从右到左第3位数字是: 5

从右到左第4位数字是: 8

从右到左第5位数字是: 6

反向输出这个数是: 34586

Press any key to continue
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  include
相关文章推荐