2081:依题意输出即可
#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
cin >> n;
cin.ignore();
char c[12];
while (n--) {
cin >> c;
cout << '6';
for (int i = 6; i < strlen(c); i++)
cout << c[i];
cout << endl;
}
return 0;
}
2093:成绩管理,字符转数字,sort排序
(转载自“Shishishi888”)
#include <iostream>
#include <cstdio>
#include <string>
#include <sstream>
#include <algorithm>
using namespace std;
typedef struct student{
string name; //学生姓名
int AC_num; //AC的题目数
int time_score; //时间分
}stu[1001];
int toInt(string number){ //将字符串数字num转换为int型
stringstream ss;
ss<<number;
int intNumber;
ss>>intNumber;
return intNumber;
}
int AC_WA_score(string score, int de_score){ //多次WA后才AC的题目,计算其时间分
string this_time_score; //本次AC获得的时间分
int ptr;
for(int i=0; i<score.size(); i++){
this_time_score+=score[i];
if(score[i]=='('){
ptr=i+1;
break;
}
}
string WA_times; //()中记录的WA的次数;
while(score[ptr]!=')')
WA_times+=score[ptr++];
return toInt(this_time_score)+toInt(WA_times)*de_score;
}
bool cmp(student stu1, student stu2){
if(stu1.AC_num>stu2.AC_num)
return true;
return false;
}
int main(){
//freopen("input.txt", "r", stdin);
int subj_num; //题目数量
int de_score; //单位罚分数
cin>>subj_num>>de_score;
getchar();
stu stu_records;
int i=0;
while(cin>>stu_records[i].name) {
stu_records[i].AC_num=0;
stu_records[i].time_score=0;
string score; //每个题目对应的分数记录
for(int j=0; j<subj_num; j++){
cin>>score;
if(score[0]=='-'||score=="0") //题目还未AC
continue;
else if(score[score.size()-1]==')'){ //题目在多次WA后才AC
stu_records[i].AC_num+=1;
stu_records[i].time_score += AC_WA_score(score, de_score);
}
else{ //题目一次就AC
stu_records[i].AC_num++;
stu_records[i].time_score += toInt(score);
}
}
i++;
}
sort(stu_records, stu_records+i, cmp);
for(int k=0; k<i; k++)
printf("%-10s %2d %4d\n", stu_records[k].name.c_str(), stu_records[k].AC_num, stu_records[k].time_score);
return 1;
}
2091:输出图案
#include<iostream>
using namespace std;
#include<string>
int main(){
char c;
int n;
while(cin>>c&&c!='@'){
static int flag=0;//用于最后的格式控制
if(flag!=0)
cout<<endl;
cin>>n;
for(int i=0;i<n-1;i++)
{
for(int j=1;j<=n-i;j++)
{
if(j==n-i)
cout<<c;
else
cout<<" ";
}
for(int j=n-i+1;j<=n+i;j++)
{
if(j==n+i)
cout<<c;
else
cout<<" ";
}
cout<<endl;
}
for(int j=1;j<=2*n-1;j++)
cout<<c;
cout<<endl;
flag++;
}
return 0;
}
1004:气球颜色
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct color{
string co;
int sum;
};
bool cmp(color a,color b){//与sort函数搭配使用,非常nice
return a.sum>b.sum;
}
int main(){
int n;
while(cin>>n&&n!=0){
cin.ignore();
color s[n];
for(int i=0;i<n;i++)
{
cin>>s[i].co;
s[i].sum=0;}
for(int i=0;i<n;i++)
{
if(s[i].co!="")
for(int j=i+1;j<n;j++)
if(s[i].co==s[j].co)
{
s[i].sum++;
s[j].co="";
}
}
sort(s,s+n,cmp);
cout<<s[0].co<<endl;
}
}
2057:long long 与 _int64
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
long long a,b,sum;
while(cin>>hex>>a>>b){
sum=a+b;
if(sum<0)
cout<<"-"<<hex<<uppercase<<-sum<<endl;
else
cout<<hex<<uppercase<<sum<<endl;
}
return 0;
}