C题解 1023 组个最小数 (20 分)
原题
https://pintia.cn/problem-sets/994805260223102976/problems/994805298269634560
代码
可能疏忽的地方。填入测试用例2 0 0 0 0 3 0 0 1 0
#include
#include
using namespace std;
vector vec(10, 0);
int main()
{
for (int i = 0; i < 10; i++)
{
cin >> vec[i];
}
for (int i = 1; i < 10; i++) //确定第一个数
{
if (vec[i] > 0)//按顺序1-9中,个数不为0的,作为第一个数输出
{
vec[i]--;
cout << i;
break;
}
}
for (int i = 0; i < 10; i++)
{
while (vec[i] > 0)
{
cout << i;
vec[i]--;
}
}
return 0;
}
别人的,用t记录了除开0的最小值。
#include
using namespace std;
int main() {
int a[10], t;
for (int i = 0; i < 10; i++)
cin >> a[i];
for (int i = 1; i < 10; i++) {
if (a[i] != 0) {
cout << i;
t = i;
break;
}
}
for (int i = 0; i < a[0]; i++) cout << 0;
for (int i = 0; i < a[t] - 1; i++) cout << t;
for (int i = t + 1; i < 10; i++)
for (int k = 0; k < a[i]; k++)
cout << i;
return 0;
}