输入的区别
查看原帖
输入的区别
1333251
M_C_Yyyds楼主2024/9/12 22:07

这是用gets()输入的:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;
int num[26],x=0;
int main(){
	char n[81];
	for(int i=0;i<4;i++){
		gets(n);
		int a=strlen(n);
		for(int j=0;j<a;j++){
			if(n[j]>='A'&&n[j]<='Z'){
				num[n[j]-'A']++;
			}
		}
	}
	for(int i=0;i<26;i++)x=max(x,num[i]);
	for(int i=x;i>0;i--){
		for(int j=0;j<26;j++){
			if(num[j]>=i){
				cout<<"* ";
			}else{
				cout<<"  ";
			}
		}
		cout<<endl;
	}
	for(int i=0;i<26;i++)cout<<char(i+'A')<<" ";
	return 0;
}//编译失败

这是用getline()输入的:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;
int num[26],x=0;
int main(){
	string n;
	for(int i=0;i<4;i++){
		getline(cin,n);
		for(int j=0;j<n.size();j++){
			if(n[j]>='A'&&n[j]<='Z'){
				num[n[j]-'A']++;
			}
		}
	}
	for(int i=0;i<26;i++)x=max(x,num[i]);
	for(int i=x;i>0;i--){
		for(int j=0;j<26;j++){
			if(num[j]>=i){
				cout<<"* ";
			}else{
				cout<<"  ";
			}
		}
		cout<<endl;
	}
	for(int i=0;i<26;i++)cout<<char(i+'A')<<" ";
	return 0;
}//AC

这道题千万不要用gets()!!!

2024/9/12 22:07
加载中...