c语言(结体程序设计)

C语言程序设计实验报告

实验七、结构体程序设计

【实验目的】

(1)掌握结构体类型的概念、定义和使用;

(2)掌握结构体数组、结构体指针的定义和使用;

【实验内容及步骤】

1、输入5位同学的一组信息,包括学号、姓名、数学成绩、计算机成绩,求得每位同学的平均分和总分,然后按照总分从高到低排序。

【程序代码】:

struct student

{

int num;

char name[10];

double math_score;

double computer_score;

};

#include

main()

{

struct student std[5],std_temp;

int i,j,temp;

double sum[5],aver[5];

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

{

printf("输入第%d学生的学号、姓名、数学成绩、计算机成绩:\n",i+1);

scanf("%d%s%lf%lf",&std[i].num,&std[i].name,&std[i].math_score,&std[i].computer_score);

}

printf("您输入的学生信息为:\n");

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

{

printf("学号:%-5d姓名:%s数学成绩:%3.1lf计算机成绩:%3.1lf\n",std[i].num,std[i].name,std[i].math_score,std[i].computer_score);

}

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

{

sum[i]=std[i].computer_score+std[i].math_score;

aver[i]=sum[i]/2;

}

//按最高分降序排列

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

{

for(j=0;j<4-i;j++)

{

if(sum[j]

{

//交换最高分

temp=sum[j];

sum[j]=sum[j+1];

sum[j+1]=temp;

//交换对应的学生信息

std_temp=std[j];

std[j]=std[j+1];

std[j+1]=std_temp;

//交换平均分

temp=aver[j];

aver[j]=aver[j+1];

aver[j+1]=temp;

}

}

}

printf("按最高分由高到低为:\n");

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

{

printf("学号:%-5d姓名:%s数学成绩:%3.1lf计算机成绩:%3.1lf总分:%3.1lf平均分:%3.1lf\n",std[i].num,std[i].name,std[i].math_score,std[i].computer_score,sum[i],aver[i]);

}

}

【运行结果】

2.定义一个结构体变量(包括年、月、日)。编写一个函数days,计算该日期在本年中是第几天(注意闰年问题)。由主函数将年月日传递给days函数,计算之后,将结果传回到主函数输出。

【程序代码】

struct datetime

{

int year;

int month;

int day;

};

#include

int days(struct datetime);

main()

{

int count_day;

struct datetime date;

printf("请输入年月日:\n");

scanf("%d%d%d",&date.year,&date.month,&date.day);

count_day=days(date);

printf("日期%d/%2d/%2d是%d的第%d天\n",date.year,date.month,date.day,date.year,count_day);

}

int days(struct datetime date)

{

int result=0;

int year=date.year,month=date.month,day=date.day;

switch(month-1)

{

case 12:

result+=31;

case 11:

result+=30;

case 10:

result+=31;

case 9:

result+=30;

cas

c语言 程序结集,c语言(结体程序设计).doc相关推荐

  1. 长度厘米转换c语言程序,标准长度单位换算c程序设计.doc

    标准长度单位换算c程序设计 菏泽学院 Heze University 蒋震机电工程学院 课程设计报告 课程名称 微机原理与接口技术 题 目 标准单位转换器 姓 名 周宇涛 学号 2012174297 ...

  2. 周信东c语言实验二实验报告,周信东主编最新版C语言程序设计基础实验一实验报告.doc...

    周信东主编最新版C语言程序设计基础实验一实验报告.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我 ...

  3. c语言课设宿舍管理程序,C语言程序课程设计宿舍管理软件.doc

    C语言程序课程设计宿舍管理软件.doc 课程设计(论文) 题 目 名 称 宿舍管理软件 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 .专 业 信息工程系.信息大类 指 导 教 师 ...

  4. 职工工资程序c语言doc,C语言程序课程设计---职工工资单系统.doc

    C语言程序课程设计---职工工资单系统.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水 ...

  5. 万年历定时关机c语言代码,C语言程序设计能力教程电子万年历设计.doc

    C语言程序设计能力教程电子万年历设计.doc 电子科技大学成都学院课程设计报告电子科技大学成都学院电子工程系课程设计报告课 程 名 称 C语言程序设计能力教程 设 计 题 目 万 年 历 指 导 教师 ...

  6. c语言 程序循环,C语言程序设计-循环例子

    <C语言程序设计-循环例子>由会员分享,可在线阅读,更多相关<C语言程序设计-循环例子(28页珍藏版)>请在人人文库网上搜索. 1.C 语言程序设计基础篇,第 7 章 简单程序 ...

  7. adc0809 c语言程序,单片机C语言程序设计:ADC0809数模转换与显示

    描述 本文分享ADC0809数模转换与显示的单片机C语言程序设计与电路图. ADC0809 数模转换与显示c语言程序 /*名称:ADC0809数模转换与显示 说明:ADC0809采样通道3输入的 模拟 ...

  8. 最初编写的c语言程序称为,C语言程序设计复习参考答案

    <C语言程序设计复习参考答案>由会员分享,可在线阅读,更多相关<C语言程序设计复习参考答案(46页珍藏版)>请在人人文库网上搜索. 1.随堂练习12]1. 下面哪些标识符属于合 ...

  9. c语言程序课程设计问题,矩形问题-C语言程序课程设课程设计(论文).doc

    矩形问题-C语言程序课程设课程设计(论文) PAGE PAGE \* MERGEFORMAT 20课程设计(论文)题 目 名 称 矩形问题 课 程 名 称 C语言程序课程设计 学 生 姓 名 xxx ...

最新文章

  1. 常见却又不太了解的一些Windows文件类型
  2. 华为python工程师工资-华为工程师对Python编程的看法
  3. ros安装-Ubuntu14.04
  4. 百度提前批-百度智能小程序(面经详解)
  5. 在Hibernate,EhCache,Quartz,DBCP和Spring中启用JMX
  6. 控制`Actor`朝向,运动 Learn Unreal Engine (with C++)
  7. to_date , to_char
  8. EasyUI——Dialog自定义Toolbar和buttons
  9. highlightjs 详解
  10. 使用threading+queue队列,发送get请求,输出状态码
  11. 手把手叫你用凤凰死刷手机(dead phone USB flashing)
  12. Android Toast的时长
  13. 基于Prometheus的ego运动规划实现
  14. java打卡返现项目,激励打卡APP你能够返现多少,其中的猫腻你有了解多少
  15. QT象棋暗棋游戏(一)
  16. 万能解决问题思路方法——3W
  17. win10用linux命令关机,Win7、Win10和Ubuntu 都在用的关机命令
  18. 目标检测算法YOLO-V2详解
  19. IDEA 设置去空格
  20. Python---复制文件夹

热门文章

  1. Oracle 非dba用户 使用 set autotrace 功能
  2. Unsupported major.minor version 51.0 jdk版本错误解决方案 eclipse版
  3. 上传图片至服务器,写入到数据库Blob字段中,以及从数据库读取Blob信息(iframe父子页面传值)(1)
  4. 基于JAVA+SSH+MYSQL的工资管理系统
  5. 剑指offer:滑动窗口的最大值(栈和队列)
  6. 网络基础、多线程、ftp任务铺垫
  7. char类型输出地址
  8. 64位Ubuntu 13.04 安装Bochs 2.3.5
  9. 【转载】清华人都如此努力,那我们呢?
  10. Python稳基修炼的经典案例11(计算机二级、初学者必会输入输出训练)