从键盘上输入正整数,按逆序输出到屏幕上,如输出325,则输出523,若大于32767,则在屏幕上提

从键盘上输入正整数,按逆序输出到屏幕上,如输出325,则输出523,若大于32767,则在屏幕上提示数据错误。
C语言

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main()

{

int s32putIn, lop;

while(1)

{

char strPutIn[32] = {0};

printf("*********************************\n");

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

scanf("%d", &s32putIn);

printf("你输入的数据为: %d\n", s32putIn);

if(s32putIn > 32767 || s32putIn < 0)

printf("你输入的数据错误\n");


itoa(s32putIn, strPutIn, 10);


printf("逆序之后输出为: ");

for(lop=strlen(strPutIn)-1; lop>=0; lop--)

printf("%c", strPutIn[lop]);

printf("\n");

}

return 0;

}


程序执行结果如下:


可以循环的输入输出。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-13
#include <stdio.h>
#include <math.h>

void reverse_num(int num){
if(!num)
return;
else {
printf("%d", num % 10);
reverse_num(num / 10);
}
}

int main(){
int num;
printf("input a number : ");
scanf("%d", &num);
if(num <= 32767){
reverse_num(num);
printf("\n");
} else
printf("invalid\n");


return 0;
}

第2个回答  2016-04-13
#include <stdio.h>
int main()
{
char p[10];
int len, i;
int data;
scanf("%s", p);

data = atoi(p);
if (data > 32767) {

printf("err input\n");

return 1;

}

len = strlen(p);
for (i = len - 1; i >= 0; i--)
printf("%c", p[i]);

return 0;

}