1.打折:去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 x 70% = ¥691.60。
输入在一行中给出商品的原价(不超过1万元的正整数)和折扣(为[1, 9]区间内的整数),其间以空格分隔。
#include <bits/stdc++.h>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
int n;
float m;
cin>>n>>m;
m=m/10;
printf("%.2f\n",m*n);
return 0;
}
2.谁是赢家:某电视台的娱乐节目有个表演评审环节,每次安排两位艺人表演,他们的胜负由观众投票和 3 名评委投票两部分共同决定。规则为:如果一位艺人的观众票数高,且得到至少 1 名评委的认可,该艺人就胜出;或艺人的观众票数低,但得到全部评委的认可,也可以胜出。节目保证投票的观众人数为奇数,所以不存在平票的情况。本题就请你用程序判断谁是赢家。
#include <bits/stdc++.h>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
int n,m,i,j,k=0,l=0;
char c[3];
cin>>n>>m;
for(i=0;i<3;i++)
{
cin>>c[i];
}
for(j=0;j<i;j++)
{
if(c[j]=='0')
k++;
else if(c[j]=='1')
l++;
}
if((n+k>m+l)&&k>=1)
cout<<"The winner is a: "<<n<<' '<<'+'<<' '<<k<<endl;
else if((n+k<m+l&&l>=1)||l==3)
cout<<"The winner is b: "<<m<<' '<<'+'<<' '<<l<<endl;
return 0;
}
3.猜数字:一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。
输入在第一行给出一个正整数N(≤104)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。
#include <bits/stdc++.h>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
int n,i,k,win=0;
float sum=0;
string c[10000];
float arr[10000];
cin>>n;
for(i=0;i<n;i++)
{
cin>>c[i];
cin>>arr[i];
sum=sum+arr[i];
}
sum=sum/n/2;
k=abs(sum-arr[0]); //赋予一个变量为了后面的比较
for(i=1;i<n;i++)
{
if(k>abs(sum-arr[i])) //如果此变量大于它,那么重新赋值给这个变量,让他与后面的数比较,看看最小的是哪个
{
k=abs(sum-arr[i]);
win=i;
}
}
cout<<(int)sum<<' '<<c[win];
return 0;
}