文章

49

粉丝

140

获赞

27

访问

17.3k

头像
统计字符 题解:求助大佬,为什么不能用while(1)是平台的事情吗?
P1320 浙江大学机试题
发布于2024年2月1日 21:27
阅读数 467

#include <iostream>
#include <string.h>
using namespace std;
int main(){
	char a[100][10];
	char b[100];
	int c[1000];
	for(int i=0;i<1000;i++)
	  c[i]=0;
	for(int i=0;i<100;i++){
		b[i]=0;
	for(int j=0;j<10;j++)
		a[i][j]=0;
	}
	int cc=0;
	int d=0;
	while(gets(a[cc])&&gets(b)){
		
		if(a[cc][0]=='#')
		break;
		int len=strlen(b);
		int len1=strlen(a[cc]);	
		for(int i=0;i<len1;i++){
		for(int j=0;j<len;j++){
		if(a[cc][i]==b[j])
		c[d]=c[d]+1;
		if(c[d]!=0&&j==len-1)
		d++;
		}
		}
	for(int i=0;i<100;i++)
		b[i]=0;
	cc++;
	}
	int dd=0;
	for(int i=0;i<cc;i++){
		for(int j=0;j<strlen(a[i]);j++){
			cout << a[i][j] <<' ';
			printf("%d\n",c[dd]);
			dd++;
		}
	}
	system("pause");
	return 0;
}

如果改用while(1) ,通过率只有20%crying

登录查看完整内容


登录后发布评论

4 条评论
snake
2024年2月1日 23:16

对于多组数据数组,while(1)是死循环,那什么时候结束呢?

一般来说,都是读到文件末尾结束也就是EOF

赞(0)

孙某人 : 回复 snake: 内个,循环内加break条件也不行吗

2024年2月2日 09:52

snake : 回复 孙某人: 有明确结束条件的可以,有的题目没有说以什么结束,那么就默认文件读完就结束。

2024年2月2日 11:56

孙某人 : 回复 snake: 明白了。谢谢

2024年2月2日 18:27