1. 程式人生 > >讀入一個字串,統計字串中不同字元的出現頻率。

讀入一個字串,統計字串中不同字元的出現頻率。

#include <stdio.h>
#define MAX_SIZE 20

int main() {
    int i, j, k, sig;
    char string[MAX_SIZE];
    char chara[MAX_SIZE]={"\0"};
    char num[MAX_SIZE]={"\0"};
    printf("輸入字串:\n");
    scanf("%s", string);
    chara[0] = string[0];
    num[0] = 1;
    for(i=1; i<strlen(string);i++){
        sig = 1;
        for(k=0; k<i;k++){
            if (string[i] == chara[k]){
                num[k] = num[k] + 1;
                sig = 0;
                break;
            }
        }
        if(sig ==1){
            chara[strlen(chara)] = string[i];
            num[strlen(num)] = 1;
        }
    }
    for(j=0; j<strlen(chara); j++){
        printf("%c: %d \n",chara[j], num[j]);
    }

}


相關推薦

一個字串統計字串不同字元出現頻率

#include <stdio.h> #define MAX_SIZE 20 int main() { int i, j, k, sig; char string[MAX_SIZE]; char chara[MAX_SIZE]={"\0

需求說明:從鍵盤輸入一個字串統計字串每個字元的個數如輸入“adbda”結果為a=2d=2b=1

思路: 使用Scanner接收鍵盤輸入的字串。 使用HashMap統計每個字元的個數,其中key儲存字元,value用來記錄字元的數量。 原始碼: public static void main(String[] args) { //人性化提示資訊。 System

一系列整數統計出正整數個數及負整數個數0就結束

#include<iostream> using namespace  std; int main() {int a=0;int i=0,j=0;cin>>a;while(a!

一個整數用漢語拼音將這個整數的每一位輸出出來

你的程式要讀入一個整數,範圍是[-100000,100000]。然後,用漢語拼音將這個整數的每一位輸出出來。 如輸入1234,則輸出: yi er san si 注意,每個字的拼音之間有一個空格,但是最後的字後面沒有空格。當遇到負數時,在輸出的開頭加上“fu”,如-

java 劍指offer 第一題:在一個二維陣列中,每一行都按照從左到右遞增的順序排序每一列都按照從上到下遞增的順序排序請完成一個函式輸入這樣的一個二維陣列和一個整數判斷陣列是否含有該整數

我用了三種解法,全部都可以在牛客網上通過。 第一種解法是最簡單的,遍歷整個二維陣列找那個整數; 第二種和第三種都是根據二維陣列有序的特性進行查詢,第二種方法是從左下角開始查詢,大於左下角刪除一行,小於左下角刪除一列;第三種是從右上角開始查詢,大於右上角刪除一行,小於右上角的

題目:在一個二維陣列中,每一行都按照從左到右遞增的順序排序每一列都按照從上到下遞增的順序排序請完成一個函式輸入這樣的一個二維陣列和一個整數判斷陣列是否含有該整數(Python實現)

''' 題目: 在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。 請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 ''' '''

·在一個二維陣列(每個一維陣列的長度相同)每一行都按照從左到右遞增的順序排序每一列都按照從上到下遞增的順序排序請完成一個函式輸入這樣的一個二維陣列和一個整數判斷陣列是否含有該整數

題目 在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 分析 例如這樣一個數列:   要在裡面查詢是否存在7。按照平常的思維

Python實遍歷二維陣列題目一:在一個二維陣列中,每一行都按照從左到右遞增的順序排序每一列都按照從上到下遞增的順序排序請完成一個函式輸入這樣的一個二維陣列和一個整數判斷陣列是否含有該整數

在準備國網的過程中,仍要刷題,程式設計題。痛並快樂著。喜歡Python語言,所以用Python進行敲磚頭。劍指offer題目一:在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列

一個字符串str輸出字符串str連續最長的數字串

eof argc 遍歷 argv 字串 length cout sizeof sin 要求: 讀入一個長度不超過256的字符串,例如“abc123defg123456789hjfs123456”。要求輸出“123456789” 思路: 遍歷字符串,如果是數字串則計算往後

從命令列一個字串表示一個年份輸出該年的世界盃冠軍是哪支球隊如 果該年沒有舉辦世界盃則輸出:沒有舉辦世界盃

從命令列讀入一個字串,表示一個年份,輸出該年的世界盃冠軍是哪支球隊。如 果該年沒有舉辦世界盃,則輸出:沒有舉辦世界盃。 附錄:截止2009 年,歷屆世界盃冠軍、世界盃冠軍以及對應的奪冠年份: package cn.sc.test; import java.util.HashMap;

程式基本演算法習題解析 用分治法設計一個演算法統計輸入的非空字串給定字元的個數

首先附上一般思路的程式碼(不用分治法,將輸入字串中的字元從前往後依次比對): // Chapter7_1.cpp : Defines the entry point for the application. // 用分治法設計一個演算法,統計輸入的非空字串中給定字元的個數 #include "

統計一個字串每個字元出現的次數並按出現的次數降序輸出統計結果

/* * * 如統計 abdc2223333ddd 輸出如下統計結果 字元3出現了4次 字元d出現了4次 字元2出現了3次 字元b出現了1次 字元c出現了1次 字元a出現了1次 */ public class CharacterCountTest { public static

編寫一個程式實現從命令列引數輸入一字串統計字串字元輸入字元出現的次數

package pro1214test; import java.util.Scanner; public class eCiShu { public static void main(String[] args) { Scanner s = new Scanner(System.

寫入一個方法輸入一個檔名和一個字串統計這個字串在這個檔案出現的次數

public class Test1 { /* * * 寫一個方法,輸入一個檔名和一個字串,統計這個字串在這個檔案中出現的次數。 * */ public static void main

編寫一個函式計算字串含有的不同字元的個數字元在ACSII碼範圍內(0~127)不在範圍內的不作統計

輸入描述: 輸入N個字元,字元在ACSII碼範圍內。 輸出描述: 輸出範圍在(0~127)字元的個數import java.util.*; public class Main {     public static void main(String[] args) {   

給定一個字串刪除字串所有的b和ac組合 要求:字串只遍歷一次且不能使用額外的空間

string = 'aaascsscc' ls = list(string) def isA(ls): i = 0 while i < len(ls): if ls[i] == 'b': ls.pop(i) if i &g

給定一個字串字串找到第一個連續出現至少k次的字元

#include<stdio.h> #include<string.h> int main() {int i,n,k,l=0; char a[80]; scanf("%d",&n); fflush(stdin); gets(a); k=strlen(a);