题解 | #单词识别# 笨方法
单词识别
https://www.nowcoder.com/practice/16f59b169d904f8898d70d81d4a140a0
#include <stdio.h> #include <stdlib.h> #include <string.h> int panduan(char buchongfu[1000][20],int k,char danci[20]){ int i=0; for(i=0;i<k;i++){ if(strcmp(buchongfu[i],danci)==0){ return i; } } return -1; } int main() { char shuru[1000]; char danci[1000][20]; int num[1000]={0}; gets(shuru); int i=0; int j=0,k=0; while(shuru[i]!='.'){ while(shuru[i]!=' ' && shuru[i]!='.'){ if(shuru[i]>='A'&&shuru[i]<='Z'){ shuru[i]=(char)(shuru[i]-'A'+'a'); } danci[j][k++]=shuru[i++]; } if(shuru[i]==' '){ danci[j][k]='\0'; i++; j++; k=0; } } int count=j+1; char buchongfu[1000][20]; k=0; for(i=0;i<count;i++){ if(panduan(buchongfu,k,danci[i])>=0){ num[panduan(buchongfu,k,danci[i])]++; } else{ strcpy(buchongfu[k],danci[i]); num[k++]++; } } char tmp[20]; for(i=0;i<k-1;i++){ for(j=i+1;j<k;j++){ if(strcmp(buchongfu[i],buchongfu[j])>0){ int temp=num[i]; num[i]=num[j]; num[j]=temp; strcpy(tmp,buchongfu[i]); strcpy(buchongfu[i],buchongfu[j]); strcpy(buchongfu[j],tmp); } } } for(i=0;i<k;i++){ printf("%s:%d\n",buchongfu[i],num[i]); } return 0; }