) 编写一个按照数组下标,以及数组中元素的值的大小绘制出棒图的函数 myDisplayBar。具体要求为: 2 a) 该函数是一个无返回值的函数; b) 该函数头为: void myDisplayBar(int num, int key, char *country[ ],int iarr1[ ], int iarr2[ ] , float farr[ ]) c) 要求: key = 1 时, 屏幕上每一行显示方式为: 序号 country iarr1 iarr2 farr ‘*’个数(根据 iarr1 数值大小)。 key = 2 时, 屏幕上每一行显示方式为: 序号 country iarr1 iarr2 farr ‘*’个数(根据 iarr2 数值大小)。 key = 3 时, 屏幕上每一行显示方式为: 序号 country iarr1 iarr2 farr ‘*’个数(根据 farr 数值大小)
时间: 2024-03-11 12:43:31 浏览: 65
好的,我已经了解了您的要求,以下是实现 myDisplayBar 函数的代码:
```
void myDisplayBar(int num, int key, char *country[], int iarr1[], int iarr2[], float farr[]) {
for (int i = 0; i < num; i++) {
cout << i+1 << " " << country[i] << " ";
if (key == 1) {
cout << iarr1[i] << " " << iarr2[i] << " " << farr[i] << " ";
for (int j = 0; j < iarr1[i]; j++) {
cout << "*";
}
}
else if (key == 2) {
cout << iarr1[i] << " " << iarr2[i] << " " << farr[i] << " ";
for (int j = 0; j < iarr2[i]; j++) {
cout << "*";
}
}
else if (key == 3) {
cout << iarr1[i] << " " << iarr2[i] << " " << farr[i] << " ";
for (int j = 0; j < farr[i]; j++) {
cout << "*";
}
}
cout << endl;
}
}
```
该函数接收五个参数:num 表示数组中元素的数量,key 表示按照哪个数组绘制棒图,country 是一个字符串数组,iarr1、iarr2、farr 分别是三个不同类型的数组。函数内部使用 for 循环遍历数组,根据 key 的值绘制不同的棒图,并输出到控制台上。注意,为了绘制棒图,我们使用了一个 for 循环,循环次数是对应数组元素的值。
阅读全文