当前位置:首页 » 编程语言 » c语言反向输出函数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言反向输出函数

发布时间: 2022-02-16 11:58:06

⑴ 输出入一个三位数的将它反向输出用c语言调用函数

intreverse(intn){
inti;
ints;
i=0;
s=0;
while(n>0){
s*=10;
s=n%10;
n=n/10;
}
returns;
}

n就是输入的数

⑵ 用C语言写 字符串逆序输出

逆序输出有很多种,具体的实现方法取决于你题目的要求

1.如果只是要求逆序输出,那么可以采用类似的方法:
voidreverse(char*s)
{
if(*s=='')
return;
reverse(s+1);
printf("%c",*s);
}
这种方法在s很长的情况下会一直递归到底,不是很好。

2.如果需要将字符串整个逆序在函数外面输出,那么可能希望采用返回字符串指针的方式;实现如下:
char*reverse(char*s)
{
staticchar*p=s+strlen(s)-1;//p是一个静态变量,指向当前递归层处理的字符串尾,而s指向字符串头
if(s<p)
{
charc=*p;//交换头尾字符
*p=*s;
*s=c;
p--;//尾向前挪一个
reverse(s+1);//相当于头向后挪一个
}
returns;
}

3.1当然,有的时候,并不需要reverse函数本身递归,而是可以借助一些辅助的递归函数,比如说:
voidreversehelp(char*head,char*end)
{
if(head<end)
{
charc=*head;
*head=*end;
*end=c;
reversehelp(++head,--end);
}
}
然后在调用时像这样调用:
char*reverse(char*s)
{
char*end=s+strlen(s)-1;

reversehelp(s,end);
returns;
}

3.2类似的辅助函数还可以采用一个字符串指针和一个长度参数的方式,如下例:
voidreversehelp(char*s,intn)
{
if(n>1)
{
charc=s[n-1];
s[n-1]=s[0];
s[0]=c;
reversehelp(s+1,n-2);
}
}
然后在调用时如下:
char*reverse(char*s)
{
reversehelp(s,strlen(s));
returns;
}

⑶ c语言写函数实现数组的反向输出

从数据结构的角度来讲,用栈可以实现
从实现的角度来讲,首先知道数组的最后一个元素的位置,然后下标递减的输出就可以了

⑷ C语言反向输出函数指针

voidreverse(int*x,intn){
intt;
int*i,*j;
j=x-1+n;
i=x;
while(i<j){
t=*i;
*i=*j;
*j=t;
i++;
j--;//加上
}
}

⑸ 用c语言写一个将一组数据逆序输出的函数

你好这个是字符串的逆序输出string a="hello world";int i=a.length;int j;for(j=i;j>0;j--){printf("%c",a[j]); } 这个是数组的逆序int i;int a[10]={1,2,3,4,5,6,7,8,9,10};for(i=10;i>0;i++)printf("%d",a[i]); 希望对你有帮助

⑹ C语言 用函数反向输出一个数组

丫是新手吧,这段代码错不少呀
这贴个给你改好的
#include <stdio.h>
#include <stdlib.h>
void ex(int num[], int n);
int main()
{
int i;
int n;
int * num;
printf("输入个数\n");
scanf("%d", &n);
num = (int*)malloc( sizeof(int) * n );

printf("\n输入数组\n");
for(i=0;i<n;i++)
{
scanf("%d",&num[i]);
printf("数组为:%d\n",num[i]);
}

ex(num, n);
for(i=0;i<n;i++)
printf("现在数组为:%d\n",num[i]);

return 0;
}
void ex(int num[], int n)
{
int a=0,t;
while(a<n-1-a)
{
t=num[a];
num[a]=num[n-1-a];
num[n-1-a]=t;
a++;
}
}

⑺ 用C语言将一个整数逆序输出(用自定义函数)

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

intXupai(intn)
{
ints=0,t;
while(n>0)
{
t=n%10;
n=(n-n%10)/10;
s=s*10+t;
}
returns;
}

intmain()
{
intx,result;
printf("输入一个整数:",x);
scanf("%d",&x);
result=Xupai(x);
printf("倒序排后的数为:%d ",result);
system("pause");
return0;
}
输入一个整数:123
倒序排后的数为:321
请按任意键继续...

⑻ C语言将字符串逆序输出问题(用函数)

没有看明白你的代码,如果只是想把字符逆转后再输出.这应是很简单的,下面我写了一个逆转字符后并输出的代码:

#include<stdio.h>
#include<string.h>
#defineSTRING_MAX_LONG100
/*Functionprototypes*/
voidswaping(char*,char*),InverseString(char*,int);

voidmain()
{
charstr[STRING_MAX_LONG];
intstrLen=0;
printf("Pleaseinputstring:");
scanf("%s",str);

InverseString(str,strlen(str));
printf(" Inversestringafter:%s ",str);
}

voidswaping(char*a,char*b)
{
chartemp=*a;
*a=*b;
*b=temp;
}
voidInverseString(chars[],intlen)
{
inti,k=-1,j;
i=j=0;

for(i=k+1;i<len;i++){
j=len-i+k;
if(i>=j)break;
swaping(&s[i],&s[j]);
}
}

⑼ c语言倒序输出

#include <stdio.h>
int main()
{
int num;

scanf("%d",&num);
while(num > 9)
{
printf("%d",num%10);
num /= 10;
}
printf("%d",num);
return 0;
}

⑽ 大家帮帮忙啊!!c语言 输入一行字符,并反向输出,用函数解决!

先定义一个字付串变量,一个整数变量
然后接受字付输入,
得字符串长短将值传给整数变量,用整数变量做--(递减)循环并输出字符,
完成!试试自己写写代码吧!