- 王晨逸 的博客
Day02
- @ 2024-7-16 20:06:17
T217购买文具
考点:鸡兔同笼
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,sum=0;
cin>>n;
n=n*10;
for(int x=1;x<=(n-3)/8;x++){
for(int y=1;y<=(n-9)/2;y++){
for(int z=1;z<=(n-10);z++){
if(x+y+z>30&&x*8+y*2+z==n){
sum++;
}
}
}
}
cout<<sum;
return 0;
}
使用枚举-循环嵌套,解决问题
T237字符串解压
考点:string字符串的使用,判断数字的代码,归零string字符串
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s,a;
cin>>s;
int len=s.size(),num=0;
for(int i=0;i<len;i++){
while(isdigit(s[i])&&i<len){
num=num*10+s[i]-'0';
i++;
}
while(!isdigit(s[i])&&i<len){
a+=s[i];
i++;
}
for(int j=0;j<num;j++){
cout<<a;
}
num=0;
i--;
a="";
}
return 0;
}
使用string字符串解题,判断数字或字母后输出
T253找谁的身高比全家平均身高高
考点:求平均值和对平均值进行比较
代码:
#include<bits/stdc++.h>
using namespace std;
struct tall{
int t,num;
};
tall a[15];
int main(){
int n;
double ave;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].t;
a[i].num=i;
ave=ave+a[i].t;
}
cout<<"AVE"<<"=";
ave=ave/n;
cout<<fixed<<setprecision(1)<<ave<<endl;
for(int i=1;i<=n;i++){
if(a[i].t>ave){
cout<<a[i].num<<":"<<a[i].t<<" ";
}
}
return 0;
}
先找出平均数,在和其他数进行比较
T260优秀成绩的平均分
考察点:先排序,找出前五名
代码:
#include<bits/stdc++.h>
using namespace std;
struct stu{
double ch;
};
bool cmp(stu a,stu b){
return a.ch>b.ch;
}
stu p[110];
int main(){
double st=0;
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>p[i].ch;
}
sort(p,p+n,cmp);
for(int i=0;i<5;i++){
st=st+p[i].ch;
}
st=st/5;
cout<<fixed<<setprecision(1)<<st;
return 0;
}
用sort排序,找出前五个后,找计算平均值