我的思路是:
1、定义存储总彩票数量的变量,临时循环变量,每次输入的彩票等级变量,三个等级奖金的奖金额,存储三个等级彩票数量的数组;
2、从输入获取总彩票数量N,再在循环中获取N个中奖彩票,并根据中奖等级来计算各等级彩票的数量,以及累加兑奖总额;
3、计算超过规定数量中奖数后的额外奖励奖金;
4、打印兑奖总额。
代码如下:
#include <stdio.h>
int main(void){
int N,i,prize; //依次定义输入的总彩票数量,临时循环变量,每次输入的几等奖
int firstPrize = 1000, secondPrize=500,thirdPrize=200,totalPrize = 0; //依次定义为一等奖,二等奖,三等奖的奖金额,兑奖总额
int prizeNums[3]={0}; //依次存储一等奖,二等奖,三等奖的数量
scanf("%d",&N); //获取总的彩票数量
//循环读入N个中奖彩票
for(i=0;i<N;i++){
scanf("%d",&prize); //从输入获取中奖彩票
if(prize==1){ //如果是一等奖则一等奖数量+1,然后兑奖总额+1000
prizeNums[0]++;
totalPrize+=firstPrize;
}else if(prize==2){//如果是二等奖则二等奖数量+1,然后兑奖总额+500
prizeNums[1]++;
totalPrize+=secondPrize;
}else if(prize==3){ //如果是三等奖则三等奖数量+1,然后兑奖总额+200
prizeNums[2]++;
totalPrize+=thirdPrize;
}
}
//如果是三等奖每10张,二等奖每6张,一等奖每3张额外奖励相应金钱,则应下面的计算方法,否则用注释的计算方法
totalPrize += prizeNums[0]/3*1000+prizeNums[1]/6*500+prizeNums[2]/10*200;
// if( prizeNums[0]/3>0){
// totalPrize+=1000;
// }
// if( prizeNums[1]/6>0){
// totalPrize+=500;
// }
// if( prizeNums[2]/10>0){
// totalPrize+=200;
// }
printf("%d",totalPrize); //打印兑奖总额
return 0;
}