gpt4 book ai didi

c - 如何在 C 中用循环打印特定数字?

转载 作者:太空宇宙 更新时间:2023-11-04 01:56:09 25 4
gpt4 key购买 nike

我有一个程序,我必须打印月份和特定数量的“~”。我有一个函数叫做:graphLine

    void graphLine(int month,const struct MonthlyStatistic* monthly){

int totalStars;
int i;
int j;

total = (monthly->totalPrecipitation * 10.0) / 10.0;

for (j=0;j<total;j++) {
printf("%d | ~ \n", month);
}


}

我有 main 函数,它使用循环调用这个函数:

for (i=0;i<12;i++){
graphLine(i+1,&monthly[i]);
}

问题是我想根据 graphLine 中变量总计的结果打印特定数量的 ~,但我不能在 graphLine 中使用循环,因为如果我这样做会与 main 中的 for 循环重叠。那么我如何在 graphLine 函数中使用循环,以便打印如下结果:

1 | ~~~~
2 | ~~~
3 | ~~~~~~~~~
.......

谢谢

最佳答案

使用这个技巧:

void print_month_stats(int month, int count) {
const char *maxbar = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";

printf("%d | %.*s\n", month, count, maxbar);
}

printf 将打印 count 个波浪号,直到 maxbar 的长度。如果你想打印一些模式,这个技巧是最方便的,比如 ----+----+--\/\/\/\/\/\/\ 甚至 1234567890123456789012345

关于c - 如何在 C 中用循环打印特定数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34022734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com