是我的问题还是题目的问题呜呜呜。
题面: 小华的妈妈在单位负责发放工资。每次她都努力使每个职工领到的人民币总张数最少。小华打算帮助妈妈编写程序,输入某位职工的工资数x,则统计并输出应发给该职工面值100元、50元、20元、10元、5元、2元、1元、5角、2角、1角、5分、2分、1分的人民币各多少张,而且总张数最少。(单位是元,0.01<=x<=1000,小数部分不超过两位)
输入样例: 256.58
输出样例:
100:2
50:1
20:0
10:0
5:1
2:0
1:1
0.5:1
0.2:0
0.1:0
0.05:1
0.02:1
0.01:1
代码:
#include<bits/stdc++.h>
using namespace std;
double n;
int r;
int a[30]={0,10000,5000,2000,1000,500,200,100,50,20,10,5,2,1};
string t[30]={"0","100","50","20","10","5","2","1","0.5","0.2","0.1","0.05","0.02","0.01"};
int b[30];
int main(){
cin>>n;
r=n*100;
for(int i=1;i<=13;i++)
while(r>=a[i]){
r-=a[i];
b[i]++;
}
for(int i=1;i<=13;i++)
cout<<t[i]<<':'<<b[i]<<"\n";
return 0;
}
怎么调都80,不科学啊。
闹了半天我连个红提都不会写
悬关