top1编程
← 返回题目
题解

【入门】有趣的折扣

3 条题解

  • 0
    @ 2026-7-29 20:23:01
    #include <bits/stdc++.h> //424 有趣的折扣 
    using namespace std;
    int main(){	
    	int n;
    	cin>>n;
    	double x=0,a[105]; //总价 有折扣所以要定义成double类型 
    	for(int i=1;i<=n;i++){
    		cin>>a[i]; //往数组a中输入n本书的单价 
    	}
    	sort(a+1,a+n+1);//从小到大排序 
    	a[n]=0.9*a[n]; //最贵的那本书打9折 数组a也要定义成double类型用来保存含小数价格的书 
    	for(int i=1;i<=n;i++){
    		x+=a[i]; //把所有书的总价累加起来 
    	}
    	x=0.9*x; //总价也打9折 
    	cout<<fixed<<setprecision(1)<<x; //保留一位小数输出 
    	return 0;
    }
    
    • 0
      @ 2026-7-29 0:06:21
      #include <bits/stdc++.h> //424 有趣的折扣 
      using namespace std;
      int main(){	
      	int n;
      	cin>>n;
      	double x=0,a[105]; //总价 有折扣所以要定义成double类型 
      	for(int i=1;i<=n;i++){
      		cin>>a[i]; //往数组a中输入n本书的单价 
      	}
      	sort(a+1,a+n+1);//从小到大排序 
      	a[n]=0.9*a[n]; //最贵的那本书打9折 数组a也要定义成double类型用来保存含小数价格的书 
      	for(int i=1;i<=n;i++){
      		x+=a[i]; //把所有书的总价累加起来 
      	}
      	x=0.9*x; //总价也打9折 
      	cout<<fixed<<setprecision(1)<<x; //保留一位小数输出 
      	return 0;
      }
      
      • 0
        @ 2026-7-28 22:09:21
        #include<bits/stdc++.h>
        using namespace std;
        int main(){
        	int n,a[110],max=INT_MIN,s=0;
        	cin>>n;
        	for(int i=0;i<n;i++){
        		cin>>a[i];
        		if(a[i]>max){
        			max=a[i];
        		}
        			s=s+a[i];
        	}
        	cout<<fixed<<setprecision(1)<<(max*0.9+s-max)*0.9;
        	return 0;
        }
        
        • 1