解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
char arr[2000] = { 0 }, ar[500][500] = { 0 };
gets(arr);
int sz = strlen(arr),c=0,c1=0,i=0;
while (i<sz-1)
{
if (arr[i] != ' ' && arr[i] != ',' && arr[i] != '.')
{
if (arr[i] >= 'a')
{
arr[i] -= 32;
}
ar[c][c1++] = arr[i];
}
else if (arr[i] == ' ' && arr[i + 1] != ' ' && i + 1 < sz)
{
ar[c++][c1] = '\0'; c1 = 0;
}
i++;
}
if (i == sz - 1)ar[c++][c1] = '\0';\\将每个单词放进二维数组
int max = 0;
for (int i = 0; i < c; i++)
{
if (strlen(ar[i]) > max)max = strlen(ar[i]);\\求出最大单词长度
}
int d = 0,d1 = 1;
for (int i = 0; i < c; i++)
{
d1 = 1;
for (int j = i + 1; j < c; j++)
{
if (strcmp(ar[i], ar[j]) == 0)
{
d1++;
}
}
d = 0;
for (int j = 0; j < c; j++)
{
if (strcmp(ar[i], ar[j]) == 0)
{
d++;
}
}\\统计每个单词出现的个数
if (d == d1)
{
for (int j = 0; j < max - strlen(ar[i]); j++)
printf(" ");
printf("%s:", ar[i]);
for (int j = 0; j < d; j++)
printf("*");
printf("%d\n", d);\\打印
}
}
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复