大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
楼主你好。
创新互联专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,雅安移动机房,雅安移动机房,成都多线服务器托管等服务器托管服务。
#includestdio.h
#includestring.h
#include stdlib.h
#define MAX 100
int reverse(int number)
{
char s_no[MAX],t; //定义字符数组,用来存放转换后的字符串。并定义一个字符变量
int i,n;
sprintf(s_no, "%d", number); //将数字转换成字符串存放在字符数组中
n=strlen(s_no)-1; //计算字符串长度
for(i=0;i=n/2;i++)
{ t=s_no[i],s_no[i]=s_no[n-i],s_no[n-i]=t;} //将字符串前后的对应字符交换
return (atoi(s_no)); //将交换后的字符串转换成数字返回给主函数
}
int main()
{
int no,new_no;
printf("Please input number:");
scanf("%d",no);
new_no=reverse(no);
printf("The new number is %d:\n",new_no);
return 0;
}
这个程序经试验可以运行成功。如果有问题可以再问我。希望对你有帮助。
#includestdio.h
void main(){
int x, n;
printf("请输入一个数:");
scanf("%d",n);
printf("逆序输出如下:\n");
while(n0){
x=n%10;
printf("%d ",x);
n=n/10;
}
printf("\n");
}
结果如下:
#include stdio.h
int main()
{
int n,m=0;
scanf("%d",n);
while(n)
{m=m*10+n%10;n/=10;}
printf("%d",m);
return 0;
}
运行示例:
请自行对照。
代码里有一些问题,看注释。
#includestdio.h
int nixu (int n,int a[]);
void main()
{
int a[10],i;
printf("please input 10 numbers\n");
for(i=0; i10; i++)
scanf("%d",a[i]); /*数组10个元素,最大下标只能到9,a[10]越界;另外a[i]才是需要输入的元素,而不是恒定某一个元素*/
nixu (10, a);
for(i=0; i10; i++) /*输出数组同样也要循环*/
printf("%d ",a[i]); /*数组10个元素,最大下标只能到9,a[10]越界*/
}
int nixu (int n, int a[]) /*函数定义参数不能和局部变量重名*/
{
int i,k=(n-1)/2,t; /*运算符/比-优先级高,要加括号*/
for(i=0; i=k; i++)
{ /*逆序过程只要一重循环就可以了*/
t=a[i];
a[i]=a[n-i-1]; /*尾部对应的数组下标要找对*/
a[n-i-1]=t;
}
return 0; /*返回随便一个值就可以,调用的地方不需要函数返回值,不能返回数组首地址*/
}
不用求原来的数字到底是几位,直接用取余数乘10的方法就可以了。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
思路是先转成字符串再操作 返回值为计算出的逆序数 int f(int num) { char an[15]; int i, len, t, neg = 0; if(num 0) { num = -num; neg = 1; } sprintf(an, "%d", num); len = strlen(an); for(i=0; ilen/2; i++) { t = an[i]; an[i] = an[len - 1 -i]; an[len - 1 -i] = t; } num = atoi(an); return (neg?-num:num); } 刚才没看到你还没学到字符串,再给你个简单点的 int f(int num) { int a=0,b; while (num != 0) { b=num%10; a=a*10+b; num=num/10; } return a; }