关于这个实验三,考察的是函数的定义与应用以及结构体的定义与应用,顺带了一点指针、字符串以及链表的知识,难度中等。

第一题(定义函数统计素数)考察函数的定义和使用。 给定两个正整数,输出两个正整数之间的素数个数。我的想法是编写一个函数,先判断输入的两个数a,b是否是按照从小到大的顺序输入,如果不是就定义一个中间变量将两个数交换顺序。之后从a开始,一直到b,逐个判断是否有素数,外循环从a一直到b,内循环从2开始一直到该数的上一个数,如果发现有一个数能被该数整除,就跳出循环,否则计数器n自增1,进而统计出从a到b之间的素数个数,之后在主函数中调用该函数即可。

第二题(定义函数传递字符指针-判断字符串是否回文考察函数、字符串、指针的应用。想判断一个字符串是否回文,只需要先读取字符串的长度length,然后循环判断第i(从i=0开始)个字符与第length-i-1个字符是否一样,如果一样则说明该字符串是回文字符串。注意字符数组若想以字符串的形式输入(即整个输入字符数组),就直接输入字符数组的名字即可,如cin>>str;

第三题(定义结构体日期变量Date统计天数)考察结构体的定义与应用。简单提一下题目:

题目描述:定义一个结构体变量(包括年月日)。计算该日在本年中是第几天。
输入描述:一行三个整数,空格隔开,分别表示年月日。
输出描述:输出一个整数,表示该日是这一年的第几天。

此题难度不大,注意一下闰年的情况就可以AC该题。

第四题(学生信息管理)考察结构体和函数的知识。简单提一下题目:
 
题目描述 定义学生结构体类型,包括学号,姓名,3科成绩,编写一个input函数(用于输入n个学生的数据记录),一个print函数(用于输出学生的数据记录),在主函数中,用input函数输入这些记录,用print函数输出这些记录。 输入描述: 输入n+1行, 第一行输入一个整数n(1 ≤ n ≤ 20), 接下来n行,每行输入一个学生的信息,包括: 学号,姓名,3科成绩。 
输出描述: 按照输入的顺序输出n行学生的信息。

注意在input函数和print函数中,调用先前定义的结构体变量需要引用,例如Student(结构体名)&student;

第五题(使用链表学生信息输入输出)考察结构体和单向链表,可以说是关于链表的一个简单应用:

题目描述:输入若干个学生的信息(学号、姓名、成绩),当输入学号为0时结束,用单向链表组织这些学生信息后,再按顺序输出。
输入描述:输入多行,直到一行开始输入0结束,每行包括,学号(长度小于等于9),姓名(长度小于等于100),成绩,空格分隔。
输出描述:按照输入顺序输出每位学生信息,一行一个学生信息,学号,姓名,成绩,空格分隔。

此题只需要注意一下链表信息的输出需要有结束条件,否则链表将会无限次的输出进而导致错误。