用C语言怎么编写一个统计名字次数的程序?急!急!急!!!! 用c语言编程,统计文件中出现的单词的次数

\u7528C\u8bed\u8a00\u7f16\u5199\u4e00\u4e2a\u7a0b\u5e8f\uff0c\u8f93\u5165\u4e00\u4e2a\u5b57\u7b26\u4e32\uff0c\u7edf\u8ba1\u5176\u4e2d\u5404\u4e2a\u5b57\u7b26\u51fa\u73b0\u7684\u6b21\u6570

\u6e90\u7a0b\u5e8f\u4ee3\u7801\u5982\u4e0b\uff1a
#include "pch.h"
#define _CRT_SECURE_NO_WARNINGS//VS\u73af\u5883\u4e0b\u9700\u8981\uff0cVC\u4e0d\u9700\u8981
#include
int main()
{
char c = 0;//\u5b9a\u4e49\u8f93\u5165\u5b57\u7b26\u53d8\u91cf
int num_count = 0;//\u6570\u5b57\u4e2a\u6570
int bigalp_count = 0;//\u5927\u5199\u5b57\u6bcd\u4e2a\u6570
int littlealp_count = 0;//\u5c0f\u5199\u5b57\u6bcd\u4e2a\u6570
int emp_count = 0;//\u7a7a\u683c\u4e2a\u6570
int els_count = 0;//\u5176\u4ed6\u5b57\u7b26\u4e2a\u6570
while((c = getchar()) != '\n')//\u8fde\u7eed\u8f93\u5165\u5b57\u7b26\u76f4\u5230\u8f93\u5165\u56de\u8f66\u7ed3\u675f
{
if((c >= '0')&&(c <= '9'))//\u5224\u65ad\u662f\u5426\u662f\u6570\u5b57
{
num_count ++ ;
}
else if ((c >= 'a') && (c <= 'z'))//\u5224\u65ad\u662f\u5426\u662f\u5c0f\u5199\u5b57\u6bcd
{
littlealp_count++;
}
else if ((c >= 'A') && (c <= 'Z'))//\u5224\u65ad\u662f\u5426\u662f\u5927\u5199\u5b57\u6bcd
{
bigalp_count++;
}
else if(c == ' ')//\u5224\u65ad\u662f\u5426\u662f\u7a7a\u683c
{
emp_count ++;
}
else //\u5224\u65ad\u662f\u5426\u5176\u4ed6\u5b57\u7b26
{
els_count ++;
}
}
//\u8f93\u51fa\u4e2a\u6570\u7edf\u8ba1\u503c
printf("\u6570\u5b57\u4e2a\u6570\uff1a%d\n\u5c0f\u5199\u5b57\u6bcd\u4e2a\u6570\uff1a%d\n\u5927\u5199\u5b57\u6bcd\u4e2a\u6570\uff1a%d\n",num_count, littlealp_count, bigalp_count);
printf("\u7a7a\u683c\u4e2a\u6570\uff1a%d\n\u5176\u4ed6\u5b57\u7b26\u4e2a\u6570\uff1a%d\n", emp_count, els_count);
return 0;
}
\u7a0b\u5e8f\u8fd0\u884c\u7ed3\u679c\u5982\u4e0b\uff1a



\u6269\u5c55\u8d44\u6599\uff1a
\u5176\u4ed6\u5b9e\u73b0\u65b9\u6cd5\uff1a
#include
#include //\u5bf9\u7a7a\u767d\u5b57\u7b26\u7684\u5224\u65ad\uff0c\u8c03\u7528\u4e86isspace()\u51fd\u6570\uff0c\u6240\u4ee5\u8981\u8c03\u7528\u5934\u6587\u4ef6
int main()
{
char str[20]; //\u8fd9\u5757\u5bf9\u8f93\u5165\u6709\u6240\u9650\u5236\u4e86
int num_count=0;
int space_count=0;
int other_count=0;
char *p=str;
gets(str); //\u63a5\u6536\u5b57\u7b26\u4e32
while(*p)
{
if(*p>='0'&&*p<='9') {
num_count++;
}
else if(isspace(*p)) //\u7528isspace\u51fd\u6570\u6765\u5224\u65ad\u662f\u4e0d\u662f\u7a7a\u767d\u5b57\u7b26
{
space_count++;
}
else
{
other_count++;
}
p++;
}
printf("num_count=%d\n",num_count);
printf("space_count=%d\n",space_count);
printf("other_count=%d\n",other_count);
return 0;
}

#include
#include
#include
#include
using namespace std;
//\u5b9a\u4e49\u5b58\u50a8\u5355\u8bcd\u548c\u51fa\u73b0\u6b21\u6570\u7684\u7ed3\u6784\u4f53
typedef struct{
string word;
int num;
}count;
int main()
{
vector v; //\u5b9a\u4e49count\u7c7b\u578b\u7684\u5411\u91cf\uff0c\u52a8\u6001\u5b58\u50a8count\u53d8\u91cf
count tempstr; //\u4e34\u65f6\u5b58\u50a8count\u53d8\u91cf
tempstr.num=0; //num\u521d\u59cb\u5316\u4e3a0
ifstream in("english.txt"); //\u6253\u5f00\u6587\u4ef6
string temp; //\u4e34\u65f6\u53d8\u91cf\uff0c\u5b58\u50a8\u6587\u4ef6\u7684\u4e00\u884c\u4fe1\u606f
string str; //\u4e34\u65f6\u53d8\u91cf\uff0c\u5b58\u50a8\u5355\u4e2a\u5355\u8bcd
int count=0; //\u8bb0\u5f55\u5355\u8bcd\u5b57\u7b26\u4e2a\u6570
int j=0;

//\u6309\u884c\u8bfb\u53d6\u6587\u4ef6\uff0c\u5bf9\u6bcf\u884c\u4fe1\u606f\u622a\u53d6\u5355\u8bcd\u5e76\u8ba1\u6570
while(getline(in,temp))
{
for(int i=0;i<temp.length ();i++)
{
if((temp[i]>='a'&&temp[i]='A'&&temp[i]<='Z'))
count++; //\u5982\u679c\u662f\u82f1\u6587\u5b57\u7b26\uff0c\u5219\u8ba1\u6570\u52a01
else if(count) //\u5355\u8bcd\u9047\u975e\u82f1\u6587\u5b57\u7b26\u65f6\uff0c\u8ba1\u6570\u7ec8\u6b62\uff0c\u622a\u53d6\u5355\u8bcd
{
str=temp.substr (i-count,count); //\u53d6\u5b50\u4e32\uff08\u622a\u53d6\u5355\u8bcd\uff09
if(v.size ()) //\u82e5\u5411\u91cf\u7684\u957f\u5ea6\u4e0d\u4e3a0\uff0c\u5219\u5c06\u5355\u8bcd\u4e0e\u5df2\u6709\u5355\u8bcd\u6bd4\u8f83
{
for(j=0;j<v.size ();j++)
if(str.compare(v[j].word )==0)
{
v[j].num ++; //\u5355\u8bcd\u76f8\u540c\uff0c\u5219\u5c06\u76f8\u5e94\u5355\u8bcd\u7684\u6570\u76ee\u52a01
count=0; //\u8ba1\u6570\u53d8\u91cf\u91cd\u65b0\u8d4b\u503c\u4e3a0\uff0c\u4ee5\u4fbf\u8bb0\u5f55\u65b0\u7684\u5355\u8bcd
break;
}
} //end if
if(j>=v.size ()) //\u5355\u8bcd\u7b2c\u4e00\u6b21\u51fa\u73b0\uff0c\u5c06\u5176\u6dfb\u52a0\u81f3\u5411\u91cf\u4e2d
{
tempstr.word = str;
tempstr.num =1;
v.push_back (tempstr);
count = 0; //\u5355\u8bcd\u6dfb\u52a0\u5b8c\u6bd5\uff0c\u8ba1\u6570\u53d8\u91cf\u5f520\uff0c\u8bb0\u5f55\u65b0\u5355\u8bcd
} //end if
} //end elseif
} //end for
} //end while
//\u6253\u5370\u5355\u8bcd\u53ca\u51fa\u73b0\u6b21\u6570
for(int i=0;i<v.size ();i++)
cout<<"the word is:"<<v[i].word<<", the times is:"<<v[i].num<<endl;
return 0;
}

代码如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main ()
{
struct person /*定义一个结构体*/
{
char name[20]; /*默认名字不超过20长度,且没有空格。*/
int time; /*出现次数*/
};
struct person data[200]; /*默认不超过200个不同名*/

int i;
for (i = 0; i < 200; i ++) /*初始化一下*/
{
data[i].name[0] = 0;
data[i].time = 0;
}

char temp[20];
int total = 0; /*一开始一共有0个人*/
while (scanf ("%s", temp) != EOF) /*循环读入所有姓名*/
{
int i = 0;
for (i = 0; i < total; i ++) /*和已经存在的姓名对比,看是否一样*/
{
if (strcmp (temp, data[i].name) == 0) /*如果一样*/
{
data[i].time ++;
break;
}
}
if (i == total) /*找了一圈没有找到已经存在的,就证明这个名字从来没有出现过,存一个新的*/
{
strcpy (data[total].name, temp);
data[total].time = 1;
total ++;
}

}
for (i = 0; i < total; i ++) /*最后循环把结果输出*/
printf ("%s ---- %d\n", data[i].name, data[i].time);

system ("pause");
return 0;
}

祝学习进步!

  • 鐢–璇█鎬庝箞缂栧啓涓涓粺璁″悕瀛娆℃暟鐨勭▼搴?鎬!鎬!鎬!!!
    绛旓細include <string.h> include <stdlib.h> int main (){ struct person /*瀹氫箟涓涓缁撴瀯浣*/ { char name[20]; /*榛樿鍚嶅瓧涓嶈秴杩20闀垮害锛屼笖娌℃湁绌烘牸銆*/ int time; /*鍑虹幇娆℃暟*/ };struct person data[200]; /*榛樿涓嶈秴杩200涓笉鍚屽悕*/ int i;for (i = 0; i < 200;...
  • 鐢╟璇█缂栧啓绋嬪簭,缁熻鏌愭枃浠朵腑鏌愪釜鍗曡瘝鍑虹幇娆℃暟
    绛旓細define N 20#define M 100#include<stdio.h>#include<string.h>int main(){char m[20];int k=0;int d[M];char b[N],e[10000];char a[M][N];char c=0;int i;for(i=0;i<M;i++)d[i]=0;printf("璇疯緭鍏ユ枃浠跺悕\n");gets(m);FILE *fp;int n=0,o=0;if(!(fp=fopen(...
  • 鐢╟璇█鍋氬嚭txt鏂囦欢閲岀殑鏌涓涓姹夊瓧鍑虹幇鐨勬鏁
    绛旓細濡傛灉鏂囦欢涓嶅ぇ鐨勮瘽鍙互涓娆℃ц鍙栬繘缂撳啿鍖轰腑 鐒跺悗浣跨敤strstr鍑芥暟杩涜寰幆娴嬭瘯鏌愪釜姹夊瓧鏄惁鍦ㄨ缂撳啿鍖轰腑 姣忓尮閰嶅埌涓娆′究鍙橀噺澧炲姞涓锛岀劧鍚庡皢杩斿洖鐨勬寚閽堝啀鍔1鎺ョ潃鍐嶈繘琛屽尮閰 鐩村埌鍖归厤缁撴灉涓篘ULL鎴栬呯紦鍐插尯鍒板熬閮 姣斿鍦涓涓鏂囦欢涓煡鎵炬眽杩欎釜姹夊瓧鍑虹幇鐨勫瓧鏁版垜浠彲浠 while((p=strstr(buf,"姹")) != NULL){...
  • 鐢–璇█缂栧啓涓涓绋嬪簭,杈撳叆涓涓瓧绗︿覆,缁熻鍏朵腑鍚勪釜瀛楃鍑虹幇鐨勬鏁癬鐧 ...
    绛旓細char c;int num_count = 0, // 鏁板瓧涓暟 bigalp_count = 0, // 澶у啓瀛楁瘝涓暟 littlealp_count = 0, // 灏忓啓瀛楁瘝涓暟 emp_count = 0, // 绌烘牸涓暟 els_count = 0; // 鍏朵粬瀛楃涓暟 while((c = getchar()) != '\n') { // 璇诲彇杈撳叆鐩村埌鎹㈣绗 // 鍒ゆ柇瀛楃绫诲瀷骞舵洿鏂拌鏁...
  • C璇█鎬庝箞缁熻鐩稿悓鍗曡瘝鍑虹幇娆℃暟?
    绛旓細//鏃犻噸澶嶄覆,鍒欐诲瓧涓叉暟澧炲姞 k=0; } printf("缁撴灉:\n"); t=0; for(;t
  • 鐢–璇█缂栧啓涓涓绋嬪簭,杈撳叆涓涓瓧绗︿覆,缁熻鍏朵腑鍚勪釜瀛楃鍑虹幇鐨勬鏁癬鐧 ...
    绛旓細int bigalp_count = 0;//澶у啓瀛楁瘝涓暟 int littlealp_count = 0;//灏忓啓瀛楁瘝涓暟 int emp_count = 0;//绌烘牸涓暟 int els_count = 0;//鍏朵粬瀛楃涓暟 while((c = getchar()) != '\n')//杩炵画杈撳叆瀛楃鐩村埌杈撳叆鍥炶溅缁撴潫 { if((c >= '0')&&(c <= '9'))//鍒ゆ柇鏄惁鏄暟瀛 { ...
  • 鐢╟璇█鎬庝箞缁熻瀛楃涓蹭腑鏌愪竴瀛楃鍑虹幇鐨勬鏁
    绛旓細1銆佽繛鎺ヨ繍绠 concat(s1,s2,s3鈥n) 鐩稿綋浜巗1+s2+s3+鈥+sn.渚嬶細concat(鈥11鈥,'aa鈥)='11aa鈥;2銆佹眰瀛愪覆銆 Copy(s,I,I) 浠庡瓧绗︿覆s涓埅鍙栫I涓瓧绗﹀紑濮嬪悗鐨勯暱搴︿负l鐨勫瓙涓层備緥锛歝opy(鈥榓bdag鈥,2,3)=鈥檅da鈥3銆佸垹闄ゅ瓙涓层傝繃绋 Delete(s,I,l) 浠庡瓧绗︿覆s涓垹闄ょI涓瓧绗﹀紑濮嬪悗鐨...
  • c璇█缂栫▼瀹炵幇缁熻瀛楃涓蹭腑鑻辨枃鍗曡瘝鐨勪釜鏁般傚苟鎸夊嚭鐜伴娆″崌搴忔帓搴忔樉绀烘瘡 ...
    绛旓細int strC;}WordAndCnt;//瀹氫箟total鍑芥暟璁$畻鎬荤殑鍗曡瘝涓暟 void total(char* str,WordAndCnt* wac){ //int sum=0,i;int i,j;wac->strC=0;for(i=0,j=0;str[i]!='#' && str[i]/*閬垮厤蹇樿杈#鐨勫按灏*/;i++) //浣犵▼搴忕殑杈撳叆鏄互瀛楃'#'缁撳熬鐨勫惂锛熶笉绠′簡锛屼綘鍐欑殑鏄繖鏍凤紝鎴戝氨...
  • 姹傛晳鐢╟璇█缁熻txt鏂囦欢涓涓涓鍗曡瘝鐨勫嚭鐜版鏁
    绛旓細i<s_len;i++){if(source[i]==target){return i;}}return -1;}char* right(char* source,int n){char* buf;int len=strlen(source);buf=(char*)malloc(sizeof(char)*(len-n)+1);int i,j=0;for(i=n;i<len;i++){buf[j++]=source[i];}buf[j]='\0';return buf;...
  • 璇鐢–璇█缂栧啓涓涓:鑱屽伐宸ヤ綔閲缁熻绯荤粺
    绛旓細缂栧啓涓涓绋嬪簭锛岃绋嬪簭杈撳叆鑱屽伐宸ュ彿鍜屽畬鎴愮殑浜у搧鏁伴噺锛岀▼搴忓厑璁稿悓涓鑱屽伐鏈夊娆¤緭鍏ワ紝鐢辩▼搴忓鍏跺畬鎴愮殑浜у搧鏁伴噺瀹炵幇绱銆傜▼搴忔寜瀹屾垚鏁伴噺瀵逛粬浠帓搴忥紝骞剁‘瀹氫粬浠殑鍚嶆銆傛寜瀹屾垚浜у搧鏁伴噺鐢卞鍒板皯鐨勯『搴忥紝杈撳嚭鍚嶆銆佸悓涓鍚嶆鐨勮亴宸ヤ汉鏁板強浠栦滑鐨勫伐鍙凤紙宸ュ彿鐢卞皬鍒板ぇ椤哄簭杈撳嚭锛夈備俊鎭細鑱屽伐缂栧彿(nEmployId,nProduct...
  • 扩展阅读:一个表格相同数据汇总 ... 编程必背100个代码 ... 重复的名字怎么只保留一个 ... 同一个名字的数据求和 ... 编写一个c程序运行时输出 ... 简单通讯录系统c语言 ... excel相同名字只取一个 ... 提取相同名字对应数据 ... 怎么把相同名字排在一起 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网