用c语言统计一个txt文件当中各个数字出现的次数
从1-20当中随机抽四个随机数字,抽取50组并保存为一个txt文件请问用什么代码实现读取这个txt文件并分析出各个文字出现的次数(百分比),并保存为另一文件txt文件...
从1 - 20当中随机抽四个随机数字 , 抽取50组并保存为一个txt文件
请问用什么代码实现读取这个txt文件并分析出各个文字出现的次数(百分比),并保存为另一文件txt文件 展开
请问用什么代码实现读取这个txt文件并分析出各个文字出现的次数(百分比),并保存为另一文件txt文件 展开
2个回答
展开全部
#include <stdio.h>
struct numCountStruct {
int n;
int count;
} numCount[10000];
int main() {
int count = 0; // 数字计数
int n;
FILE *fp = fopen("file.txt", "r");
while (~fscanf(fp, "%d", &n)) { // 处理到文件末尾
int i;
for (i = 0; i < count; i++) {
if (numCount[i].num == n) { // 发现已经出现过,出现数+1
numCount[i].count++
}
}
if (i == count) { // 新的数字,添加到数组末尾
numCount[count++] = {n, 1};
}
}
fclose(fp);
for (int i = 0; i < count; i++) {
printf("%d presents %d times.\n", numCount[i].n, numCount[i].count);
}
}
最终arr数组里就是统计的结果
展开全部
int n;
int times[20]={0};
FILE *fp=fopen("test.txt","r");
for(int i=0;i<50;i++){
fscanf(fp,"%d",&n);
times[n-1]++; //出现次数
}
for(int i=0;i<50;i++){
if(times[i]!=0)printf("%d: %d%%",i+1,times[i]*2);
}
更多追问追答
追问
i 不用定义 ?
代码不是很清楚, 能把完整的写出来吗
追答
#include<stdio.h>
int main()
{
int i,n;
int times[20]={0};
FILE *fp=fopen("test.txt","r");
if(fp==NULL)return 0;
for(i=0;i<50;i++){
fscanf(fp,"%d",&n);
times[n-1]++; //出现次数
}
for(i=0;i<50;i++){
if(times[i]!=0)printf("%d: %d%%",i+1,times[i]*2);
}
fclose(fp);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询