但是第一个作业就给我难堪!自己画出的流程图却给不出一个对应的程序阿!非得用goto才能弄出来,可我又不想用goto。所以想请问一下,有没有高手指点一下画流程的技巧或是画了出来后化简的办法
多谢斑竹关心!!!!!!!!!题下: 做个程序,要求:2. 写一个程序统计在一个C 语言源程序文件中各ANSI C 关键字出现的次数。 我的做法: #include <stdio.h> #include <iostream.h> #include <string.h> void main() { FILE *fp; char word[10]; char* keyword[2]={"int","char"}; int count[2]={0,0}; if((fp=fopen("source.dat","r"))==NULL) { cout<<"cannot open file"<<endl; return; }////给出同目录下的source.dat(只是原来的source.cpp改名而来,为了防止出错debug下也放一个) char ch; ch=fgetc(fp); while(ch!=EOF) { int i=0; while(ch!=' ') { word[i]=ch; ch=fgetc(fp); i++; }///以空格为标志取单词 word[i]='\0';////以上为从文件中取出单词word for(int j=0;j<2;j++) { if(strlen(word)==strlen(keyword[j])&&strcmp(word,keyword[i])==0) count[i]++; }////给出某个单词出现的次数 } for(int j=0;j<2;j++) { cout<<keyword[j]<<" occured "<<count[j]<<" times"<<endl; }////输出单词出现的次数 fclose(fp); }
提示access violation 另外,debug 提示 c 的打开目录找不到 文件 这是我的另一种做法,大致是从源文件中一个一个的读入字符,然后以空格,活()为间隔 存入 字符数组 word 。那他与 keyword比较。得出结果