Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.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 - Fatal编程技术网

C 如何显示数组中存储的所有元素?

C 如何显示数组中存储的所有元素?,c,C,如何显示数组中存储的所有元素?我只想显示所有输入的元素 这是我的代码: #include<stdio.h> #include<conio.h> #include<string.h> struct studinfo{ char remarks, name[100]; float first, second, finalave; }; int main() { struct studinfo stud; int

如何显示数组中存储的所有元素?我只想显示所有输入的元素

这是我的代码:

  #include<stdio.h>

  #include<conio.h>
  #include<string.h>

  struct studinfo{
    char remarks, name[100];
    float first, second, finalave;
};

int main()
{
    struct studinfo stud;
    int i, n;
    char temp;
    
    printf("Enter Number of Student/s to be Stored: ");
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        printf("\nEnter Student Name: ");
        scanf("%c", &temp);
        scanf("%[^\n]", stud.name);
        printf("Enter 1st Sem Average: ");
        scanf("%f", &stud.first);
        printf("Enter 2nd Sem Average: ");
        scanf("%f", &stud.second);
        stud.finalave = (stud.first + stud.second) /2 ;
        printf("\nThe Final Average: %f", stud.finalave);
        printf("\n");
    }
    
    for (i = 0; i < n; i++)
    {
        if (stud.finalave > 1.0 && stud.finalave <= 1.25 )
        {
            stud.remarks = 'S';
        }
        else if (stud.finalave > 1.5 && stud.finalave <= 1.75)
        {
            stud.remarks = 'A';
        }
        else if (stud.finalave > 2.0 && stud.finalave <= 2.5)
        {
            stud.remarks = 'B';
        }
        else if (stud.finalave > 2.75 && stud.finalave <= 3.0)
        {
            stud.remarks = 'C';
        }
        else if (stud.finalave >= 3.00)
        {
            stud.remarks = 'F';
        }
    }
#包括
#包括
#包括
结构studinfo{
字符备注,名称[100];
浮动第一,第二,最后;
};
int main()
{
结构studinfo stud;
inti,n;
焦炭温度;
printf(“输入要存储的学生人数:”;
scanf(“%d”和“&n”);
对于(i=0;i1.0&&stud.finalave 1.5&&stud.finalave 2.0&&stud.finalave 2.75&&stud.finalave=3.00)
{
stud.备注='F';
}
}
这就是显示错误的原因:

    printf("\n");
    printf("Name\t\tAverage\t\tRemarks\t\tScholarship");
    for (i = 0; i < n; i++)
    {
    printf("\n%s\t%f\t%c", stud.name, stud.finalave, stud.remarks);
    }
}
printf(“\n”);
printf(“名称\t\t平均值\t\t标记\t\t标记”);
对于(i=0;i
我对该代码的预期输出是,所有输入的元素都将显示出来,但结果表明,只检测到最后输入的元素。我该怎么办


首先,定义一个结构数组,如
struct studinfo stud[n]
在替换“n”时,可以使用任何变量。然后在获取输入时,使用
stud[i]。name
此处
i
表示数组的索引。 对于显示,您可以使用与获取输入类似的
stud[i].name

 #include<stdio.h>
 #include<conio.h>
 #include<string.h>
  struct studinfo{
    char remarks, name[100];
    float first, second, finalave;
};

int main()
{
    
    int i, n;
    char temp;
    
    printf("Enter Number of Student/s to be Stored: ");
    scanf("%d", &n);
    struct studinfo stud[n];
    for (i = 0; i < n; i++)
    {
        printf("\nEnter Student Name: ");
        scanf("%c", &temp);
        scanf("%[^\n]", stud[i].name);
        printf("Enter 1st Sem Average: ");
        scanf("%f", &stud[i].first);
        printf("Enter 2nd Sem Average: ");
        scanf("%f", &stud[i].second);
        stud[i].finalave = (stud[i].first + stud[i].second) /2 ;
        printf("\nThe Final Average: %f", stud[i].finalave);
        printf("\n");
    }
    
    for (i = 0; i < n; i++)
    {
        if (stud[i].finalave > 1.0 && stud[i].finalave <= 1.25 )
        {
            stud[i].remarks = 'S';
        }
        else if (stud[i].finalave > 1.5 && stud[i].finalave <= 1.75)
        {
            stud[i].remarks = 'A';
        }
        else if (stud[i].finalave > 2.0 && stud[i].finalave <= 2.5)
        {
            stud[i].remarks = 'B';
        }
        else if (stud[i].finalave > 2.75 && stud[i].finalave <= 3.0)
        {
            stud[i].remarks = 'C';
        }
        else if (stud[i].finalave >= 3.00)
        {
            stud[i].remarks = 'F';
        }
    }
     printf("\n");
    printf("Name\t\tAverage\t\tRemarks\t\tScholarship");
    for (i = 0; i < n; i++)
    {
    printf("\n%s\t%f\t%c", stud[i].name, stud[i].finalave, stud[i].remarks);
    }
}
#包括
#包括
#包括
结构studinfo{
字符备注,名称[100];
浮动第一,第二,最后;
};
int main()
{
inti,n;
焦炭温度;
printf(“输入要存储的学生人数:”;
scanf(“%d”和“&n”);
结构studinfo stud[n];
对于(i=0;i1.0&&螺柱[i].finalave 1.5&&螺柱[i].finalave 2.0&&螺柱[i].finalave 2.75&&螺柱[i].finalave=3.00)
{
螺柱[i]。备注='F';
}
}
printf(“\n”);
printf(“名称\t\t平均值\t\t标记\t\t标记”);
对于(i=0;i
为了澄清一些困惑,您认为第二组信息存储在哪里?或者,一旦你开始进入第二组,你认为第一组在哪里生存?