[英]Vertical Histogram Printing Issue
for (a = 0; a < 9; a++)
{
if (hm <= arr[a]) //hm is Maximum number in array for height of a column.
hm = arr[a];
}
for (i = hm; i >= 0; i--)
{
for(t = 0; t < width; t++) //Width is where i got in trouble.
{
printf("|");
for (a = 0; a < 9; ++a)
{
if (arr[a] > i)
{
printf("*|");
}
else
{
printf(" |");
}
}
printf("\n");
}
}
所以我现在有了这段代码。 我从用户那里得到9个数字输入,并将其转换为垂直直方图。 例如,当用户输入1-2-2-4 -....并将宽度输入为3时; 输出为:
| |*| //Prints "width" as height.
| |*|
| |*|
|*|*|
|*|*|
|*|*|.....
我希望它像:
| | |
| | |
| |***|
|***|***|.....
1 2
有什么办法可以通过我的代码实现此输出? 对不起,如果我不清楚,我不会说英语。 我还是C编程的新手,仍在尝试了解其行为。 谢谢 !
该代码按您所说的工作
for (int a = 0; a < 9; a++) {
if (hm <= arr[a]) //hm is Maximum number in array for height of a column.
hm = arr[a];
}
for (int i = hm; i >= 0; i--) {
printf("|");
//for(int t = 0; t < width; t++){ //Width is where i got in trouble.
//printf("|");
for (int a = 0; a < 9; ++a) {
if (arr[a] > i) {
for(int t = 0; t < width; t++){ //Here where you should have added the for loop
printf("*");
}
//printf("*|");
printf("|");
}
else{
for(int t = 0; t < width; t++){ //Here where you should have added the for loop
printf(" ");
}
printf("|");
//printf(" |");
}
}
printf("\n");
//}
}
return 0;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.