求高手编一段C语言程序

来源:百度知道 编辑:UC知道 时间:2024/05/20 12:00:46
要求:从硬盘上依次读取并统计某个文件夹中的n个txt文件中的数字(0-100000),将这些数字从小到大排列出来并显示在屏幕上,如果有数字重复则统计其重复的次数,并加括号显示在此数字后面,没有重复的数字显示为(0)。显示效果为每行显示5个数字。
希望程序中能够不指定文件名,智能识别此文件夹下所有txt文件,以后再添加别的txt文件后就不用改动程序了。
给出代码不用修改并完全符合要求的追加100分。
智能识别很难的么,不好做的话就不要此功能了。

给你写了个,不懂hi我

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
long g_lNumber[100005];
BOOL IsRoot(LPCTSTR lpszPath)
{
TCHAR szRoot[4];
wsprintf(szRoot, "%c:\\", lpszPath[0]);
return (lstrcmp(szRoot, lpszPath) == 0);
}
void CountNumber(LPCTSTR lpszPath)
{
FILE *fp=fopen(lpszPath,"r");
char cNumber[10],*p;
p=cNumber;
memset(cNumber,0,sizeof(cNumber));
char c=fgetc(fp);
bool flag=false;
long lNumber;
while(!feof(fp))
{

if(c>='0'&&c<='9')
{
*p++=c;
flag=true;
}
else
{
if(!flag) {c=fgetc(fp);continue;}
lNumber=atol(cNumber);
g_lNumber[lNumber]++;
memset(cNumber,0,sizeof(cNumber));
p=cNumber;
flag=false;
}
c=fgetc(fp);

}
fclose(fp);
}
void pr