-
(写在前面)总结
- 这道题还是很简单的,基本的内容之前的C语言课都学过,如果说遇到什么问题就说明之前的课程学的不扎实。
本人代码:
#include<iostream>
using namespace std;
typedef struct
{
char name[11];
char stunum[11];
int point;
}student;
int main()
{
int n;
cin>>n;
student stu[n];
for(int i=0;i<n;i++)
{
cin>>stu[i].name>>stu[i].stunum>>stu[i].point;
}
int max=0,min=101;
int maxstu=0,minstu=0;
for(int i=0;i<n;i++)
{
if(stu[i].point>max)
{
max=stu[i].point;
maxstu=i;
}
if(stu[i].point<min)
{
min=stu[i].point;
minstu=i;
}
}
cout << stu[maxstu].name << " " << stu[maxstu].stunum << endl;
cout << stu[minstu].name << " " << stu[minstu].stunum << endl;
}
-
程序考察:
-
*结构体的定义
*一系列数据大小进行比较
-
疑惑1
-
为什么数组[ ]内的定义应该是常量?
但有时候变量也可以?
接下来的问题,c++如何处理长度是变量的数组?
typedef struct
{
char name[11];
char stunum[11];
int point;
}student;
-
想法:
-
'\0’作为数组结束的标志,所以数组末尾应该是有‘\0’.
我看到有个博主写了自己也遇到了这个问题。
-
疑惑2
-
2.看文章说似乎不能对数组使用变量,但我在使用devc++的时候变量可以使用,但在vs2019却不可以。
那么问题来了,不使用数组变量的话,那么这个功能应该如何实现呢?
想法
- 我看到有的说是可以使用malloc函数。