优秀的成绩
跳转链接: 3767:优秀的成绩
要点
注意整除,sum/3进行下取整,因为这题>=90所以下取整没有影响,如果判断的是>90那么就会有错误
应该将判断改为sum/3.0>90
转换为浮点数或者sum>90*3
避免下取整
在做除法时应该十分小心,思考整型下取整有没有影响
代码
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
bool flag=true;
int sum=0;
for(int i=0;i<3;i++)
{
int x;
scanf("%d",&x);
if(x<85) flag=false;
sum+=x;
}
if(flag&&sum/3.0>=90) cout<<"Excellent"; //注意!!!
else cout<<"Not Excellent";
return 0;
}
英文字母
跳转链接:3766:英文字母
要点
字母与数字的转换
代码
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
char c;
cin>>c;
char temp;
if(c>='a'&&c<='z') temp='a';
else if(c>='A'&&c<='Z') temp='A';
int i=(int)(c-temp);
for(int j=0;j<26;j++)
{
cout<<(char)(temp+(i+j)%26);
}
return 0;
}
年龄
跳转链接: 3769:年龄
要点
起初一直没理解题目"如果生日是2月29日,那么非闰年的年份生日按2月28日算",理解后其实意思就是如果今年不是闰年但是生日是2.29应该看作2.28,如果是今年是闰年那么生日还是2.29
代码
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int y,m,d,ys,ms,ds;
scanf("%d%d%d%d%d%d",&y,&m,&d,&ys,&ms,&ds);
if(!(ys%400==0||ys%4==0&&ys%100!=0)&&m==2&&d==29) d=28;
int ans=ys-y;
if((ms<m||ms==m&&ds<d)) ans--;
printf("%d",ans);
return 0;
}
标签:22,上赛,int,sum,d%,&&,90,include,次线
From: https://www.cnblogs.com/mpmp/p/17230621.html