
用c语言把一个数字反过来
需要用c语言写一个程序把一组数字反过来。知道怎么把12345弄成54321但是如果数字式1100300这个就不好使了~求高手帮忙!谢谢谢谢...
需要用c语言写一个程序把一组数字反过来。知道怎么把12345弄成54321 但是如果数字式1100300 这个就不好使了~求高手帮忙!谢谢谢谢
展开
5个回答
展开全部
用c语言把一个数字反过来可以参考下面的代码:
#include <stdio.h>
#include <string.h>
void main()
{
char str[100];
printf("请输入一个数:");
gets(str);
printf("%s\n",strrev(str));
}
扩展资料:
printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开。
参考资料来源:百度百科-printf()
展开全部
满意请采纳
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;
}
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存在,前面两个自然会丢
如果做成字符串处理,则不会丢是前两个零
通过第一个字符和最后一个字符交换,然后第二个字符和倒出第二个字符交换... ...
最终形成反序字符串
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于这个反转的,最好先转换成字符串,处理字符串要方便的多,处理完后再把字符串转换成数字
#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);
}
#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));
}
#include <string.h>
void main()
{
char str[100];
printf("请输入一个数:");
gets(str);
printf("%s\n",strrev(str));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询