标签:main int for 不同 col 顺序 ble mil math
随着信息技术的蓬勃发展,医疗信息化已经成为医院建设中必不可少的一部分。计算机可以很好地辅助医院管理医生信息、病人信息、药品信息等海量数据,使工作人员能够从这些机械的工作中解放出来,将更多精力投入真正的医疗过程中,从而极大地提高了医院整体的工作效率。 对药品的管理是其中的一项重要内容。现在药房的管理员希望使用计算机来帮助他管理。假设对于任意一种药品,每天开始工作时的库存总量已 知,并且一天之内不会通过进货的方式增加。每天会有很多病人前来取药,每个病人希望取走不同数量的药品。如果病人需要的数量超过了当时的库存量,药房会拒 绝该病人的请求。管理员希望知道每天会有多少病人没有取上药。
30 6 10 5 20 6 7 8
2
以下为错误代码
1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 int cmp(int x,int b) 7 { 8 return x < b; 9 } 10 int main() 11 { 12 int a[105],i,j,m,n; 13 scanf("%d %d",&n,&m); 14 for(i = 1;i <= m;i++) 15 { 16 scanf("%d",&a[i]); 17 } 18 sort(a+1,a+1+m,cmp); 19 for(i = 1;i <= m;i++) 20 { 21 n = n - a[i]; 22 if(n < 0) 23 { 24 printf("%d",m - i + 1); 25 break; 26 } 27 if(i == m) 28 printf("0"); 29 } 30 return 0; 31 }
直接把他排序了没注意到题里面的按时间顺序
以下为正确代码
1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 int main() 7 { 8 int a[105],i,j,m,n,ans = 0; 9 scanf("%d %d",&n,&m); 10 for(i = 1;i <= m;i++) 11 { 12 scanf("%d",&a[i]); 13 } 14 for(i = 1;i <= m;i++) 15 { 16 n = n - a[i]; 17 if(n < 0) 18 { 19 n = n + a[i]; 20 ans = ans + 1; 21 } 22 } 23 printf("%d",ans); 24 return 0; 25 }
标签:main int for 不同 col 顺序 ble mil math
原文地址:https://www.cnblogs.com/rax-/p/9026400.html