5 条题解

  • 2
    @ 2025-2-25 23:05:40

    根据题意模拟即可。

    由于题目限定死了月底津津一定会存钱,因此就很简单了。考虑用一个变量 sumsum 表示在妈妈那里存了多少钱,ansans 表示手上剩余多少钱。那么答案就是 sum×1.2+anssum×1.2+ans

    对于不行的情况,即为剩下的钱加上 300 仍然小于花销,那就不行了。 至于 sum 和 ans 的更新这里就不多赘述了,具体见代码。

    AC code(求点赞)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
        int ans=0;
        int sum=0;
        for(int i = 1;i<=12;i++){
            int s;cin>>s;
            if(ans+300<s){
                cout<<'-'<<i;
               return 0;
            }
            sum+=(300-s+ans)/100*100;
            ans=(300-s+ans)%100;
        }
        cout<<sum*1.2+ans;
        return 0;
    }
    
    • 0
      @ 2025-3-31 13:15:55

      import java.util.Scanner;

      //用return比break合理,因为break只是跳出for,后面的代码还会执行 public class Main2 { public static void main(String[] args) { //每个月月初,妈妈给300元 // 每个月会花费输入的金额

          //定义起始金额为0,存款为0,支出为0
          int sum = 0;
          int savings = 0;
          int expenditure;
      
          Scanner sc = new Scanner(System.in);
          for (int i = 0; i < 12; i++) {
              //每月零花钱
              sum += 300;
      
              //输入支出
              expenditure = sc.nextInt();
      
              //判断输入内容是否合理
              if (expenditure < 0 || expenditure >= 350) {
                  break;
              }
      
              //支出后剩余的钱数
              sum -= expenditure;
      
              //如果剩余的钱数小于0,输出-1
              if (sum < 0) {
                  System.out.println(-(i+1));
                  break;
              }
      
      
              //存完钱后剩余的钱数和存款
                  while (sum >=100 ) {
                      savings += 100;
                      sum -= 100;
                  }
      
          }
          int finalAmount = (int) (savings * 1.2 + sum);
          System.out.println(finalAmount);
      
      }
      

      }

      • 0
        @ 2025-1-17 14:25:46

        如下

        #include <iostream>
        using namespace std;
         
        const int m = 300;
         
        int main() {
            int h = 0, s = 0;       // 定义变量h和s,分别表示小时和总金额
            int a;                  // 定义变量a,用于存储输入的金额
            for (int i = 1; i < 13; i++) {
                cin >> a;           // 输入金额
                h += m;             // 每次循环累加300小时到h
                if (h < a) {
                    cout << -i;     // 如果h小于a,则输出负的i,并结束程序
                    return 0;
                }
                int left = h - a;   // 计算剩余的金额
                h = left % 100;     // 将剩余的金额转换为小时
                s += left - h;      // 累加剩余的金额到s
            }
            cout << s * 1.2 + h;    // 输出总金额,使用1.2作为兑换率
            return 0;
        }
        • 0
          @ 2024-11-10 10:40:30
          #include <iostream>
          using namespace std;
          int main(){
          	int d,y,c=0,l=0;
          	for(int i=1;i<=12;i++){
          	    cin>>d;
          	    y=l+300-d;
          	    c=c+y/100;
          	    l=y%100;
          	    if(y<0){
          	        cout<<-i;
          	        return 0;
          	    }	
          	}
          	cout<<c*100*1.2+l<<endl;
          	return 0;
          }
          
          • 0
            @ 2024-10-29 11:27:55
            #include<bits/stdc++.h>
            using namespace std;
            
            int main() {
                int budget, money = 0, interest = 0;
                for (int i = 1; i <= 12; i++) {
                    cin >> budget;
                    money += 300 - budget;
                    if (money < 0) {
                        cout << '-' << i;
                        return 0;
                    }
                    while (money >= 100) {
                        interest += 100;
                        money -= 100;
                    }
                }
                cout << money + interest * 1.2;
                return 0;
            }
            
            • 1

            信息

            ID
            5147
            时间
            1000ms
            内存
            125MiB
            难度
            1
            标签
            递交数
            705
            已通过
            314
            上传者