重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include
创新互联建站长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为祥云企业提供专业的成都网站建设、成都网站制作,祥云网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
stdio.h
void
main()
{
void
proc(int
n);
int
n;
scanf("Input
n:%d",n);
proc(n);
void
proc(int
n)
//递归函数
{
if(n\10==0)
//n剩一位数字
{
printf("%d",n);
return();
}
printf("%d",n%10);
//打印最后一位数字
proc(n\10);
//递归,去掉n的最后一位然后调用自己
}
}
楼主你好。
#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;
}
这个程序经试验可以运行成功。如果有问题可以再问我。希望对你有帮助。
int reverse(int n)
{
int r=0;
while(n!=0)
{
r*=10;
r+=(n%10);
n/=10;
}
return r;
}
#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;
}
运行示例:
请自行对照。
思路是先转成字符串再操作 返回值为计算出的逆序数 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; }
输入三位数比如564
scanf("%d",c);
int d = c%10*100+(c/10)%10+c%100;
printf("%",d)
C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围。
扩展资料:
计算一个排列的逆序数的直接方法是逐个枚举逆序,同时统计个数。例如在序列 { 2, 4, 3, 1 } 中,逆序依次为 (2,1),(4,3),(4,1),(3,1),因此该序列的逆序数为 4。Visual Basic 6.0 编写的示例使用的就是直接计数的方法,函数 NiXushu 返回一个字符串的逆序数。
参考资料来源:百度百科-逆序数