谁帮我看一下这段程序有什么问题,谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/12 05:57:21
要求是从键盘输入一个班的30个人的学号 姓名 M门课的成绩
然后输出按总分排序的名单
然后输出超过班上总平均分的名单

这是我写的程序,请帮我改一下,谢谢,本人编程水平很低,也不够严谨,求大侠帮忙,不要歧视我......(只要改一下我的语法错误和部分算法问题,不是要新写一段程序,谢谢)

#include<stdio.h>
void main()
{
int i,j,r,e,x; /*定义变量和数组*/
int temp
chr ntemp
int pi[30]=0;
int zo[30]=0;
int a[30][m]=0;
int b[30]=0;
chr n[30]={""};
for(i=1;i<=30;i++)
{
scanf("请输入姓名%s",&n[i]); /*录入学生成绩*/
scanf("请输入学号%d",&b[i]);
for(t=0;t<=m-1;t++)
{
scanf("请输入第"t"门课的成绩",&a[i][t]);
}
}

for(r=0;r<=29;r++) /*计算学生平均成绩和总成绩 pi为平均成绩 zo为总成绩*/
{
for(e=0;e<=m-1;e++)
{
a[r][e]=a[r][e]+a[r][e+1];
}
pi[r]=a[r][e]/m;
zo[r]=a[r][e];
}

for(i=0;i<29;i++) /*冒泡法排序*/
{
for(j=29;j>i;j--)
if(pi[j]<pi[j-1])
{
temp=pi[j];
pi[j]=pi[j-1];
pi[j-1]=temp;
temp

//四个字,一塌糊涂。。。。。。
#include<stdio.h>
#include<string.h>
#define m 3
void main()
{
int i,j,r,e,t; /*定义变量和数组*/
int temp;
float x;
char ntemp[20] ;
float pi[30]={0};
float zo[30]={0};
int a[30][m]={0};
int b[30]={0};
char n[30][20]={""};
for(i=1;i<=30;i++)
{
printf("请输入姓名:");
scanf("%s",&n[i]); /*录入学生成绩*/
printf("请输入学号:");
scanf("%d",&b[i]);
for(t=0;t<=m-1;t++)
{
printf("请输入第%d门课的成绩:",t+1);
scanf("%d",&a[i][t]);
}
}

for(r=0;r<=29;r++) /*计算学生平均成绩和总成绩 pi为平均成绩 zo为总成绩*/
{
for(e=0;e<=m-1;e++)
{
a[r][e]=a[r][e]+a[r][e+1];
}
pi[r]=a[r][e]/m;
zo[r]=a[r][e];
}

for(i=1;i<30;i++) /*冒泡法排序*/
{
for(j=0;j<30-i;j++)
if(pi[j]<pi[j-1])
{
temp=pi[j];