用c语言把一个数字反过来

需要用c语言写一个程序把一组数字反过来。知道怎么把12345弄成54321但是如果数字式1100300这个就不好使了~求高手帮忙!谢谢谢谢... 需要用c语言写一个程序把一组数字反过来。知道怎么把12345弄成54321 但是如果数字式1100300 这个就不好使了~求高手帮忙!谢谢谢谢 展开
 我来答
四舍五不入6
高粉答主

2020-01-16 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71389

向TA提问 私信TA
展开全部

c语言把一个数字反过来可以参考下面的代码:

#include <stdio.h>

#include <string.h>

void main()

{

char str[100];

printf("请输入一个数:");

gets(str);

printf("%s\n",strrev(str));

}

扩展资料:

printf()函数的调用格式为:

printf("<格式化字符串>", <参量表>);

其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开。

参考资料来源:百度百科-printf()

鷹弈
推荐于2017-09-09 · TA获得超过5194个赞
知道大有可为答主
回答量:1257
采纳率:0%
帮助的人:668万
展开全部
满意请采纳

00123不是一个数,而是一个字串!

代码如下
#include <stdio.h>
#include <string.h>

#define SIZE 100

int main(void)
{
int i, len, temp;
char str[SIZE];

printf("请输入一串数:\n");
scanf("%s", str);

len = strlen(str);

for (i=0; i<len/2; i++)//第一个与最后一个交换,第二个与倒出第二个交换,... ...直到len/2
{
temp = str[i];
str[i] = str[len-i-1];
str[len-i-1] = temp;
}

printf("%s\n", str);

return 0;
}

#include <stdio.h>

#define SIZE 20

int main(void)
{
int i, j = 0;
int num;
int arr[SIZE] = { 0 };

printf("请输入一个数:");
scanf("%d", &num);

while (0 != num)
{
arr[j++] = num % 10;
num /= 10;
}

for (i=0; i<j; i++)
{
printf("%d", arr[i]);
}
printf("\n");

return 0;
}
更多追问追答
追问
可以不用string就用int吗?麻烦再给我讲讲呗
追答
不行
如果int类型是00123,只会有123存在,前面两个自然会丢

如果做成字符串处理,则不会丢是前两个零
通过第一个字符和最后一个字符交换,然后第二个字符和倒出第二个字符交换... ...
最终形成反序字符串
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西瓜妈妈育儿助手
2011-10-22 · 新手妈妈育儿助手,24小时在线的育儿专家
西瓜妈妈育儿助手
采纳数:158 获赞数:549

向TA提问 私信TA
展开全部
对于这个反转的,最好先转换成字符串,处理字符串要方便的多,处理完后再把字符串转换成数字
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
char str1[20]; //转换前
char str2[20]; //转换后
int nb;
char *p=str1;
char *q=str2;

printf("输入一个数:");
scanf("%d",&nb);
sprintf(p,"%d",nb); //int 转换成字符串
while(*p)
p++;
for(int i=0;i<strlen(str1);i++)
*q++=*(--p);
*q=0;
nb=atoi(str2);
printf("%d\n",nb);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-10-22
展开全部
#include <stdio.h>
#include <string.h>
void main()
{
char str[100];
printf("请输入一个数:");
gets(str);
printf("%s\n",strrev(str));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guangliangxing
推荐于2017-10-06 · TA获得超过104个赞
知道小有建树答主
回答量:176
采纳率:0%
帮助的人:119万
展开全部
#include <stdio.h>

int main(void)
{
int i, j = 0;
int num;
int rstN=0;

printf("请输入一个数:");
scanf("%d", &num);

while (0 != num)
{
rstN = rstN*10;
rstN += num % 10;
num /= 10;
}

printf("%d\n", rstN);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式