【发布时间】:2021-04-03 12:20:57
【问题描述】:
因此,我被要求编写一个程序,该程序获取学生姓名和分数的列表并计算平均分数。您需要声明两个名为名称和标记的数组。假设学生人数为 5。
声明数组名:(使用二维数组) 字符名称[num_std][name_len]; //名字长度可以是20个字符
声明数组标记: 浮动标记[num_std];
让我恼火的是,当我尝试运行调用名称和标记的循环时,我不知道为什么会得到 null。而且我还想知道以这种方式对我的二维数组进行编码是否正确? 抱歉,我还是个二维数组的新手,这让我很困惑。
谁能给我一个完整的代码,因为我想指出我错在哪里。 非常感谢:D
////////////////////代码/////////////////// /
#include <stdio.h>
int main ()
{
int n,i;
char num_std;
char name_len[20];
char name[num_std][name_len[20]];
float sum = 0,marks [5];
for (n=0;n<5;n++)
{
printf("\nEnter student name:");
scanf("%s",&name[n][1]);
printf("Enter student marks:");
scanf("%f",&marks[n]);
sum += marks[n];
}
for(n=1;n<5;n++)
{
printf("%s %f",name[n][1],marks[n]);
}
float average = sum/5.0;
printf("\nAverage mark of 5 students = %.2f",average);
return 0;
}
//////////////////////////////////////////////p > 输入学生姓名:布赖恩 输入学生分数:99 输入学生姓名:爱德华 输入学生分数:79 输入学生姓名:Fred 输入学生分数:69 输入学生姓名:阿德里安 输入学生分数:45 输入学生姓名:Smith 输入学生分数:55 (空) 45.000000 5 名学生的平均分 = 69.40 进程返回 35 (0x23) 执行时间:40.064 s 按任意键继续。
【问题讨论】:
-
启用编译器警告,您的编译器将报告您的代码存在许多问题。使用 C 开发时,应始终启用警告。