1.从键盘上输入数据到程序中;
2.将数据写出到文本文件accp.txt中;
3、计算文件中有多少个有效的标识符。有效的定义是:以字母开头,后面只能跟字母和数字。例如输入一行内容“sa,';fgf[]][ert5354[]fd3”,那么在这行中的有效标识符是:sa、fgf、ert5354、fd3,共有4个有效
各位高手帮帮忙啊!
//程序功能要求如下: //1.从键盘上输入数据到程序中; //2.将数据写出到文本文件accp.txt中; //3、计算文件中有多少个有效的标识符。 //有效的定义是:以字母开头,后面只能跟字母和数字。 //例如输入一行内容"sa,';fgf[]][ert5354[]fd3",那么在这行中的有效标识符是: //sa、fgf、ert5354、fd3,共有4个有效
#include <stdio.h> #include <stdlib.h> #include <ctype.h>
void writefile(); void processfile();
//写文件以回车作为输入结束. void writefile() { FILE *fp; char ch;
if((fp=fopen("accp.txt","w"))==NULL) { printf("can not open this file!\n"); exit(1); } while((ch=getchar())!='\n') fputc(ch,fp); fclose(fp); }
void processfile() { char buffer[100]; int i; int j; int ip;//输出字符穿 int sign; int flag; int count; FILE *fp; char ch; i=0; ip=1; flag=0; sign=1; count=0; if((fp=fopen("accp.txt","r"))==NULL) { printf("can not open this file!\n"); exit(1); } while((ch=fgetc(fp))!=EOF) { if(flag==0) { while(!(isalpha(ch))&&ch!=EOF) ch=fgetc(fp); if(ch==EOF) { sign=0; if(!count) printf("there is not effective strings!\n"); }
buffer[i]=ch; i++; flag++; } else { if(isalnum(ch)) { buffer[i]=ch; i++; } else { printf("th%d string is :\t",ip++); for(j=0;j<i;j++) printf("%c",buffer[j]); printf("\n"); count++; i=0; flag=0; } } } if(sign&&i>0) { printf("th%d string is :\t",ip++); for(j=0;j<i;j++) printf("%c",buffer[j]); printf("\n"); fclose(fp); } }
void main() { writefile(); processfile(); }
//程序功能要求如下: //1.从键盘上输入数据到程序中; //2.将数据写出到文本文件accp.txt中; //3、计算文件中有多少个有效的标识符。 //有效的定义是:以字母开头,后面只能跟字母和数字。 //例如输入一行内容"sa,';fgf[]][ert5354[]fd3",那么在这行中的有效标识符是: //sa、fgf、ert5354、fd3,共有4个有效
#include <stdio.h> #include <stdlib.h> #include <ctype.h>
void writefile(); void processfile();
//写文件以回车作为输入结束. void writefile() { FILE *fp; char ch;
if((fp=fopen("accp.txt","w"))==NULL) { printf("can not open this file!\n"); exit(1); } while((ch=getchar())!='\n') fputc(ch,fp); fclose(fp); }
void processfile() { char buffer[100]; int i; int j; int ip;//输出字符穿 int sign; int flag; int count; FILE *fp; char ch; i=0; ip=1; flag=0; sign=1; count=0; if((fp=fopen("accp.txt","r"))==NULL) { printf("can not open this file!\n"); exit(1); } while((ch=fgetc(fp))!=EOF) { if(flag==0) { while(!(isalpha(ch))&&ch!=EOF) ch=fgetc(fp); if(ch==EOF) { sign=0; if(!count) printf("there is not effective strings!\n"); }
buffer[i]=ch; i++; flag++; } else { if(isalnum(ch)) { buffer[i]=ch; i++; } else { printf("th%d string is :\t",ip++); for(j=0;j<i;j++) printf("%c",buffer[j]); printf("\n"); count++; i=0; flag=0; } } } if(sign&&i>0) { printf("th%d string is :\t",ip++); for(j=0;j<i;j++) printf("%c",buffer[j]); printf("\n"); fclose(fp); } }
void main() { writefile(); processfile(); }