读入一个记录有学生名字的txt文件,然后声明一个结构体用于储存学生名字和名字出现次数,然后声明一个指向结构体的指针数组,用于储存单个名字和出现次数。用一个puffer来接收名字。在读取名字的时候,测试该名字是否已经在指针数组中存在,如果存在,则出现次数加一,如果不存在,也就是说是新名字的话,则使用malloc在堆栈增加一个位置,从接收puffer中复制这个名字到数组中去,出现次数记1。
统计出现次数时应该按降序排列,使用qsort函数。
屏幕输出应为:
请输入要查询的名字:小明
小明 的名字排在第 X 位,出现了 X 次。
请大家给点思路吧,看了下书,但对结构体的使用实在不够熟悉,不知道如何下手。读取的话应该使用fgets还是fscanf? 应该一次过读完再统计吗?
说错了,文件内容不是汉字,就英文名字可以了
请问能稍微加点注释吗?或者pnc1和pnc2指什么?capacity为什么取16?另外txt文件的名字格式是一个名字一行的。
c语言统计字符串中每个字符出现的次数
char*ptr2=src+strlen(src),*prev=NULL;\/\/ptr2为src的末位置指针 int len=strlen(s),n=0;\/\/子串的长度和计数器 for(;*ptr;ptr++)\/\/循环整个串 { if(ptr2-ptr<len)\/\/如果一开始子串就大于src,则退出 break;for(prev=ptr;*prev==*p;prev++,p++)\/\/寻找第一个相等的位置,然后从此位置...
...一个字符,统计该字符在字符串中出现的次数。写出程序,加急
{char s[99],c;int i=0,n=0;printf("输入字符串(按Enter结束):\\n");gets(s);printf("输入字符(按Enter结束):");c=getchar();for(i=0;i<99;i++){if(c==s[i])n++;} printf("字符串%s中字符%c出现%d次",s,c,n);} \/\/看时间,你是用不到了,留个要学习的看吧。(字...
...统计该文章中每个单词的出现次数,并输出出现次数最多的前5个单词...
include <string.h> \/\/能统计的最大单词个数,可以自己改 define MAX_WORD_COUNT 500 \/\/结构体,保存每个单词及对应的个数 typedef struct WordCount { char cWord[20];int iCount;}T_WordCount;int CalcEachWord(const char *pText);\/\/计算单词个数及输出信息等 void LowerText(char *pText)...
C语言如何统计并输出不同字符在文章中出现的次数或频率(空格、换行...
else if('0'<=i&&i<='9') \/**如果是0--9之间的数字,则执行下面的number++**\/ number++;else if(i==' ') \/**这个是判断空格的**\/ space++;else qita++; \/**这个是统计其他未知字符个数**\/ } printf("english=%d,space=%d,number=%d,qita=%d",english,space,number,qi...
C语言统计一篇文件里出现最多的三个单词
\/\/统计单词出现频率 include <stdio.h> include <stdlib.h> include <string.h> struct Node{ int c; \/\/单词w程序次数 char w[20]; \/\/单词 struct Node *next;struct Node *pre;};char s[]=" ,;.?!:(\\"\\\\)['|]{\/}@#$&*+-=<~`_>0123456789\\12"; \/\/单词分隔符 \/\/在head...
C语言 求教,打开一文本,输出每个字母出现的次数,程序源代码见下,看有...
有必要用结构体吗?直接定义一个数组x[26]={0},初始化为零,读入ch后,处理一下ch,如果不区分大小写 区分大小写的话定义两个数组 大写A是41h,小写a是61h,二级制为高4位6是0110 4是0100 这样就是多了一个1在第六位上 那么把他去掉即可 ch&=11011111b ...
请问c语言当中,如何统计数字各自出现的次数
include <stdio.h> int main() { int num = 0, i = 0;printf("请输入一个整数:");scanf("%d", &num);int array[10] = {};while(num) { array[num % 10]++; \/\/让数组下标代表所判断的数字 num \/= 10;} for (i = 0; i < 10; i++) { if (array[i] != 0)print...
C语言 计算一篇英文文章中出现次数最多的前5个单词,按英文字典顺序输出...
if (!bFound&&strlen(szWord)>0)\/\/如果没相配,把字符存在g_WordFound里 { strcpy(g_WordFound[g_nMatch].szWord,szWord);g_WordFound[g_nMatch].nCount++;g_nMatch++;} tmp=endChr;if (tmp>=end) break;} } \/\/此处打印结果 for (i=0;i<g_nMatch;i++){ printf("%s = %d\\...
C语言 统计相同单词出现次数
{ char word[20];int count;}WordCounter;WordCounter wc[MAX];int num=0;main(){ char wd[20];int i;char ch;while(1){ scanf("%s",wd);for(i=0;i<num;i++)if(strcmp(wd,wc[i].word)==0){ wc[i].count++;break;} if(i==num){ num++;strcpy(wc[num-1].word,wd);w...
C语言编程题目 给一个字符串,请找出出现次数最多的大写英文字母。_百 ...
void main(){ chara[100];intfre[26];int i,len,big=0;gets(a);for(i=0;i<26;i++)fre[i]=0;len=strlen(a);for(i=0;i<len;i++)if(a[i]>='a'&&a[i]<='z')fre[a[i]-'a']++;for(i=0;i<len;i++)if(...