本人编程小白,第一篇博客,cf四天前才注册,想试着上上分,第一次参加了Div.2,紧张的把上个月才做的指甲都扣掉了,万事开头难嘛!!
请不要停下来 成为你想成为的人
那我们直接看题,第一题还是在我能力范围之内的。
题意:可通过一些操作(给某元素++)使数组的和与积都不为零,输出最少的步骤数。
简单来说:
①遇到几个0就操作几次
②sum==0再操作一次
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int t;
scanf("%d",&t);
int n;
int a[105];
while(t--)
{
while(scanf("%d",&n)!=EOF) {
int sum=0,ji=1,c=0;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]==0)
{ a[i]++;
c++; }
}
for(int i=0;i<n;i++) sum+=a[i];
if(sum==0){
printf("%d\n",c+1);
}else{
printf("%d\n",c);
}
}
}
return 0;
}
(꒪꒫꒪ )上学期学了c,我的输入输出都是用的scanf printf写的,写成cin和这种都可以!!代码有很多需要提升的地方希望能得到大佬们的指点!!|ૂ•ᴗ•⸝⸝)”