求一个C语言程序:输入正整数,要求以相反数顺序输出该数。如输入1234,输出4321.

如题所述

int main(int argc, char* argv[])
{
int input;
int ret,num;
printf("Input a int:");
scanf("%d",&input);

for(;;)
{
num=input%10;
input=input/10;

printf("%d",num);
if(input<10)
{
printf("%d\n",input);
break;
}
}

return 0;
}
例子输出。当然实际上,你要把printf的部分保存起来。
Input a int:1234
4321
Press any key to continue
----------------
Input a int:234289701
107982432
Press any key to continue
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-03
这题里面的正整数是忽悠人的,所以不要管它,当作字符串读进来,再倒过来一个字符一个字符输出就好了:

#include<stdio.h>
#include<string.h>

int main()
{
char s[100];
int i,j,k,len;
while(scanf("%s",s)!=EOF)
{
len=strlen(s);
for(i=len-1;i>=0;i--)
putchar(s[i]);
putchar('\n');
}
return 0;
}
第2个回答  2011-01-03
你最好用数组做,
我给两种做法.
#include <stdio.h>
void main()
{int a[4],b[4],i,j;
for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(i=0,j=3;i<4;i++;j--)
b[j]=a[i];
for(i=0;i<4;i++)
a[i]=b[i];
for(i=0;i<4;i++)
printf("%d ",a[i]);
}
运行时输入:
1 2 3 4
输出结果;
4 3 2 1
方法二
#include<stdio.h>
void main()
{int a[4],i,j,t;
for(i=0;i<4;i++)
scanf("%d".&a[i]);
for(i=0,j=3;i<j;i++;j--)
{t=a[j];a[j]=a[i];a[i]=t;}
for(i=0;i<4;i++)
printf("%d ",a[i]);
}
第3个回答  2011-01-03
/*求一个C语言程序:输入正整数,要求以相反数顺序输出该数。如输入1234,输出4321.*/
#include "stdio.h"
void main()
{
int n,m,r;
printf("请输入1个正整数:");
scanf("%d",&n);
m=n;
printf("\n正整数%d反序输出为:",n);
while(m)
{
r=m%10;
printf("%d",r);
m=m/10;
}
}
第4个回答  2011-01-03
#include <stdio.h>
void main(){
int a;
int b=0;
int tem;
printf("输入一个整数");
scanf("%d",&a);
while(a>0){
tem=a%10;
a=a/10;
b=10*b+tem;
}
printf("-->%d",b);
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网