养老院为什么要建设网站,做英文的小说网站有哪些,网站的网页建设知识ppt模板,上海建交人才网官网文章目录C语言中结构体在解题中的应用1、结构体之时间设计2、结构体之成绩记录3、结构体之成绩统计2C语言中结构体在解题中的应用
1、结构体之时间设计 题目描述
定义一个结构体变量#xff08;包括年、月、日#xff09;。计算该日在本年中是第几天#xff0c;注意闰年问…
文章目录C语言中结构体在解题中的应用1、结构体之时间设计2、结构体之成绩记录3、结构体之成绩统计2C语言中结构体在解题中的应用
1、结构体之时间设计 题目描述
定义一个结构体变量包括年、月、日。计算该日在本年中是第几天注意闰年问题。
输入格式
年月日
输出格式
当年第几天
样例输入
2000 12 31
样例输出
366
AC代码C语言
#includestdio.h
#includestring.h
typedef struct {int year;int month;int day;
}TIME;
int isLeapYear(int year){//能被400整除或者能被4整除但不能被100整除的年份为闰年if(year%4000||year%40year%100!0)return 1;return 0;
}
int main(){TIME time;int result0;scanf(%d%d%d,time.year,time.month,time.day);switch (time.month){case 1:resulttime.day; break;case 2:resulttime.day31; break;case 3:resulttime.day3128; break;case 4:resulttime.day312831; break;case 5:resulttime.day31283130; break;case 6:resulttime.day3128313031; break;case 7:resulttime.day312831303130; break;case 8:resulttime.day31283130313031; break;case 9:resulttime.day3128313031303131; break;case 10:resulttime.day312831303130313130; break;case 11:resulttime.day31283130313031313031; break;case 12:resulttime.day3128313031303131303130; break;default:break;}if(isLeapYear(time.year)) result;printf(%d\n,result);return 0;
}2、结构体之成绩记录 题目描述
现有有N个学生的数据记录每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数读取N条记录输入再按要求输出。 N100
输入格式
学生数量N占一行 每个学生的学号、姓名、三科成绩占一行空格分开。
输出格式
每个学生的学号、姓名、三科成绩占一行逗号分开。
样例输入
2
a100 clang 70 80 90
b200 dotcpp 90 85 75样例输出
a100,clang,70,80,90
b200,dotcpp,90,85,75AC代码C语言
#includestdio.h
#includestring.h
typedef struct {char number[20];//学号char name[20];//姓名int math;//数学成绩int english;//英语成绩int chinese;//语文成绩
}Student;
Student students[105];//创建数组用来存放学生
void input(int n){for(int i0;in;i){scanf(%s%s%d%d%d,students[i].number,students[i].name,students[i].math,students[i].english,students[i].chinese);}
}
void Output(int n){for(int i0;in;i){printf(%s,%s,%d,%d,%d\n,students[i].number,students[i].name,students[i].math,students[i].english,students[i].chinese);}
}
int main(){int n;scanf(%d,n);input(n);Output(n);return 0;
}3、结构体之成绩统计2 题目描述
有N个学生每个学生的数据包括学号、姓名、3门课的成绩从键盘输入N个学生的数据要求打印出3门课的总平均成绩以及最高分的学生的数据包括学号、姓名、3门课成绩
输入格式
学生数量N占一行每个学生的学号、姓名、三科成绩占一行空格分开。
输出格式
各门课的平均成绩 最高分的学生的数据包括学号、姓名、3门课成绩
样例输入
2 1 blue 90 80 70 b clan 80 70 60
样例输出
85 75 65 1 blue 90 80 70
AC代码C语言 #includestdio.h
#includestring.h
typedef struct {char number[20];//学号char name[20];//姓名int math;//数学成绩int english;//英语成绩int chinese;//语文成绩int total;//总分
}Student;
Student students[105];
//各科平均成绩
int aveMath,aveEnglish,aveChinese,sumMath0,sumEnglish0,sumChinese0;void calcuAve(int n){for(int i0;in;i){scanf(%s%s%d%d%d,students[i].number,students[i].name,students[i].math,students[i].english,students[i].chinese);students[i].totalstudents[i].mathstudents[i].englishstudents[i].chinese;sumMathstudents[i].math;//各个学生单科成绩之和sumEnglishstudents[i].english;sumChinesestudents[i].chinese;}aveMathsumMath/n;//求平均成绩aveEnglishsumEnglish/n;aveChinesesumChinese/n;
}
int main(){int n;scanf(%d,n);calcuAve(n);int max0;printf(%d %d %d\n,aveMath,aveEnglish,aveChinese);for(int i0;in;i){//求最高成绩的学生if(students[i].totalstudents[max].total) maxi;}printf(%s %s %d %d %d\n,students[max].number,students[max].name,students[max].math,students[max].english,students[max].chinese);return 0;
}