《C语言程序设计》实验指导书答案 下载本文

if(*(*(p+i)+j)<60)

printf(\ }

4. //设计一个函数把两个整数形参中较大的那个数的地址作为函数值返回,并写主函数实现调用。

#include #include int *seek(int x,int y) {

if(x>y)

return &x; else

return &y; }

main() {

int x,y;

printf(\

scanf(\ int *p=seek(x,y); printf(\ system(\}

5. //输入5个字符串,从中找出最大的字符串并输出。要求用二维字符数组存放这5个字符串。

#include #include #include main( ) {

char a[5][80],*p[5],**q,**max; /*定义数组、指针数组二级指针变量*/ int i;

for(i=0;i <5;i++) /*让指针数组元素p[i]指向字符数组a的第i行*/ p[i]=a[i];/*注意a[i]不是数组元素,而是第i行的首地址*/ for(i=0;i <5;i++)/*输入5个字符串存入字符数组a*/ gets(p[i]);

max=&p[0]; /*设当前最大字符串是字符组中第1行*/ q=&p[1]; /*让二级指针变量q指向指针数组第2行*/ for(i=1;i <5;i++,q++)

if(strcmp(*max,*q) <0)max=q;/*如果当前最大字符串小于二级指针q指向的指针*/ /*数组元素指向的字符串,则重新记录最大字符串*/ puts(*max);/*输出最大字符*/ system(\

}

实验九(第9章实验)

实验目的:

1. 掌握结构型、结构型变量的定义和使用方法。 2. 掌握结构型数组的定义和使用方法。

3. 了解指向结构型数据的指针变量的定义和使用。 实验内容:

1. 设有学生信息如下:学号(长整型)、姓名(字符串型)、年龄(整型)、课程1成

绩(实型)、课程2成绩(实型)、课程3成绩(实型)、课程4成绩(实型)、课程5成绩(实型)、课程6成绩(实型)、课程7成绩(实型)、总分(实型)、平均分(实型)。试编写程序,输入3个学生的上述信息,计算每个学生的总分、平均分,然后输出每个学生学号、姓名、总分、平均分。 2. 设有学生信息如下:学号(长整型)、姓名(字符串型)、出生年月(其中含有年份、

月份、日,均为整型)。试编写程序,输入5个学生的上述信息,输出所有学生的学号、姓名和年龄。

3. 按“年/月/日”格式输出系统日期,按“时:分:秒.XX”格式输出系统时间。 4. 设有若干个人员的数据,其中有学生和教师。学生的数据中包括:姓名、号码、性

别、职业、班级。教师的数据包括:姓名、号码、性别、职业、职务。要求输入人员的数据,然后再输出。

5. 已知3个学生的学号、姓名、性别及年龄,要求通过直接赋值的方式将数据送给某

结构体变量,然后再输出。

实验过程:

实验结果:1. //有学生信息如下:学号(长整型)、姓名(字符串型)、年龄(整型)、课程1成绩(实型)、课程2成绩(实型)、课程3成绩(实型)、课程4成绩(实型)、课程5成绩(实型)、课程6成绩(实型)、课程6成绩(实型)、总分(实型)、平均分(实型)。试编写程序,输入3个学生的上述信息,计算每个学生的总分、平均分,然后输出每个学生学号、姓名、总分、平均分。 #include #include

struct student{ long no;

char name[10]; int age;

float course1; float course2; float course3; float course4; float course5; float course6; float course7;

float total; float avg; }; main() {

int i;

struct student s[3]; for(i=0;i<3;i++) {

printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ printf(\ scanf(\ printf(\

scanf(\

s[i].total=s[i].course1+s[i].course2+s[i].course3+s[i].course4+s[i].course5+s[i].course6+s[i].course7;

s[i].avg=s[i].total/7.0; }

for(i=0;i<3;i++)

printf(\,s[i].age,s[i].course1,s[i].course2,s[i].course3,s[i].course4,s[i].course5,s[i].course6,s[i].course7,s[i].total,s[i].avg);

system(\}

2. //设有学生信息如下:学号(长整型)、姓名(字符串型)、出生年月(其中含有年份、月份、日,均为整型)。

//试编写程序,输入5个学生的上述信息,输出所有学生的学号、姓名和年龄。

#include #include #include #include struct Date{ int year; int month; int day; };

struct student{ long no;

char name[10]; Date birthday; }; main() {

int i;

struct student s[5];

//取系统时间中的年份信息 time_t rawtime; struct tm *info; int year,month; time ( &rawtime );

info = localtime ( &rawtime ); year =info->tm_year + 1900; month =info->tm_mon + 1; //---------------------------- for(i=0;i<5;i++) {

printf(\ scanf(\ printf(\ scanf(\

printf(\

scanf(\ }

for(i=0;i<5;i++)

printf(\ system(\}