Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.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
Arrays C程序标记为;";及;“最大值”;从数组元素中选择,并在控制台上的“最小/最大对应位置”列上打印_Arrays_C_Console_Printf - Fatal编程技术网

Arrays C程序标记为;";及;“最大值”;从数组元素中选择,并在控制台上的“最小/最大对应位置”列上打印

Arrays C程序标记为;";及;“最大值”;从数组元素中选择,并在控制台上的“最小/最大对应位置”列上打印,arrays,c,console,printf,Arrays,C,Console,Printf,我正在尝试标记与int Min&Max编号相对应的Min和Max,例如: Serial No. Min/Max 1 Min 2 3 4 5 Max 在控制台上,其他列正在按照我的要求打印,但无法按上述方式打印此“最小/最大”列 我的这部分代码如下: int max = userArray[0]; int min = userArray[0]; for(i=1; i<=10; i++){ //excluded

我正在尝试标记与int Min&Max编号相对应的Min和Max,例如:

Serial No.     Min/Max  
1                Min
2
3
4
5                Max
在控制台上,其他列正在按照我的要求打印,但无法按上述方式打印此“最小/最大”列

我的这部分代码如下:

int max = userArray[0];
int min = userArray[0];
for(i=1; i<=10; i++){
    //excluded codes to print other columns  

    //code for my concerned column print
    if(userArray[i]>max){
        max = userArray[i];
    }
    if(userArray[i]==max){
        printf("%49s\n","Max");  
    }
    if(min > userArray[i]){
        min = userArray[i];
    }
    if(userArray[i]==min){
        printf("%49s\n","Min");  
    }
}
int max=userArray[0];
int min=userArray[0];
对于(i=1;imax){
max=userArray[i];
}
if(userArray[i]==max){
printf(“%49s\n”,“Max”);
}
if(min>userArray[i]){
min=userArray[i];
}
if(userArray[i]==min){
printf(“%49s\n”、“Min”);
}
}

在打印其他列时,无法找到并打印最小值和最大值。只是因为在查看所有元素之前,您无法知道最小值和最大值是什么

在开始打印循环之前,您需要找到min和max。所以你需要一个额外的循环

// Find index of min and max values
int max_idx = 0;
int min_idx = 0;
int max = userArray[max_idx];
int min = userArray[min_idx];
for(int i=0; i<10; i++)
{
    if (userArray[i]>max)
    {
        max_idx = i;
        max = userArray[max_idx];
    }
    else if (userArray[i] < min)
    {
        min_idx = i;
        min = userArray[min_idx];
    }
}

// Now do the print
for(i=0; i<10; i++)
{
    //excluded codes to print other columns  

    if(i == max_index && i == min_index)
    {
        printf("%49s\n","Min/Max");  
    }
    else if(i == max_index)
    {
        printf("%49s\n","Max");  
    }
    else if(i == min_index){
        printf("%49s\n","Min");  
    }
}
//查找最小值和最大值的索引
int max_idx=0;
int min_idx=0;
int max=userArray[max_idx];
int min=userArray[min_idx];
对于(int i=0;imax)
{
max_idx=i;
max=userArray[max_idx];
}
else if(userArray[i]对于(i=0;i您需要在打印
min
max
之前完成一次循环,以识别
min
max

intmain()
{
int userArray[10]={3,2,1,4,6,5,7,8,10,9};
int max=userArray[0];
int min=userArray[0];
对于(int i=0;imax){
max=userArray[i];
}
if(userArray[i]for(int i=0;我不确定您在这里尝试做什么。您能提供更多详细信息吗?for(i=1;i
if(userArray[i]==max)循环的意义是什么
您可能需要在循环外检查该值和相应的
min
检查值。也就是说,您需要在确定最终的最大/最小值之前完成循环。
Serial No.      Min/Max
3
2
1               Min
4
6
5
7
8
10              Max
9