我写了一个C++关于成绩之和的问题,老是乱码,请帮助一下

- [ 要计算三个同学的分别的总成绩] 

#include<bits/stdc++.h>
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    string a,b,c;
    int all;
    int score[3][3];        
    cout<<"学生名字:";    
    cin>>a>>b,c;
    for(int i=0;i<3;i++)                   
    {
        if(i=1)
        {
            cout<<"语文成绩:";
            for(int h=0;h<3;h++)
            cin>>score[i][h];
        }
        else if(i=2)
        {
            cout<<"数学成绩:";
            for(int h=0;h<3;h++)
            cin>>score[i][h];
        }
        else if(i=3)
        {
            cout<<"英语成绩:";
            for(int h=0;h<3;h++)
            cin>>score[i][h];
        }
    }
    for(int h=0;h<3;h++)
    {
        for(int i=0;i<3;i++)
        {
            all+=score[i][h];
        }
        cout<<all<<" ";
    } 
    return 0; 
}

13行cin>>a>>b,c;改成cin>>a>>b>>c;

16行if(i=1) 改成if(i==0) 注意两个==
22行else if(i=2)改成else if(i==1) 注意两个==
28行else if(i=3)改成else if(i==2) 注意两个==
36行和37行之间加一句:all = 0;

你这个代码语法有点问题
和楼上一样的看法

13行cin>>a>>b,c;
如果你是要输入三个数abc的话
应该改成:cin>>a>>b>>c;
还有后面几个 if(else)括号里面的i=几
如果你想要表达的意思是如果i等于几
应该改成双等号
单等号是把i赋值成几的意思

最后输出的时候
每一遍循环都要赋初始值
否则上一轮的数字要加到这一轮中
导致答案错误

才刚学c++吧
这些点一定要注意了
加油