日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 计算一串字符中出现的数字字符数

發布時間:2025/5/22 编程问答 8 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 计算一串字符中出现的数字字符数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

getchar 函數的功能是讀取字符串并將其返回。輸入結束或讀取過程中發生錯誤時,就會返回EOF值。

#include <stdio.h>int main(void){int i, str;int count[10] = {0};puts("請輸入數字:");puts("輸入完成后 按 Enter"); puts("再按 Ctrl + z ");puts("Enter 結束");while ((str = getchar()) != EOF){switch (str){case '0' :count[0]++;break;case '1' :count[1]++;break;case '2' :count[2]++;break;case '3' :count[3]++;break;case '4' :count[4]++;break;case '5' :count[5]++;break;case '6' :count[6]++;break;case '7' :count[7]++;break;case '8' :count[8]++;break;case '9' :count[9]++;break;}}puts("數字字符的出現次數:");for (i = 0; i < 10; i++){printf("%d: %d\n", i, count[i]);} return 0; }

運行結果:

注:
在需要對象式宏EOF的程序中,如果沒有包含<stdio.h>頭文件,則進行如下定義式不行的。
#define EOF -1
因為EOF規定為“負”,但不一定是“-1”。

緩沖:

緩沖
在此程序中,并不是每讀入一個字符后就馬上輸出,而是按下回車鍵后一并輸出。
C語言的輸入輸出一般會將讀入的字符以及待輸出的字符暫時保存在緩存中,當達到下列條件時才進行實際的輸入輸出操作。

  • 1.緩存已滿 (全緩沖)
  • 2.輸入換行符 (行緩沖)
  • 3.立即輸出 (無緩沖)

由于每個數字字符在ASCII 碼表中都有對應的值,通過以下程序可對字符的值進行打印。

#include <stdio.h>int main(void){int i;printf("EOF = %d\n", EOF);for (i = 0; i< 10; i++){printf("'%d' = %d\n", i, '0' + i);} return 0; }

運行結果:


利用ASCII 碼表中字符對應的值,可改善 計算一串字符中出現的數字字符數程序中的代碼,使程序變得更加簡潔。

#include <stdio.h>int main(void) {int i, j, str;int count[10] = { 0 };puts("請輸入數字:");puts("輸入完成后 按 Enter");puts("再按 Ctrl + z ");puts("Enter 結束");while ((str = getchar()) != EOF) {if (str >= '0' && str <= '9') {count[str - '0']++;}}puts("數字字符的出現次數:");for (i = 0; i < 10; i++) {printf("%d: ", i);for (j = 0; j < count[i]; j++){putchar('*');}puts("");} }

運行結果

總結

以上是生活随笔為你收集整理的C语言 计算一串字符中出现的数字字符数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。