top1编程
← 返回题目
题解

【入门】马里奥的银币1

1 条题解

  • 0
    @ 2026-7-28 23:24:33
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int a[1010],n,i,ma;
    	cin>>n;
    	for(i = 0;i < n;i++){
    		cin>>a[i];
    	} 
    	ma = 0;
    	for(i = 1;i < n;i++){
    		if(a[i] > a[ma]){
    			ma = i;//找到最大面值的下标位置
    		}
    	}
    	if(a[ma] % 2 == 0){//最大的银币是偶数的金额
    		a[ma] *= 2;//面值翻倍
    	}else{//最大的银币是奇数的金额
    		a[ma] += 1;//银币金额加1
    	}
        //按原有位置输出改变后的银币
    	for(i = 0;i < n;i++){
    		cout<<a[i]<<" ";
    	} 
    	return 0;
    }
    
    • 1