19 条题解

  • 17
    @ 2022-8-19 19:41:30

    这一道题是数组问题,还是老样子,来个数组做做摆设,先来看看思路吧~

    1. 定义一个数组 a,并且每一次输入时都将总数 sum 增加上加钱数(sum 要是 double 型)
    2. 最后判断如果总数大于 100,就将大于100的部分打折并且加上其他的100元:sum-100 * 0.9+100
    3. 最后输出即可~~~~~

    好了!上代码!(AC过啦~)

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n, a[101];
        double sum = 0;
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
            cin >> a[i];
            sum += a[i];
        }
        if (sum > 100) printf("%.2lf", (sum - 100) * 0.9 + 100);
        else printf("%.2lf", sum);
        return 0;
    }
    
    • @ 2024-4-30 21:15:28

      古希腊掌管AC题解的神🚀️

  • 4
    @ 2023-5-8 13:31:28

    这题很简单,先来看一下思路: 1,定义两个double变量(n忽略不计)sum和x,x为每件东西的价钱,每次输入时将sum增加上钱数。 2,sum比100大的打9折(乘0.9),sum比100没关系(我试过了)。 3.输出答案。

    #include <bits/stdc++.h>
    using namespace std;
    int n;
    double x,sum;
    int main()
    {
        cin>>n;
        for (int i=1;i<=n;i++)
        {
            cin>>x;
            sum+=x;
        }
        cout<<fixed<<setprecision(2)<<(sum-100)*0.9+100;
        return 0;
    }
    

    彩蛋来了

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        cout<<199.00;
    }
    

    “温馨提示”:后面是懒人操作,建议不要使用。

    • @ 2023-12-16 16:57:53

      懒人操作199.00要加双引号,不然输出的是199

  • 2
    @ 2024-2-3 12:34:00

    1.定义一个数组,double类型变量sum储存总钱数 2.计算超过100元和不超过100元需要花的钱 提示:保留小数可采用: cout << fixed << setprecision(保留位数)<< 要输出的数;

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;
        double a[105],sum=0;
        cin >> n;
        for (int i=1;i<=n;i++)
        {
            cin >> a[i];
            sum+=a[i];
        }
        if (sum>100)
        {
            cout << fixed << setprecision(2) << (sum-100)*0.9+100 << endl;
        }
        else
        {
            cout << fixed << setprecision(2) << sum << endl;
        }
        return 0;
    }
    

    已AC

    • 2
      @ 2023-8-31 17:58:09

      过辣!

      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          int n,a[200],sum=0;
          scanf("%d",&n);
          for (int i=1;i<=n;i++)
          {
              scanf("%d",&a[i]);
              sum+=a[i];
          }
          if (sum>100)sum=(sum-100)*0.9+100;
          printf("%0.2f",1.0*sum);//%0.2f保留2位小数
          //也可以用cout<<fixed<<setprecision(2)<<1.0*sum;
          return 0;
      }
      
      • 2
        @ 2023-8-10 20:03:05
        #include <iostream>
        int main(){
            std::cout<<"199.00"<<std::endl;}
        
        • @ 2023-8-31 17:58:33

          作弊哥

        • @ 2023-12-11 21:04:36

          作弊哥!

        • @ 2024-2-2 18:25:40

          哈哈,我用的也是这种方法

        • @ 2024-2-2 18:26:00

          《同道中人》

        • @ 2024-2-28 20:23:21

          最牛作弊哥:

          #include<iostream>
          int main(){std::cout<<"199.00";}
          
      • 2
        @ 2023-8-3 11:27:48

        这道题难点在于保留小数,

        在iomanip库中有一个函数可以保留小数(四舍五入),

        用法如下:cout<<fixed<<setprecision(保留位数)<<要输出的数;

        (fixed是保留小数的英语)

        上代码,AC过,放心食用!

        #include<bits/stdc++.h>
        using namespace std;
        int main()
        {
            int n;
            double sum;
            cin>>n;
            int a[n+5];
            for(int i = 1;i<=n;i++)
            {
                cin>>a[i];
                sum+=a[i];
            }
            if(sum>100)
            {
                sum = 100+(sum-100)*0.9;
            }
            cout<<fixed<<setprecision(2)<<sum;
            return 0;
        }
        
        • 1
          @ 2024-3-26 21:23:29
          拿走不谢~
          #include <bits/stdc++.h>
          using namespace std;
          int main()
          {
          double n,a[105],sum=0,tot,x;
          cin>>n;
          for(int i=1;i<=n;i++)
          {
          cin>>a[i];
          sum+=a[i];
          }
          if(sum>100)
          {
          tot=sum-100;
          x=sum-tot;
          tot*=0.9;
          }
          cout<<fixed<<setprecision(2)<<x+tot;
          return 0;
          }
          
          • 1
            @ 2023-11-4 20:38:17

            简单呀

            #include <bits/stdc++.h> 
            using namespace std;
            int main()
            {
                int n,a,sum=0;
                cin>>n;
                for (int i=1;i<=n;i++)
                {
                    cin>>a;
                    sum+=a;
                }
                if (sum>100)
                {
                    cout<<fixed<<setprecision(2)<<(sum-100)*0.9+100;
                }
                return 0;
            }
            
            
            • 1
              @ 2023-7-22 15:59:39

              全网最短:

              #include <iostream>
              int main(){
                  std::cout<<"199.00"<<std::endl;}
              
            • 1
              @ 2023-7-22 15:58:30
              #include <cstdio>
              using namespace std;
              int main(){
                  int n,x,sum=0;
                  scanf("%d",&n);
                  for(int i=1;i<=n;i++){
                      scanf("%d",&x);
                      sum+=x;
                  }
                  sum>100?printf("%.2f\n",1.0*(100+(sum-100)*0.9)):printf("%.2f",sum*1.0);
                  return 0;
              }
              
              • 1
                @ 2023-5-14 9:24:43

                数组问题: 定义一个数组(每一次输入时别忘把sum加上钱数(sum为double类型) 判断总数,如果大于100,就把大于100的部分打折并加上100元 上才艺!!(先理解在抱走)

                #include <bits/stdc++.h>
                using namespace std;
                int main()
                {
                    int n, a[101];
                    double sum = 0;
                    cin >> n;
                    for (int i = 1; i <= n; i++)
                    {
                        cin >> a[i];
                        sum += a[i];
                    }
                    if (sum > 100) printf("%.2lf", (sum - 100) * 0.9 + 100);
                    else printf("%.2lf", sum);
                    return 0;
                }
                
                
                • 1
                  @ 2023-2-13 21:22:49

                  不用数组也能做,哈哈~~😄 😄 🎉️

                  #include <bits/stdc++.h>
                  using namespace std;
                  int main()
                  {
                      int n,x;
                      double m=0,a=0;
                      cin >>n;
                      for (int i = 1; i <= n; i++)
                      {
                          cin >>x;
                          m+=x;
                      }
                      if (m>100)
                      {
                          a=100+(m-100)*0.9;
                      }
                      cout << fixed << setprecision(2) << a;
                      return 0;
                  }
                  
                  
                  • 1
                    @ 2022-12-23 15:42:35

                    今天我又为大家整理了两种做法

                    AC代码1(推荐)

                    #include <bits/stdc++.h>
                    using namespace std;
                    int main()
                    {
                    	int a[10], i, n;
                    	double s = 0;
                    	cin >> n;
                    	for (i = 0; i < n; i++)
                        {
                    		cin >> a[i];
                    	}
                    	for (i = 0; i < n; i++)
                        {
                    		s += a[i];
                    	}
                    	for (i = 0; i < n; i++)
                        { 
                    	    if ((s > 100) && (a[i] == a[n - 1]))
                            {
                    			cout << fixed << setprecision(2) << (s - 100) * 0.9 + 100;
                            }
                    	}
                        return 0;
                    }
                    

                    AC代码2(懒人必看)

                    #include <bits/stdc++.h>
                    using namespace std;
                    int main()
                    {
                    	int a[100], n, x = 0;
                    	cin >> n;
                    	for (int i = 0; i < n; i++)
                        {
                    		cin >> a[i];
                    		x += a[i];
                    	}
                    	cout << fixed << setprecision(2) << 100 + ((x - 100) * 0.9);
                    	return 0;
                    }
                    
                    • @ 2024-2-28 20:31:40

                      AC代码3(作弊哥必看)

                      #include<iostream>
                      int main(){std::cout<<"199.00";}
                      
                    • @ 2024-2-28 20:37:58

                      哥,应该是三种做法:

                      今天我又为大家整理了三种做法

                      AC代码1(推荐)

                      #include <bits/stdc++.h>
                      using namespace std;
                      int main()
                      {
                      	int a[10], i, n;
                      	double s = 0;
                      	cin >> n;
                      	for (i = 0; i < n; i++)
                          {
                      		cin >> a[i];
                      	}
                      	for (i = 0; i < n; i++)
                          {
                      		s += a[i];
                      	}
                      	for (i = 0; i < n; i++)
                          { 
                      	    if ((s > 100) && (a[i] == a[n - 1]))
                              {
                      			cout << fixed << setprecision(2) << (s - 100) * 0.9 + 100;
                              }
                      	}
                          return 0;
                      }
                      

                      AC代码2(懒人必看)

                      #include <bits/stdc++.h>
                      using namespace std;
                      int main()
                      {
                      	int a[100], n, x = 0;
                      	cin >> n;
                      	for (int i = 0; i < n; i++)
                          {
                      		cin >> a[i];
                      		x += a[i];
                      	}
                      	cout << fixed << setprecision(2) << 100 + ((x - 100) * 0.9);
                      	return 0;
                      }
                      

                      AC代码3(作弊哥必看)

                      #include<iostream>
                      int main(){std::cout<<"199.00";}
                      
                  • 1
                    @ 2022-11-28 23:51:58

                    本题注意事项:

                    1,输出内容为两位小数,要格式化输出printf

                    2,由于涉及到小数,我们要注意是double类型还是int类型

                    3,注意题目,是超过了几元才能打折

                    4,注意头文件,强烈建议用万能头文件<bits/stdc++.h>

                    5,如果用数组输入的话,那么请注意N的范围,不要越界

                    • 1
                      @ 2022-10-9 21:07:44

                      不是AC我吃屎

                      using namespace std;
                      int main()
                      {
                      int n, a[101];
                      double sum = 0;
                      cin >> n;
                      for (int i = 1; i <= n; i++)
                      {
                      cin >> a[i];
                      sum += a[i];
                      }
                      if (sum > 100) printf("%.2lf", (sum - 100) * 0.9 + 100);
                      else printf("%.2lf", sum);
                      return 0;
                      }
                      
                      • 1
                        @ 2022-5-26 15:22:36

                        整体思路就是遍历1~n件物品,获取每件物品的价钱,并累加到sum中,循环结束后,判断一下sum是否超过100,如果超过了,就将超过的部分乘上0.9,再加上未超过的100,即为最后要付的价钱;如果没有超过,则不用计算,最后保留两位小数进行输出。

                        这里最重要的部分在于保留两位小数要用到

                        cout << fixed << setprecision(2) << sum;
                        

                        要加头文件#include<iomanip> 主要代码:

                        for (int i = 1; i <= n; i++) //遍历1~n件物品
                            {
                                cin >> a[i];  //输入每件物品的价钱
                                sum += a[i];  //把每件物品的价钱累加到sum中
                            }
                            //超过100的部分sum-100打九折,即该部分乘上0.9,最后加上未超过的100;
                            //没有超过的不用计算
                            if (sum > 100)
                            {
                                sum = (sum - 100) * 0.9 + 100;
                            }
                            //保留两位小数
                            cout << fixed << setprecision(2) << sum;
                        
                        • 0
                          @ 2022-4-24 15:59:07

                          鼓励大家写题解,但注意题解格式。

                          给代码两端加上这个会舒服一些

                          ```cpp

                          你的代码

                          ```

                          </span>

                          这个点在键盘的左上角tab上面那个键,注意切换输入法

                          #include<iostream>
                          using namespace std;
                          int main()
                          {
                              int n;
                              cin>>n;//这是一个注释
                              return 0;
                          } 
                          

                          请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

                          抄袭题解一经发现直接取消成绩。

                          • -1
                            @ 2024-2-28 20:45:03

                            鼓励大家写题解,但注意题解格式。

                            给代码两端加上这个会舒服一些

                            ```cpp

                            你的代码

                            ```

                            </span>这个点在键盘的左上角tab上面那个键,注意切换输入法

                            #include<iostream>
                            using namespace std;
                            int main()
                            {
                                int n;
                                cin>>n;//这是一个注释
                                return 0;
                            }
                            

                            Copy

                            请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

                            抄袭题解一经发现直接取消成绩。

                            • 1

                            信息

                            ID
                            160
                            时间
                            1000ms
                            内存
                            16MiB
                            难度
                            3
                            标签
                            递交数
                            1387
                            已通过
                            741
                            上传者