Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C中的垂直直方图_C_Loops_Histogram - Fatal编程技术网

C中的垂直直方图

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

在我的家庭作业中,我的任务是编写一个C程序,从用户那里获取4个数字,并垂直打印出相应的直方图(列彼此相邻)

例如: A=5 B=3 C=1 D=0

输出:

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问题,而不是打印功能的问题。