C中的垂直直方图
在我的家庭作业中,我的任务是编写一个C程序,从用户那里获取4个数字,并垂直打印出相应的直方图(列彼此相邻) 例如: A=5 B=3 C=1 D=0 输出:C中的垂直直方图,c,loops,histogram,C,Loops,Histogram,在我的家庭作业中,我的任务是编写一个C程序,从用户那里获取4个数字,并垂直打印出相应的直方图(列彼此相邻) 例如: A=5 B=3 C=1 D=0 输出: x x xx xx xxx ABCD 我不允许使用数组或simpleio之外的任何东西 我知道我需要按行思考,而不是按列思考,我的起点应该是数量最高的行,一旦开始,它就会继续打印 除此之外,我只是在寻找一个起点或一个如何正确思考这个问题的提示。非常感谢您的帮助。谢谢大家! #包括 #include <st
x
x
xx
xx
xxx
ABCD
我不允许使用数组或simpleio之外的任何东西
我知道我需要按行思考,而不是按列思考,我的起点应该是数量最高的行,一旦开始,它就会继续打印
除此之外,我只是在寻找一个起点或一个如何正确思考这个问题的提示。非常感谢您的帮助。谢谢大家! #包括
#include <stdio.h>
#define print(VAR) (i<=VAR ? 'x' : ' ')
int main(void){
int A=5, B=3, C=1, D=0;
int MAX = 5;//int MAX=0;scanf("%d", &A); if(A>MAX) MAX=A;...
int i;
for(i=MAX;i>0;i--)
printf("%c%c%c%c\n", print(A), print(B), print(C), print(D));
printf("ABCD\n");
return 0;
}
#定义打印(VAR)(iMAX)最大值=A;。。。
int i;
对于(i=MAX;i>0;i--)
printf(“%c%c%c%c\n”,print(A),print(B),print(c),print(D));
printf(“ABCD\n”);
返回0;
}
告诉我们你做了什么,因为没有人会做你的作业,你的输出根本没有意义?!!!“simpleio之外”是什么意思?什么是“simpleio”?你知道为什么不允许使用数组吗?因为数组会使工作更容易。对此我很抱歉。Simpleio是一个库,我使用它的唯一目的就是从用户那里获取一个整数。乔纳森,我不允许使用它们。因为此时类中还没有涉及数组。在从输入值中寻找最大值后,可以轻松循环。您可能会将I/O抽象为一段代码,该代码将调用函数,例如void print\u 4\u column\u histogram(int a,int b,int c,int d)
,该函数将执行打印。我想,你需要确定4个整数的最大值,然后对于从这个数字到1的每一行,你将安排为4列中的每一列打印一个空白或一个“x”,然后是一个换行。然后打印“ABCD”作为最后一行。比如说,您可能想验证数字是否在0到99之间,但这可能是I/O问题,而不是打印功能的问题。