用C语言编写程序,利用结构计算sgpa

用C语言编写程序,利用结构计算sgpa,c,data-structures,C,Data Structures,(QW)编写一个有良好文档记录的模块化C程序,以计算包含3门课程的特定学期的2名学生的SGPA,适当使用结构 在元素的输出扫描过程中获取垃圾值非常完美,但在打印时,它会将随机数显示为输出,sgpa计算器部分的代码正确吗 //reaplced courses with 3 and no of students with 2 #include<stdio.h> struct studentlist { int Rno; char name[20]; int cou

(QW)编写一个有良好文档记录的模块化C程序,以计算包含3门课程的特定学期的2名学生的SGPA,适当使用结构


在元素的输出扫描过程中获取垃圾值非常完美,但在打印时,它会将随机数显示为输出,sgpa计算器部分的代码正确吗

//reaplced courses with 3 and no of students with 2
#include<stdio.h>
struct studentlist
{
    int Rno;
    char name[20];
    int course_marks[8];
}S[2];
int main()
{
    
    int sgpa[2];
    printf("ENTER DETAILS\n");
    for(int i=0;i<2;i++)
    {
        printf("enter details of student %d\n",i);
        scanf("%d %s",&S[i].Rno,S[i].name);
        for(int j=0;j<3;j++)
        {
            printf("enter marks coursenumber %d \n",j);
            scanf("%d",S[i].course_marks[j]);
        }
        
    }
    //printing details
    for(int i=0;i<2;i++)
    {
        printf("details of student %d are \n",i);
        printf("%d %s",S[i].Rno,S[i].name);
        for(int j=0;j<3;j++)
        {
            printf("coursewise marks for studenet %d are\n",j);
            printf("%d\n",S[i].course_marks[j]);
        }
    }
    printf(" \n\n ");
    //sgpa calculation
    for(int i=0;i<2;i++)
    {
        for(int j=0;j<3;j++)
        {
            sgpa[j]=0;
            sgpa[j]+=S[i].course_marks;
        }
    }
    //printing
    for(int i=0;i<2;i++)
    {
        printf("%d",sgpa[i]);
    }
}
    


//以3名学生重修课程,但学生人数为2名
#包括
结构学生列表
{
国际Rno;
字符名[20];
国际课程分数[8];
}S[2];
int main()
{
int-sgpa[2];
printf(“输入详细信息”);

对于(inti=0;i你对
S[j]的使用。课程分数
是错误的

它是一个数组,将在此处的表达式中转换为指针

好像是台词

            scanf("%d",S[j].course_marks);
            printf("%d\n",S[i].course_marks);
            sgpa[j]+=S[i].course_marks;
应该是

            scanf("%d",&S[i].course_marks[j]);
            printf("%d\n",S[i].course_marks[j]);
            sgpa[j]+=S[i].course_marks[j];
还有循环

        for(int j=0;j<3;j++)
        {
            sgpa[j]=0;
            sgpa[j]+=S[i].course_marks;
        }
相当于

            sgpa[j]=S[i].course_marks;

您应该重新考虑这里的算法。

“sgpa计算器的代码部分正确吗?”不正确。扫描在新代码中不会完美。请不要通过编辑来打断问题。
            sgpa[j]=S[i].course_marks;