给出一个不多于5位的正整数,要求:输出它是几位数;分别输出每一位数,按逆顺序输出各位数字,如321,则123

如题所述

楼主是要用C语言来编写程序么?

以下是C语言程序代码

如果楼主的编译器不支持汉字的话,请将以下代码中汉字替换掉。

#include "stdio.h"

#define M 256

int main(void)

{

 int num,temp,digit_num;

 int digit[M];

 int i,flag;

 

 do

 {

  flag=1;

  printf("请输入数字:\n");

  scanf("%d",&num);

  printf("\n");

  if(num>99999)

  {

   printf("您输入的数字大于5位数!\n");

   printf("\n");

   flag=0;

   printf("\t您要重新输入吗?(y|n?)");

   getchar();

  }

  else break;

 }while(getchar()=='y'||getchar()=='Y');

 if(flag)

 {

  digit_num=0;

  temp=num;

 

  for(i=0;temp!=0;i++)

  {

   digit[i]=temp%10;

   temp=temp/10;

   digit_num++;

  }

  printf("您输入的数字为%d位数\n每位数字按逆序排列为:",digit_num);

  for(i=0;i<digit_num;i++)

   printf("%d ",digit[i]); 

  printf("\n");

 }

 

 getch();

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-26
#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
int a,x,t=0,i=0,c=0;
int b[i];
scanf("%d",&a);
if(a<0||a>10000)
{

printf("please enter again!\n");
scanf("%d",&a);
}
while(a!=0)
{
x=a%10;
b[i]=x;
i++;
a=a/10;
t++;

}
printf("\n");
printf("%d\n",t);

while(i-1>=0)
{
i=i-1;
printf("%d",b[i]);
}
printf("\n");
while(c<=t-1)
{

printf("%d",b[c]);
c++;
}
return 0;
}
相似回答