输出一个数字,代表花束中最大的花瓣数量,这就会导致“爱”。
- 理解题目,当花瓣的数量为奇数时才会有“爱”
- 用if来判断p的情况
- 在for循环输出ans
要注意当p为0的情况
- 定义和输入所需值
- 当p值为偶数时就不能得到爱,当为奇数时就要统计花瓣数
- 在for循环中找到第一个为奇数的数,将p的值赋予它,即a[i]=0
4.最后输出结果即可
#include<iostream>
#include<algorithm>
using namespace std;
int n,a[101],p=0,ans=0;
//n甘菊的数量,a[105]存每朵花花瓣数
//p是花瓣为奇数的花的个数
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]%2!=0) p++;
//要统计有几朵是奇数个花瓣
}
if(p==0) cout<<0;
//如果奇数个数为0显然不可能数到爱
if(p%2!=0)
{
for(int i=1;i<=n;i++)
{
ans+=a[i];
}//统计花瓣总数
cout<<ans;
}
else{
sort(a+1,a+n+1);
//使数组中的数字呈递增顺序排序
for(int i=1;i<=n;i++)
{
if(a[i]%2!=0)
{
a[i]=0;
break;
}
//找到第一个奇数值,并将其赋值给p
}
for(int i=1;i<=n;i++)
{
ans+=a[i];//统计最大花瓣数
cout<<ans;
}
}
return 0;
}
模拟