作业比赛编号 : 1619 - 信息学10班寒假打卡任务2
本任务完成时间 2月12日到2月18日
上次任务答案:
第一题答案
#include <iostream>
#include <cstring>
using namespace std;
int main() {
//1. 输入
string s;
getline(cin, s);
//2. 统计
const int N=10;
int a[N] = {0};
for(int i=0; i<s.length(); i++) {
char c = s[i];
if (c>='0' && c<='9')
a[c-'0']++;
}
//3. 求max
int max=-0x3f3f3f3f;
for(int i=0; i<N; i++)
if (a[i] > max)
max = a[i];
//4. 打印
for(int i=0; i<max; i++) {
for(int j=0; j<N; j++)
cout << ((max-i)<=a[j] ? '*': ' ') << " ";
cout << endl;
}
for(int i=0; i<N; i++)
cout << i << " ";
return 0;
}
第二题答案
#include<iostream>
using namespace std;
const int N = 100;
struct Score{
int sn;
int score1;
int score2;
int score3;
int score4;
int total;
} points[N + 1];
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> points[i].sn >> points[i].score1 >> points[i].score2 >> points[i].score3 >> points[i].score4;
points[i].total = points[i].score1 + points[i].score2 + points[i].score3 + points[i].score4;
}
for (int i = 0; i < n; i++)
{
cout << points[i].sn << " " << points[i].total << endl;
}
return 0;
}
#include<algorithm>
using namespace std;
const int N = 100;
struct Score{
int sn;
int total;
} score[N + 1];
bool cmp(Score a, Score b)
{
if(a.total != b.total)
return a.total > b.total;
return a.sn < b.sn;
}
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> score[i].sn >> score[i].total;
}
sort(score, score + n, cmp);
for (int i = 0; i < n; i++)
{
cout << score[i].sn << " " << score[i].total << endl;
}
return 0;
}
第四题答案
#include<iostream>
#include<string>
using namespace std;
string f(string a){
for(int i=0;i<a.size();i++){
for(int i=0;i<a.size();i++){
if(a[i]==' '){
a.replace(i,1,"");
}
if(a[i]>='A' && a[i]<='Z'){
a[i]=a[i]-'A'+'a';
}
}
}
return a;
}
int ff(string a,string b){
int cnt=0;
for(int i=0;i<a.size();i++){
if(a[i]==b[i]){
cnt++;
}
}
return cnt;
}
int main(){
string n,m;
getline(cin,n);
getline(cin,m);
cout<<ff(f(n),f(m));
}
比赛尚未开始或私有,不能查看题目。