重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
①要求
我们拥有十年网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都做网站、成都网站设计、微信开发、小程序开发、手机网站制作设计、H5高端网站建设、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。
将正整数或负整数
从个位开始逆序输出。
涉及三个变量,
n是原数,
m用于储存提取的个位数,
y用于储存重新组合的逆序数。
~
②定义函数
#include stdio.h
int fun(int n)
{int m,y} ;
/*给y赋初值,组合数在组合之前为0。*/
y=0;
/*给m赋初值,将原数n的绝对值赋值给m。
我试了,也可以直接m=n,删除y=(n=0)?y:-y,结果一样有负号,绝对值具体还有什么用,等待大神解答。*/
if(n=0)m=n;
else m=-n;
/*当m不为0时,循环继续。
当m为0时,即提取到只剩一位数时,m=m/10=0,循环结束。*/
while(m!=0)
{y=y*10+m%10;
/*提取个位:m%10。
已经提取个位升为十位:y乘10。
逆序组合数:y。*/
m=m/10;}
/*降位提取个位:m/10
不断除10取整,屏蔽个位;
不断将十位降为个位,再提取;
直到只剩一位数,循环结束。*/
y=(n=0)?y:-y;
/*将负数的负号恢复。*/
return y;
}
③主函数
{int m1,m2;
scanf("%d%d",m1,m2);
printf("%d的逆序是%d\t",m1,fun(m1));
printf("%d的逆序是%d\t",m2,fun(m2));
return 0;
}
④思路整理
1.输入原数:n
2.求绝对值:m=|n|
3.提取个位:m%10
4.逆序组合:y=y*10+m%10
5.高位降位:m/10
6.恢复负号:y=(n=0)?y:-y
#include stdio.h
int main()
{ int len,i;
char str[100];
gets(str);
len=strlen(str);
for(i=len-1;i=0;i--)
printf("%c",str[i]);
return 0;
}
拓展资料
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
你是想按倒序重新放到一个数组里 然后将数组地址返回是吧,想法不错 但上面代码实现不了的。因为你的数组r[5]的生命周期是在fun函数运行期间,当函数调用结束返回时,这个函数的栈清空,数组r[5]也就不存在了。
#include "stdio.h"
#define N 5
void fun(int arr[],int n)
{
int temp,i;
for(i=0;i=n/2-1;i++)
{
temp=arr[i];
arr[i]=arr[n-i-1];
arr[n-i-1]=temp;
}
}
main()
{
int a[N]={8,6,5,4,1},i;
for(i=0;iN;i++)
printf("%4d",a[i]);
printf("\n");
fun(a,N);
for(i=0;iN;i++)
printf("%4d",a[i]);
}