最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

教你如何使用C++ 統(tǒng)計地鐵中站名出現(xiàn)的字的個數(shù)

 更新時間:2022年01月27日 10:37:02   作者:計算機知識雜談  
通過本文教大家如何使用C++ 統(tǒng)計地鐵中站名出現(xiàn)的字的個數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

最近網(wǎng)上看到一個話題,也很有意思的,就寫到這里來了。

上海地鐵的站名中,出現(xiàn)頻率最高的字是什么?

正好,練習自己的C++代碼能力,給定一些站名,計算一下。

首先是一個文件,記錄了所有的站名,這個文件內(nèi)容比較長,摘錄一部分下來。這個文件可以作為我們的輸入文件來用。

注意,這個文件內(nèi)容上只是把所有線路的名稱羅列了一遍,可能有重復。因此,在我們計算的一開始,要把這些內(nèi)容去重。
最前面的部分如下:

#include<iostream>
#include<string>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
string name[15000];
int nPos=0;
int main(){
	freopen("Name.txt","r",stdin);
	freopen("Calc.txt","w",stdout);
	//1.排重
	string s;
	while(cin>>s){
		int flag=0;
		for(int i=1;i<=nPos;i++){
			if(name[i]==s)flag=1;
		}
		if(flag==0)name[++nPos]=s;
	}

nPos這個變量用于記錄目前的name數(shù)組總共有多少個元素。大體邏輯就是這樣。

接下來,我們要統(tǒng)計出現(xiàn)的字符的數(shù)量。我們使用一個結(jié)構(gòu)體來記錄:

struct Count{
	char T[4];//出現(xiàn)的中文漢字 
	int times;
	Count(){
		T[0]=T[1]=T[2]=T[3]=0;
	}
}strCount[15000];
int sPos=0;

由于是中文漢字,我們考慮使用字符串來存儲,大小放大一點,就寫成4個字節(jié)吧。

我們從1開始,順次遍歷name數(shù)組的每個元素,然后把name中每個中文字符拿出來和strCount中比對。出現(xiàn)過就+1,沒出現(xiàn)過就新建一個。

for(int i=1;i<=nPos;i++){
		for(int j=0;j+1<name[i].size();j+=2){
			char c[3];c[0]=name[i].at(j);c[1]=name[i].at(j+1);c[3]='\0'; //提取成中文
			int flag=0;
			for(int k=1;k<=sPos;k++){
				if(check(strCount[k].T,c)){//這個字已經(jīng)出現(xiàn)過
					strCount[k].times++;
					flag=1;
				}
			}
			if(flag==0){
				strncpy(strCount[++sPos].T,c,2);
				strCount[sPos].times=1;
			}
		}
}

這里用到了一個check函數(shù)判斷字符串的相等,由于只有2個元素所以直接寫就可以了,不用循環(huán)來比對了。

bool check(char *A,char *B){
	if(A[0]==B[0] && A[1]==B[1] )return true;
	return false;
}

然后最后的部分,進行排序和輸出。

bool comp(Count A,Count B){
	return A.times>B.times;
}

int main(){
	//中略
	//3.輸出信息
	sort(strCount+1,strCount+sPos+1,comp);
	for(int i=1;i<=50;i++){
		cout<<strCount[i].T<<" "<<strCount[i].times<<endl;
	}
	return 0;
}

最終的輸出結(jié)果,這里我們只輸出前50名,摘取一些貼在下面:

本文所有內(nèi)容下載見:http://xiazai.jb51.net/202201/yuanma/calc_jb51.rar

到此這篇關(guān)于教你如何使用C++ 統(tǒng)計地鐵中站名出現(xiàn)的字的個數(shù)的文章就介紹到這了,更多相關(guān)C++ 統(tǒng)計地鐵中站名出現(xiàn)字的個數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入理解:Java是類型安全的語言,而C++是非類型安全的語言

    深入理解:Java是類型安全的語言,而C++是非類型安全的語言

    本篇文章是對Java是類型安全的語言,而C++是非類型安全的語言進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • C++菱形繼承和虛繼承的實現(xiàn)

    C++菱形繼承和虛繼承的實現(xiàn)

    本文主要介紹了C++菱形繼承和虛繼承的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • C語言獲取Linux系統(tǒng)精確時間的方法

    C語言獲取Linux系統(tǒng)精確時間的方法

    下面小編就為大家?guī)硪黄狢語言獲取Linux系統(tǒng)精確時間的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • QT中刪除信號于槽的連接的實現(xiàn)

    QT中刪除信號于槽的連接的實現(xiàn)

    本文主要介紹了QT中刪除信號于槽的連接的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • C語言strcpy庫函數(shù)詳解

    C語言strcpy庫函數(shù)詳解

    這篇文章主要為大家介紹了C語言strcpy庫函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • 一文詳解C語言char類型中的存儲

    一文詳解C語言char類型中的存儲

    C語言中的char是用于聲明單個字符的關(guān)鍵字,這篇文章主要給大家介紹了關(guān)于C語言char類型中存儲的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • C語言 自定義類型全面系統(tǒng)理解

    C語言 自定義類型全面系統(tǒng)理解

    在C語言中自定義類型主要有結(jié)構(gòu)體類型、位段、枚舉類型、聯(lián)合體類型,自定義類型是面試常會碰到的內(nèi)容,本篇文章帶你徹底解決自定義類型
    2022-02-02
  • C++排序算法之插入排序

    C++排序算法之插入排序

    這篇文章主要為大家詳細介紹了C++排序算法之插入排序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • C++實現(xiàn)讀入二進制數(shù)并轉(zhuǎn)換為十進制輸出

    C++實現(xiàn)讀入二進制數(shù)并轉(zhuǎn)換為十進制輸出

    本文給大家介紹的是一則使用C++實現(xiàn)讀入二進制數(shù)并轉(zhuǎn)換為十進制輸出的代碼,實現(xiàn)起來其實非常簡單,C++本身就提供了二進制類庫的,大家看代碼吧,簡單又實用。
    2015-03-03
  • C++類重載函數(shù)的function和bind使用示例

    C++類重載函數(shù)的function和bind使用示例

    這篇文章主要介紹了C++類重載函數(shù)的function和bind使用示例,幫助大家更好的理解和使用c++,感興趣的朋友可以了解下
    2021-01-01

最新評論

尼木县| 汉沽区| 南华县| 六枝特区| 沅江市| 罗江县| 鄂托克前旗| 宜兰市| 攀枝花市| 嘉义市| 玛曲县| 汉寿县| 资中县| 江门市| 明溪县| 镇原县| 岳阳市| 西平县| 新巴尔虎右旗| 湘阴县| 闸北区| 拜泉县| 麻江县| 东台市| 碌曲县| 浑源县| 肇庆市| 泸溪县| 陵川县| 来凤县| 通江县| 荔浦县| 天水市| 滨州市| 沾益县| 嘉禾县| 长宁县| 玉树县| 鄢陵县| 河间市| 台中市|