c語言c逆向輸出
㈠ c語言 將一個正整數逆序輸出
思路:逆序輸出一個整數可以對其除10直到其為0為止,並輸出其對10取余,最後的結果就是這個整數的逆序。
參考代碼:
#include
int main()
{
int n;
scanf("%d",&n);
while(n)
{
printf("%d ",n%10);
n/=10;
}
return 0;
}
/*
輸出:
12345
5 4 3 2 1
*/
㈡ c語言怎麼正向反向輸出字元
這里分享下c語言正向反向輸出字元的方法。
設備:聯想h430
系統:win1064位
軟體:c語言c99
1、打開Dev-C++軟體,新建一個空白文件。
7、最後,輸出寬字元變數,用wprintf命令實現輸出。
㈢ C語言逆向輸出
首先,很欣賞你的要求;然後我來講講我的思路,僅供參考:
思路(一):直接用int類型做,判斷位數時,當然用循環從小到大循環,用"%"(模)的方式判斷;你的第二第三個問題一起做比較好,用求模和整除的方式分割這個數,然後把分割的每一位數累加到另一個int類型上。
思路(二):用字元串做,用庫函數strlen很容易判斷位數,也很容易輸出每位數,以及倒序;其實倒序更容易,只要倒著輸出就行,不一定要重新放到另一個字元串中。
思路(三):用遞歸函數做,用一個int作為計數,一個char類型的用來逐個放置,控制好結束條件,即輸入「\n」時結束,然後自然容易做到那3點。
其實,以上逆序的方法都可以換成對稱的思路……
㈣ c語言逆序輸出
是的,getchar()函數是這樣使用的(括弧中不帶參數)。
看起來這一段代碼是用來復制字元串的。
int a[6];應當改為:
char a[100];
前面的兩段for循環應當改為:
for(i=0;i<=a[0];i++)
a[i+1]=n[i];
其餘的(包括第三個for循環)不變,就可以了。
㈤ 如何用C語言將字元串逆序輸出
C語言程序如下:
#include<stdio.h>
#include<string.h>
main()
{
int i,j,t,n;
char a[10];
printf("請輸入字元串:");
gets(a);
n=strlen(a);
for(i=0;i<=n/2;i++)
{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
for(j=0;j<n;j++)
printf("%c",a[j]);
printf(" ");
}
(5)c語言c逆向輸出擴展閱讀:
字元串倒序輸出的五種方法
1、使用數組循環
2、StringBuffer的reverse方法
3、StringBuffer的循環
4、棧的後進先出
5、迭代完成
㈥ 用C語言寫 字元串逆序輸出
逆序輸出有很多種,具體的實現方法取決於你題目的要求
1. 如果只是要求逆序輸出,那麼可以採用類似的方法:
void reverse(char *s)
{
if(*s=='\0')
return;
reverse(s+1);
printf("%c",*s);
}
這種方法在s很長的情況下會一直遞歸到底,不是很好。
2. 如果需要將字元串整個逆序在函數外面輸出,那麼可能希望採用返回字元串指針的方式;實現如下:
char * reverse( char* s )
{
static char *p = s+strlen(s)-1; //p是一個靜態變數,指向當前遞歸層處理的字元串尾,而s指向字元串頭
if(s < p)
{
char c = *p; //交換頭尾字元
*p = *s;
*s = c;
p--; //尾向前挪一個
reverse(s+1); //相當於頭向後挪一個
}
return s;
}
3.1 當然,有的時候,並不需要reverse函數本身遞歸,而是可以藉助一些輔助的遞歸函數,比如說:
void reversehelp(char * head, char * end)
{
if (head < end)
{
char c = *head;
*head = *end;
*end = c;
reversehelp(++head, --end);
}
}
然後在調用時像這樣調用:
char * reverse(char * s)
{
char * end = s + strlen(s) - 1;
reversehelp(s, end);
return s;
}
3.2 類似的輔助函數還可以採用一個字元串指針和一個長度參數的方式,如下例:
void reversehelp( char* s, int n )
{
if ( n > 1 )
{
char c = s[n-1];
s[n-1] = s[0];
s[0] = c;
reversehelp( s+1, n-2 );
}
}
然後在調用時如下:
char *reverse(char *s)
{
reversehelp( s, strlen(s) );
return s;
}
㈦ c語言中怎麼反向輸出字元串
#include <stdio.h>
#include <string.h>
int main()
{
char str[128] = "hello world!";
int len = strlen(str);
int i = len - 1;
while(i >= 0)
{
printf("%c",str[i]);
i--;
}
printf("\n");
return 0;
}
㈧ C語言:輸入一個字元串,然後逆序輸出
可以將整數當做字元串(字元串長度不超過10)接收,然後反向輸出字元數組元素即可。
字元串實際長度可以用strlen函數來計算。
方法程序如下:
#include<stdio.h>
#include<string.h>
main()
{char a[10];int i,j;
scanf("%s",a);
j=strlen(a);
for(i=j-1;i>=0;i--)
printf("%c",a[i]);
printf(" ");}
(8)c語言c逆向輸出擴展閱讀:
C語言高效編程技巧:
一:以空間換時間
計算機程序中最大的矛盾是空間和時間的矛盾,那麼,從這個角度出發逆向思維來考慮程序的效率問題
二:數學方法解決問題
數學是計算機之母,沒有數學的依據和基礎,就沒有計算機發展,所以在編寫程序的時候,採用一些數學方法會對程序的執行效率有數量級的提高。
三:使用位操作
實現高效的C語言編寫的第三招----使用位操作,減少除法和取模的運算。
在計算機程序中,數據的位是可以操作的最小數據單位,理論上可以用「位運算」來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做數據變換使用,但是,靈活的位操作可以有效提高程序運行的效率。
㈨ C語言怎麼逆序輸出啊
程序的關鍵點是:
1.定義一個char類型數組char a[100];
2.輸入字元串scanf("%s", a);
3.獲取字元串長度int iLength = strlen(a);
4.倒序循環輸出
for(int i = iLength -1; i >= 0; i--)
{
prinft("%c", a[i]);
}
5.用上面的步驟應該可以寫出來了。自己做相信更有成就感。
㈩ 輸入三個數,然後逆向輸出 用c語言編寫
思路:定義三個變數a,b,c;鍵盤輸入依次賦值,輸出c,b,a的值即可。
參考代碼:
#include <stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);//鍵盤輸入
printf("%d %d %d\n",c,b,a);//逆序輸出
return 0;
}
/*
運行結果:
1 2 3
3 2 1
*/