急求一个C语言版得文学编辑助手程序。请尽快!

输入要求:
文本文件“input.c”作为程序输入,统计C语言关键字(见附加信息)在程序中出现的次数和行号。
输出要求:
对所有出现在程序中的关键字按字典顺序各占一行输出,在关键字之后输出出现次数,和按递增顺序排列的所有出现行号
输入样例
??±?????input.c
#include <stdio.h>

int main(){
int a,b,c,n,m;

scanf("%d %d %d",&a,&b,&c);
n=a*a*a+b*b*b+c*c*c;
m=a*100+b*10+c;
if(m==n)
printf("%d\n",n);
else
printf("no\n");
return 0;
}

输出样例:
else 1 11
if 1 9
int 2 3 4
return 1 13

试试这个,应该符合你的要求,GCC 和 Visual C++ 2003 ToolKit 编译通过,有不清楚的地方再交流啊。
--------以下代码-------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char word[32][8]=
{
"auto",
"break",
"case",
"char",
"const",
"continue",
"default",
"do",
"double",
"else",
"enun",
"extern",
"float",
"for",
"goto",
"if",
"int",
"long",
"register",
"return",
"short",
"signed",
"sizeof",
"static",
"struct",
"switch",
"typedef",
"union",
"unsigned",
"void",
"volatile",
"while"
};
struct node
{
int line_num;
struct node * right;
struct node * left;
};
struct node* add_node(struct node* p,int line_num)
{
struct node *q;
if (p==NULL)
{
p=malloc(sizeof(struct node));
p->line_num=line_num;
p->right=NULL;
p->left=NULL;
return p;
}
q=malloc(sizeof(struct node));
q->line_num=line_num;
q->right=p;
q->left=NULL;
p->left=q;
return q;
}

int ans_count[32];
struct node * ans[32]={NULL};

int iscchar(char c)
{
if(c>=48 && c<=57) /*0-9*/
{
return 1;
}
if(c>=65 && c<=90) /*A-Z*/
{
return 2;
}
if (c==95) /* _ */
{
return 3;
}
if(c>=97 && c<=122) /*a-z*/
{
return 4;
}
return 0;
}

int strcount(char *str,char *ndl)
{
int count=0;
int i=0;
int len,ndl_len;
char *str_temp;
char *s;
len=strlen(str);
ndl_len=strlen(ndl);
if(len<ndl_len)
{
return 0;
}

if(len==ndl_len)
{
if (!memcmp(str,ndl,len))
return 1;
}
/*len > ndl_len*/
str_temp=malloc(len+2);
s=str_temp+1;
memset(str_temp,'\0',len+2);
memcpy(s,str,len);
while (i<len-ndl_len)
{
if(!memcmp(s,ndl,ndl_len) && !iscchar(s[-1]) && !iscchar(s[ndl_len]))
{
count++;
s+=(ndl_len);
i+=(ndl_len);
}
s++;
i++;
}
free(str_temp);
return count;
}

int wordcount(char *str,int line_num)
{
int i=0;
int count=0;
for (i=0;i<32;i++)
{
count=strcount(str,word[i]);
if(count >0)
{
ans_count[i]+=count;
ans[i]=add_node(ans[i],line_num);
}
}
return 0;
}

int main()
{
char * line;
int line_num=0;
int len;
int last;
FILE *f;
int count=0;
int i;

char c;
f=fopen("input.c","r");
if (!f) return 0;
do
{
count++;
c=fgetc(f);
if (c=='\n' || c==EOF )
{
line_num++;
fseek(f,-1*count-1,SEEK_CUR);
if (c==EOF) fseek(f,last,SEEK_SET);
line=malloc(count+1);
fgets(line,count+1,f);
wordcount(line,line_num);
free(line);
count=0;
last=ftell(f);
if (c==EOF) break;
}

}while(!feof(f));
fclose(f);
for (i=0;i<32;i++)
{
if (ans_count[i])
{
struct node * p;
struct node * q;
printf("%s %d ",word[i],ans_count[i]);
p=ans[i];
while(p->right)
{
p=p->right;
};
do
{
printf("%d ",p->line_num);
q=p;
p=p->left;
free(q);
}while(p);
printf("\n");
}

}

}追问

那个。。。我用的是DEV-C。。。这个运行不出啊。。。

追答

编译不过去,还是结果不正确啊?

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-03
什么意思 啊啊追问

。。。就是想请你帮忙编一个程序。。。。。补充是题目说明。。。。。。

第2个回答  2011-06-08
不好意思,我是来蹭分的,我真不厚道,呵呵。

急求一个C语言版得文学编辑助手程序。请尽快!
return 1;} if(c>=65 && c<=90)\/*A-Z*\/ { return 2;} if (c==95)\/* _ *\/ { return 3;}

C语言中文学研究助手与KMP算法
待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。程序的输出结果是每个词的出现次数和出现位置所在的行的... 【任务要求】英文小说存于一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。程序的输出结果是每个词的出现次数和出现位置所在的...

计算机二级c语言都用什么软件
全国计算机二级 C、C++两个科目的应用软件由 Visual C++6.0 改为 Visual C++ 2010 学习版(即 Visual C++ 2010 Express)Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows应用程序和网络应用程序,也...

c语言程序设计视频教程
链接:https:\/\/pan.baidu.com\/s\/1scbJKnr2dLqm5KdwwimJYQ ?pwd=ks7d 提取码:ks7d 06 00上海交通大学 计算机自考考研课程 C语言程序设计基础 全27讲 视频教程|各学科 学习视频目录|03.avi|02.avi|01.avi|政治目录.txt|哲学目录.txt|语言目录.txt|艺术目录.txt|医学目录.txt|心理目录.txt|物...

c语言是有什么
.NET本质论--第1卷:公共语言运行库(中文版)---Chris Sells---.NET平台四大天王 3、C++ C++程序设计语言(特别版)---c++八大金刚---Bjarne Stroustrup“C++之父” C++ Primer (第3版)中文版---c++八大金刚---Stanley B.Lippman C++ Primer (第4版)中文版---c++八大金刚---Stanley B.Lippman C++标...

借同学百度知道问的,求一个C语言课程设计,关于图书馆借阅的程序。
借同学百度知道问的,求一个C语言课程设计,关于图书馆借阅的程序。 图书借阅管理设计要求基本功能:图书管理读者管理借书管理还书管理查询与统计拓展功能:图书管理、读者管理、借书管理及还书管理中的删除、修改功能。创新(自拟)功能:程序实现的其它... 图书借阅管理设计要求 基本功能: 图书管理 读者管理 借书管理 还书...

计算机编程入门
详情请查看视频回答

我是一个初中生,现在初二,想趁暑假学c语言,英语还行
随便去书店买一本,从基础开始看,再装个TC2.0,把书上的代码自己打进去调试看看,然后逐步发展到自己可以写,学C还是要多调试多写代码。(PS:会编辑flash动画和学C一点关系没有)

求一个。net(C#)+sql网上学生成绩查询系统(毕业设计)
vb一个考试管理系统。带论文的VB医药管理系统vb音像制品出租及销售管理系统VB员工管理系统VB原创库存管理系统开题报告+外文翻译+论文正文+源代码+可执行程序vb原创图书管理系统)毕业设计+论文vb源代码加可执行文件加论文vb智能排课系统+论文vb中介管理系统vb+access源代码+论文+开题报告+外文翻译+答辩ppt学生宿舍管理系统...

脚本是什么意思??
详情请查看视频回答

相似回答