要使用printf打印折线图,可以使用循环结构和条件语句来控制输出的字符。以下是一个示例代码:
#include <stdio.h>
void printLineChart(int data[], int n) {
int max = data[0];
for (int i = 1; i < n; i++) {
if (data[i] > max) {
max = data[i];
}
}
for (int i = max; i > 0; i--) {
for (int j = 0; j < n; j++) {
if (data[j] >= i) {
printf("* ");
} else {
printf(" ");
}
}
printf("\n");
}
for (int i = 0; i < n; i++) {
printf("%d ", data[i]);
}
printf("\n");
}
int main() {
int data[] = {5, 3, 8, 2, 7};
int n = sizeof(data) / sizeof(data[0]);
printLineChart(data, n);
return 0;
}
上述代码中,printLineChart
函数接受一个整型数组和数组长度作为参数,其中数组data
存储了要绘制折线图的数据。首先,通过遍历数组找到最大值,确定图表的最高点。
然后,使用嵌套的for循环依次遍历每一行和每一列,根据数据的大小来判断是否要在相应的位置输出星号*
。如果数据大于等于当前行数,则输出星号,否则输出空格。这样就能够按照折线图的形式打印出来。
最后,使用一个简单的for循环输出数据本身,作为底部的刻度。
运行上述代码,输出结果如下:
* *
* *
* * *
* * *
* * * *
5 3 8 2 7
可以看到,通过printf按照一定的规则打印字符,就可以实现简单的折线图效果。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/835452.html