笔试做过的题:二 : 写一个文本处理程序,识别文本中包含有a开头b结尾的字符串

本文介绍了一道C语言编程题,要求编写一个程序找出文本中所有以a开头b结尾的字符串,并打印对应行号及a、b的位置。程序使用fopen和fgets函数读取文件,通过简单的字符串遍历实现。若将continue替换为break,程序行为会有所不同。
摘要由CSDN通过智能技术生成

题目:

     写一个文本处理程序,识别文本中包含有a开头b结尾的字符串,打印出相应的行数a的开始位,
     b的结束位,例如,fghujiaghvfdbnmh,打印出1,7,13;表示第一行,a的位置为7,b的位置为13。
     程序写完,请自己编辑相应的文件进行测试。

代码:

这个题比较简单,使用fopen和fgets就能解决,,题目没有要求输出总行数,不然最后还要判断空行

#include<stdio.h>
#include<stdlib.h>
#include<string.h> 

int main(){
	char s[100];
	FILE *p;
	int lines=0;
	p=fopen("D:\\11.txt","r");
	
	if(p){
		while((fgets(s,100,p))!=NULL){
			++lines;
		
			char c1='a';
			char c2='b';
			int m = strlen(s);
		//	printf("s长度:%d\n",m);
			int i,j;
			for(i=0;i<m;i++){
				if(s[i]==c1){
					for(j=i;j<m;j++){
						if(s[j]==c2){
							printf("行数:%d,a的位置:%d,b的位置:%d\n",lines,i+1,j+1);	
							continue; 
           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值