这样的情况应该怎么解决呢?这个问题我不大太懂,学的不太好,希望有人能编写出来我参考一下,谢谢啦!
1条回答 默认 最新
- a5156520 2022-11-11 13:46关注
我的思路是:
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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 r语言神经网络自变量重要性分析
- ¥15 基于双目测规则物体尺寸
- ¥15 wegame打不开英雄联盟
- ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
- ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
- ¥30 eclipse开启服务后,网页无法打开
- ¥30 雷达辐射源信号参考模型
- ¥15 html+css+js如何实现这样子的效果?
- ¥15 STM32单片机自主设计
- ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢