找零钱--C语言实现
生活随笔
收集整理的這篇文章主要介紹了
找零钱--C语言实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.前言
前言如上
二.內容
#include<stdio.h> #define N 1000000 typedef struct {int value_25;//25元紙幣數目 int value_50;//50元紙幣數目 int value_100;//100元紙幣數目 }Aunt; int main(){Aunt aunt;//一位打飯阿姨 int stu[N];//排隊學生int n;//目前排隊的學生的數目 int i;//循環變量 int requiredChange=0;//要找的零錢int totalChange=0;//飯堂阿姨現存的總零錢 int flag=1;//標志位,0為不能給所有人找零,1為可以給所有人找零int j;//循環變量int k;int temp;//飯堂阿姨一開始沒有任何零錢 aunt.value_100=0;aunt.value_50=0;aunt.value_25=0;scanf("%d",&n);//學生開始排隊for(i=0;i<n;i++){scanf("%d",&stu[i]); } //先給學生排個序,選擇法排序,從小到大for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++){if(stu[j]<stu[k]){k=j;}}if(k!=i){temp=stu[k];stu[k]=stu[i];stu[i]=temp;}} //學生們開始打飯for(i=0;i<n;i++){totalChange=aunt.value_100*100+aunt.value_50*50+aunt.value_25*50;requiredChange=stu[i]-25;if(requiredChange<=totalChange) {//可以找零 //飯堂阿姨開始找零if(requiredChange==75){//學生手持100大鈔 aunt.value_100++;if((aunt.value_50-1)>=0){//找得開 aunt.value_50--; }else{//找不開flag=0;break; }if((aunt.value_25-1)>=0){//找得開 aunt.value_25--; }else{//找不開flag=0;break; }} else if(requiredChange==25){//學生手持50大鈔 aunt.value_50++;if((aunt.value_25-1)>=0){//找得開 aunt.value_25--; }else{//找不開flag=0;break; }}else{//學生手持25大鈔aunt.value_25++;}} else{//不可以找零 flag=0;break;} }if(flag==1){printf("YES");}else{printf("NO");} return 0; }總結
以上是生活随笔為你收集整理的找零钱--C语言实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker安装Elasticsearc
- 下一篇: phpstudy下载、安装、配置、网站部