- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(课后习题解答)第7章 用户自定义数据类型
中国矿业大学计算机学院 《高级语言程序设计》部分习题解答 教师:李政伟
第7 章 自定义数据类型
作业:2、5、6、7、8、9、10
7.2 (P219 )写一个函数days,由主函数将年,月,日传递给函数days,计算出该日在本年是第
几天并将结果传回主函数输出。
分析:可以先定义一个结构体类型,包括年,月,日这三个成员。通过调用 days 函数来计算
这一天是该年的第几天。
【源程序】
#include iostream
using namespace std;
struct y_m_d
{ int year; //分别存放年、月、日
int month;
int day;
};
int main()
{ y_m_d date;
int days(int,int,int); // 对days 函数的声明
int day_sum;
coutinput year,month,day:;
cindate.yeardate.monthdate.day;
day_sum=days(date.year,date.month,date.day); //对days 函数的调用
coutdate.month/date.day is the day_sum
th day in date.yearendl;
return 0;
}
int days(int year,int month,int day) // 定义days 函数
{int day_sum,i;
int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
day_sum=0;
for (i=1;imonth;i++)
day_sum+=day_tab[i];
day_sum+=day;
if ((year%4==0 year%100!=0 || year%4==0) month=3)
day_sum+=1; //如果是闰年,则在上面计算基础上加1
return(day_sum);
}
运行结果如下:
备注:1.欢迎大家参与讨论并不断更新完善 第1 页
2 .仅供大家平时学习讨论使用,未经同意,切莫随意传播或作其他用途。
中国矿业大学计算机学院 《高级语言程序设计》部分习题解答 教师:李政伟
7.5 (P219 )有10 个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入 10
个学生数据,要求打印出3 门课的总平均成绩,以及最高分的学生的数据。
【源程序】
#include iostream
#include iomanip
#include string
using namespace std;
const int N=10;
struct STUDENT{ //定义结构体类型STUDENT
string num;
string name;
float score[4];
float avr;
} stu[N];
int main(){
int i,j,max=0,maxi=0;
float average=0,sum;
for (i=0;iN;i++){ //输入10 个学生的信息
cout输入第i+1个学生的信息endl;;
cout学号:;
cinstu[i].num;
cout姓名:;
cinstu[i].name;
for (j=0;j3;j++){
cout第j+1门课程的成绩:;
cinstu[i].score[
文档评论(0)