C語言 | 將數字轉為字符串

2021-12-29 C語言入門到精通

收錄於話題 #小林C語言源碼 103個

「要成為絕世高手,並非一朝一夕,除非是天生武學奇才,但是這種人…萬中無一」

這道理放在C語言學習上也一併受用。在編程方面有著天賦異稟的人畢竟是少數,我們大多數人想要從C語言小白進階到高手,需要經歷的是日積月累的學習。那麼如何學習呢?當然是每天都練習一道C語言題目!!

作者

閆小林

白天搬磚,晚上做夢。我有故事,你有酒麼?

例73:C語言用遞歸方法將一個整數n轉換成字符串。例如,輸入483,應輸出字符串「483」,n的位數不確定i,可以是任意位數的整數。 
解題思路:如果是負數,要把它轉換為正數,同時為地輸出一個「-」號。convert函數隻處理正數。字符『0』的ASCII代碼是48,3+48=51,51是字符『3』的代碼,因此putchar(n%10+『0』)輸出字符『3』。32在ASCII代碼中代表空格,以使兩個字符之間空格隔開。

#include<stdio.h>//頭文件
int main()//主函數
{
  void convert(int n);//函數聲明
  int number;//定義整型變量
  printf("輸入一個整數:");//提示語句
  scanf("%d",&number);//鍵盤輸入
  printf("輸出結構:");//提示語句
  if(number<0)
  {
    putchar('-'); //先輸出一個-號
    putchar(' '); //再輸出一個空格
    number=-number;
  }
  convert(number);//調用自定義的轉換方法
  printf("\n");//換行
  return 0;//主函數返回值為0
}
void convert(int n)//自定義的轉換方法
{
  int i;//定義整型變量
  if((i=n/10)!=0)//遞歸
  {
    convert(i);
  }
  putchar(n%10+'0');
  putchar(32);
}

輸入一個整數:45573
輸出結構:4 5 5 7 3

--
Process exited after 6.404 seconds with return value 0
請按任意鍵繼續. . .


以上,如果你看了覺得對你有所幫助,就給小林點個讚,分享給身邊的人叭,這樣小林也有更新下去的動力,跪謝各位父老鄉親啦~

相關焦點

  • c語言字符串 數字轉換函數大全
    最近學數據結構老是做實驗,常用到字符串和數字的轉換,想找卻發現網上的資料太散,所以搜集整理一下,方便以後再用。範例 /*將字符串a與字符串b轉換成數字後相加*/     #include<stdlib.h>     main()     {     char a[]=」1000000000」;     char b[]=」 234567890
  • C語言字符數組和字符串
    如果不對 c[5]賦任何值,『\0』會由系統自動添加。 字符數組也可採用字符串常量的賦值方式,例如: 二、兩者的區別1、定義不一樣1、字符串指針變量本身是一個變量,用於存放字符串的首地址。字符串本身是存放在以該首地址為首的一塊連續的內存空間中並以『\0』作為串的結束。
  • C語言實現將字符串轉換為數字的方法
    本文實例講述了C語言實現將字符串轉換為數字的方法。具體實現方法如下:本文引用地址:http://www.eepw.com.cn/article/201611/322539.htmC語言提供了幾個標準庫函數,可以將字符串轉換為任意類型(整型、長整型、浮點型等)的數字。
  • C 語言實現動態字符串
    其他語言中的字符串類型通常在存儲字符串本身時也保存了字符串長度,如Pascal,這樣做的好處是字符串也可以以空字符'\0'結尾,但也會產生緩衝區溢出錯誤,本文實現了一個簡單的動態字符串庫,首先考慮一下,採用什麼樣的數據結構可以避免緩衝區溢出問題呢,為簡化起見,我們定義「字符串」為內存中無類型的字節流,因此可以避開本地化和Unicode等概念
  • 【C語言更新】C語言中字符串的操作
    void  *memset(void *str, int c, size_t n)複製字符  c(一個無符號字符)到參數 str 所指向的字符串的前 n 個字符。char  *strcat(char *dest, const char *src)把 src 所指向的字符串追加到 dest 所指向的字符串的結尾。
  • C/C++中字符串與數字轉換
    stingstream能將任何類型輕鬆轉變為字符串類型,也能將字符串類型轉變為數字類型。有點類似<stdio.h>中的sprintf和sscanf函數,但是stringstream操作更加的安全、不會產生數組溢出等問題,而且操作簡單。注意stringstream不會主動釋放內存,要使用clear()函數釋放內存。
  • C語言中字符串和數字的相互轉換實現代碼
    以下是對C語言中字符串和數字的相互轉換實現代碼進行了分析介紹,需要的朋友可以參考下1.數字轉換為字符串sprintf 跟printf 在用法上幾乎一樣,只是列印的目的地不同而已,前者列印到字符串中,後者則直接在命令行上輸出。
  • ​【轉載】字符轉數字:C語言裡atoi函數和它的童鞋
    字符串轉數字#include <stdio.h>#include <stdlib.h>int main(){    char *ptr1       其實,在C語言的庫函數裡面,在數字與字符串的轉換這一塊,除了上面程序中用到的itoa函數和sprintf函數是atoi函數的童鞋外,還有很多函數是atoi函數的童鞋,比如說:任意類型(整型、長整型、浮點型等)的數字轉換為字符串● itoa():將整型值轉換為字符串。● ltoa():將長整型值轉換為字符串。
  • 零基礎學Python:一文看懂數字和字符串
    不同的程式語言有不同的數據類型,但都具有常用的幾種數據類型。Python有幾種內置的數據類型——數字、字符串、元組、列表和字典。本文將重點介紹數字和字符串。 1#整型 2i = 1 3print( type(i)) 4#長整型 5l = 999999999999999999990       # Python何時將int轉為float跟作業系統位數相關 6print type(l) 7#浮點型 8f = 1.2 9 print( type(f))10#布爾型
  • R語言字符串函數詳解
    str_to_lower(dog) #將英文字符串轉換成小寫str_to_title(dog) #將英文字符串中的單詞首字母轉換大寫# locale可設置不同的語種 str_to_upper("i", "en") # English str_to_upper("i", "tr") # Turkish2. invert_match
  • C語言:優雅的字符串函數庫
    以學習一門語言為例:大多數人都持有一種觀念,要真正學好一門語言必須得去所學語言當地學習或生活一段時間。而事實上,大多數人都沒有這樣的學習條件。例如:用新語言寫代碼注釋 / commit message / README / issue;對了,我作為英文的愛好者,一直想重啟我的英文學習之路,後續想在公眾號裡記錄一些英文相關的知識,請你們不要笑話我~~~二、字符串函數庫:Simple
  • MATLAB字符和字符串
    3.4 類型轉換在MATLAB中允許不同類型的數據和字符串類型的數據之間進行轉換,這種轉換需要使用不同的函數完成。另外,同樣的數據,特別是整數數據,有很多種表示的格式,例如十進位、二進位或者十六進位。在C語言中,需要使用printf函數通過相應的格式字符串就可以輸出不同格式的數據。
  • Python 數字和字符串裡的學問
    return將重複出現的數字字面量定義成枚舉類型,不光可以改善代碼的可讀性,代碼出現 Bug 的機率也會降低。試想一下,如果你在某個分支判斷時將 11 錯打成了 111 會怎麼樣?我們時常會犯這種錯,而這類錯誤在早期特別難被發現。將這些數字字面量全部放入枚舉類型中可以比較好的規避這類問題。
  • SQL字符串數字提取
    在工作中遇到了這樣一個問題,如何提取某個字符串欄位中的數字?例如:A30B40C50D60 。
  • 在C語言中如何高效地複製和連接字符串?
    就目前而言,在編程領域中,C語言的運用非常之多,它兼顧了高級語言的彙編語言的優點,相較於其它程式語言具有較大優勢。該指針指向函數(strncpy除外)附加到目標序列上的字符串結束符NUL('\0')處或它的後一位。但是,如果返回的指針指向第一個字符而不是最後一個字符(或它的下一個字符),NUL結束符的位置會丟失,必須在需要時重新計算。這種做法的低效率可以在將兩個字符串s1和s2連接到目標緩衝區d中的示例中得到說明。
  • Python 工匠:使用數字與字符串的技巧
    return將重複出現的數字字面量定義成枚舉類型,不光可以改善代碼的可讀性,代碼出現 Bug 的機率也會降低。試想一下,如果你在某個分支判斷時將 11 錯打成了 111 會怎麼樣?我們時常會犯這種錯,而這類錯誤在早期特別難被發現。將這些數字字面量全部放入枚舉類型中可以比較好的規避這類問題。類似的,將字符串字面量改寫成枚舉也可以獲得同樣的好處。
  • python數據類型總結——數字和字符串
    這是因為,a重新賦值為2,並不是把a所指向的空間中的內容修改為2,而是重新分配一塊空間,用於存放2,再將新空間的地址給a。python數據類型如果有過一些其他語言基礎的話,通常會Get到兩個概念,一個是數據類型,另一個是變量類型。
  • Python中的轉義字符串與格式化字符串
    # 格式化字符串# 常用佔位符# %s 格式化字符串# %d 格式化整數str# print("我喜歡" + c + "," + "在" + n + "年")格式化字符串>print("數字%.1f是小數" % f)格式化字符串# 轉義字符串
  • C語言字符串處理函數之字符串轉換、查詢函數
    介紹完字符串整體操作函數,就該到字符串查詢函數和字符串轉換函數了,至於一些字符串轉換函數,如atoi(),atof(),strtod(),strtol(),tolower(),toupper()等,以後有時間再整理整理。
  • Go將數字轉換為字符串的正確姿勢
    點擊上方藍色「Go