在CCR中gets和fgets有什么使用限制吗
  • 板块学术版
  • 楼主_Sky_Dream_
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/5/1 15:20
  • 上次更新2024/5/1 16:16:12
查看原帖
在CCR中gets和fgets有什么使用限制吗
390220
_Sky_Dream_楼主2024/5/1 15:20

我两次提交。

第一次代码:

#include<bits/stdc++.h>
#define int long long
#define rep(i,x,y) for(int i=x;i<=y;++i)
using namespace std;
int T;
void Main(){
	char n[105];
	char a,b,c;
	gets(n);
	int s=strlen(n)-1;
	cin>>a;
	if(a=='R'){
		cin>>b>>c;
		rep(i,0,s)
			if(n[i]==b)cout<<c;
			else cout<<n[i];
		cout<<endl;
		return;
	}
	if(a=='I'){
		cin>>b>>c;
		int id=-114514;
		rep(i,0,s)
			if(n[i]==b)id=i;
		if(id==-114514){
			cout<<"error"<<endl;
			return;
		}
		rep(i,0,s)
			if(i==id)cout<<c<<n[i];
			else cout<<n[i];
		cout<<endl;
	}
	if(a=='D'){
		cin>>b;
		int id=-114514;
		rep(i,0,s)if(n[i]==b){id=i;break;}
		if(id==-114514){
			cout<<"error"<<endl;
			return;
		}
		rep(i,0,s)
			if(i!=id)cout<<n[i];
		cout<<endl;
	}
}
void Enchanted(){
	srand(time(0));
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	freopen("edit.in","r",stdin);
	freopen("edit.out","w",stdout);
	cin>>T;
	while(T--)Main();
	exit(0);
}
signed main(){Enchanted();}

第二次:

#include<bits/stdc++.h>
#define int long long
#define rep(i,x,y) for(int i=x;i<=y;++i)
using namespace std;
int T;
void Main(){
	char n[105];
	char a,b,c;
	fgets(n,sizeof(n),stdin);
	int s=strlen(n)-1;
	cin>>a;
	if(a=='R'){
		cin>>b>>c;
		rep(i,0,s)
			if(n[i]==b)cout<<c;
			else cout<<n[i];
		cout<<endl;
		return;
	}
	if(a=='I'){
		cin>>b>>c;
		int id=-114514;
		rep(i,0,s)
			if(n[i]==b)id=i;
		if(id==-114514){
			cout<<"error"<<endl;
			return;
		}
		rep(i,0,s)
			if(i==id)cout<<c<<n[i];
			else cout<<n[i];
		cout<<endl;
	}
	if(a=='D'){
		cin>>b;
		int id=-114514;
		rep(i,0,s)if(n[i]==b){id=i;break;}
		if(id==-114514){
			cout<<"error"<<endl;
			return;
		}
		rep(i,0,s)
			if(i!=id)cout<<n[i];
		cout<<endl;
	}
}
void Enchanted(){
	srand(time(0));
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	freopen("edit.in","r",stdin);
	freopen("edit.out","w",stdout);
	cin>>T;
	while(T--)Main();
	exit(0);
}
signed main(){Enchanted();}

但无论我如何改,CCR 总是显示 选手输出为空,可是我 freopen 也加了。请问这是什么回事。

2024/5/1 15:20
加载中...