经典重庆
标题:
[原创]C语言_学习题套_第三套
[打印本页]
作者:
文木四水
时间:
2007-2-1 13:15
标题:
[原创]C语言_学习题套_第三套
<p> 标识符处理程序<br/>要求: 假设你们正在开发一种新的计算机语言的编译器。该编译器包括很多模块,其中你负责编写一个标识符的简单处理程序。<br/> 程序的功能要求如下:<br/>从键盘输入数据到程序中;<br/>将数据写出到文本文件accp.txt中<br/>计算文件中有多少个有效的标识符。此处有效标识符的定义是:字母开头,后面只能跟字母和数字。例如文件中如下一行内容“sa,’;fgf[]][ert5354[]fd3”,那么在这行中有效的标识符是:sa, fgf, ert5354, fd3,共四个有效的标识符<br/>推荐实现步骤:<br/>以正确的模式打开文件accp.txt<br/>从键盘输入合理的测试数据;<br/>将数据写出到文件中;<br/>读取文件的内容,滤去非字母和数字的字符,将标识符计数、输出; <br/>输出标识符的个数<br/>运行时,显示如下图:</p><p>Input text for accp.txt(input x or X as end of input)<br/>Void go()<br/>{<br/>int i=9;<br/>if (i==9)<br/>{<br/> Printf(“This number is %d,”,i);<br/>}<br/>}x</p><p>Token 1: Void<br/>Token 2: go<br/>Token 3: int <br/>Token 4: i<br/>Token 5: if <br/>Token 6: i<br/>Token 7: printf<br/>Token 8: This<br/>Token 9: number<br/>Token 10: is<br/>Token 11: d<br/>Token 12: i</p><p>File accp.txt have 12 valid tokens<br/>D:\work\tcrun>_</p><p>Accp文件的内容如下:<br/> Void go()<br/>{<br/>int i=9;<br/>if (i==9)<br/>{<br/> Printf(“This number is %d,”,i);<br/>}<br/>}</p><p>注意事项:<br/>不必考虑“有效标识符”的前面和后面是否是空格<br/>要能够将两个“有效标识符”之间的非法字符滤掉;<br/>与用户交互的格式应严格按照上图的形式进行。即:能够输出每个标识符,同时又能够正确计数;</p>
作者:
文木四水
时间:
2007-2-1 13:16
<p>解:</p><p>//过滤无效字符<br/>#include<stdio.h><br/>void main()<br/>{<br/> FILE *fp1,*fp2;<br/> char num[100];<br/> char temp[20][5];<br/> char ch;<br/> int chal;<br/> int i=0,n=-1,j=0,m=0;//m用来记录共有多少个标识符<br/> int x;<br/> if((fp1=fopen("accp.txt","w"))==NULL)//创建文本文件accp.txt<br/> {<br/> printf("创建文件出错");<br/> exit(1);<br/> }<br/> printf("向文本文件中输入数据(提示:文本文件只写入空格符以前的数据)\n");<br/> scanf("%s",num);<br/> fputs(num,fp1);<br/> fclose(fp1);</p><p> <br/> getch();<br/>}<br/></p><p></p>
欢迎光临 经典重庆 (http://bbs.jdcq.net/)
Powered by Discuz! X3.1