當前位置:首頁 » 編程語言 » 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語言 輸入一行字元,並反向輸出,用函數解決!

先定義一個字付串變數,一個整數變數
然後接受字付輸入,
得字元串長短將值傳給整數變數,用整數變數做--(遞減)循環並輸出字元,
完成!試試自己寫寫代碼吧!