返回:贺老师课程教学链接

【项目1-复数结构体】

编写一个程序,首先定义一个复数数据类型,即结构类型。然后按照复数的运算规则进行计算,并按照复数表示的格式进行输出,请将程序补充完整。

#include <stdio.h>
struct complex
{int re;int im;
};
int main()
{struct complex x,y,s,p;scanf("%d%d",&x.re,&x.im);scanf("%d%d",&y.re,&y.im);//复数s是复数x和y的和s.re=_______(1)_______;s.im=_______(2)_______;printf("   sum=%5d+%5di\n",s.re,s.im);//复数p是复数x和y的积p.re=_______(3)_______;p.im=x.re*y.im+x.im*y.re;printf("   product=%5d+%5di\n",p.re,p.im);return 0;
}

[参考解答]


【项目2-学生成绩处理】

(1)定义学生结构体,在结构体数组中,输入了学生学号和两门课的成绩,计算均分后,输出成绩单,请在下面的程序基础上,将程序补充完整。

#include <stdio.h>
#define N 100  /*N表示最多允许的学生人数*/
struct Student
{int num; //学号int c; //C语言成绩int math; //数学成绩float aver;  //两科均分
};
int main( )
{int n;//定义结构体数组存放多名同学的成绩struct Student stu[N];printf("请输入学生人数: ");scanf("%d", &n);printf("请输入学号、C和数学课的成绩: \n");//输入数据//输出成绩单return 0;
} 

(2)请在上面的程序的基础上增加功能,使运行结果如下图:

其中,需要做出的改动是:

  • 计算每名学生的学分绩——各科成绩乘以学分的和,再除以总学分(本题中,C语言和数学课的学分分别是3和4);
  • 计算各科的均分;
  • 输出得奖学金的同学学号清单——奖学金规则是,学分绩要高于80且没有挂科。
    [参考解答]


【项目3-点结构体】

下面定义了一个表示平面上一点的结构体类型:

struct Point
{  float x;  //横坐标float y;  //纵坐标
};  

(1)请编写程序,输入一点的横纵坐标,输出该点到原点的距离
(2)请编写程序,输入两点p1和p2的坐标,输出两点之间的距离,以及p1关于x轴的对称点,p2关于原点的对称点,运行结果如下图所示:

[参考解答]


【项目4-体重监测器】

根据世界卫生组织推荐的体重标准,男性的标准体重=(身高cm-80)×70﹪,女性的标准体重=(身高cm-70)×60﹪。标准体重正负10﹪为正常体重;标准体重正负10﹪~ 20﹪为体重过重或过轻;标准体重正负20﹪以上为肥胖或体重不足,其中超重计算公式为:超重(%)=[(实际体重-标准体重)/(标准体重)]×100%,体重的单位是kg。
请编程序,输入一个人的姓名、性别、身高、体重,用一句人性味浓的话语输出其体重情况(正常、过重、过轻、肥胖或体重不足),这个程序可以用于体重计上为人们实时报告体重情况。
要求使用下面的结构体类型表示人的相关信息。

struct Person
{char name[20];char sex;  //'F'-女,'M'-男double height;  //cmdouble weight;  //kg
};

[参考解答]


【项目5-个税计算器之码数分离】

在学习分支结构时,我们做过一个个人所得税计算器if语句版,在其中,税率等数据直接写进了程序。这并不是一个好的方案。
下面定义了一个结构体数组,保存各个收入范围个税计算的基础数据,这样,一定程度上,将代码与数据分离,这是工程中常见的做法。
请先对照附后的个人所得税计算方法,理解下面的结构体数组:

struct TaxNode
{int payTax;double rate;int deducted;
} taxNode[10]=
{{0,0.03,0},{1500,0.10,105},{4500,0.20,555},{9000,0.25,1005},{35000,0.30,2755},{55000,0.35,5505},{80000,0.45,13505}
};

编写程序,利用这个结构体数组,输入个人月收入总额,计算并输出他本月应缴税款和税后收入。
附:关于个人所得税的有关背景知识
计算方法:个人所得税=(收入总额-3500)*税率-速算扣除数
从2011年9月1日起,我国个人所得税起征点基数为3500元,超出部分按以下7级计算。
计算。

序号 收入范围 税率 速算扣除数
1 超过0至1500 3% 0
2 超过1500元至4500元的部分 10% 105
3 超过4500元至9000元的部分 20% 555
4 超过9,000元至35,000元的部分 25% 1005
5 超过35,000元至55,000元的部分 30% 2755
6 超过55,000元至80,000元的部分 35% 5505
7 超过80,000以上 45% 13505

例如:王某月收入总额3600元,个人所得税=(3600-3500)*3%=3元;
再例:李某月收入13500元,个人所得税=(13500-3500)*25%-1005=2500-1005=1495元。
更多了解速算扣除数,请找百度百科。
[参考解答]


【项目6-日期结构体】

(1)定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天。

#include <stdio.h>
struct Date
{int year;int month;int day;
};
int main()
{struct Date date;printf("input year,month,day:");scanf("%d %d %d", &date.year, &date.month, &date.day);int days;//计算daysprintf("%d月%d日是%d年的第%d天.\n", date.month, date.day, date.year, days);return 0;
}

(2)输入两个人的生日,求出他们相差多少天。
[参考解答]


【项目7-紧急救援】

洪水突降,人们被困在各个屋顶上。如图所示:

救生船每次将从大本营出发,救了人之后将人送回大本营。已知救生船速度50米/分钟,逐个屋顶救人,每人上船1分钟,下船0.5分钟。以救援大本营为原点,输入每个屋顶的位置坐标和屋顶上的人数,求出所有人都到达大本营并登陆所用的时间。
要求使用结构体表示屋顶的坐标和人数。
[参考解答]

《C语言及程序设计》实践项目——初练结构体相关推荐

  1. c语言程序设计指针进阶,C语言及程序设计进阶例程-15 指向结构体的指针

    贺老师教学链接  C语言及程序设计进阶 本课讲解 指向结构体变量的指针的应用 #include #include struct Student { int num; char name[12]; ch ...

  2. 第16周实践项目三——点结构体(2)

    问题及代码 (2)请编写程序,输入两点p1和p2的坐标,输出两点之间的距离,以及p1关于x轴的对称点,p2关于原点的对称点,运行结果如下图所示: /*烟台大学计算机学院 2016 作者: 马春澎完成日 ...

  3. python中的记录指针_使用Python向C语言的链接库传递数组、结构体、指针类型的数据...

    使用python向C语言的链接库传递数组.结构体.指针类型的数据 由于最近的项目频繁使用python调用同事的C语言代码,在调用过程中踩了很多坑,一点一点写出来供大家参考,我们仍然是使用ctypes来 ...

  4. python结构体数组传出接收c动态库_使用Python向C语言的链接库传递数组、结构体、指针类型的数据...

    使用python向C语言的链接库传递数组.结构体.指针类型的数据 由于最近的项目频繁使用python调用同事的C语言代码,在调用过程中踩了很多坑,一点一点写出来供大家参考,我们仍然是使用ctypes来 ...

  5. C语言随笔小算法:char字节流与结构体变量相互转换

    C语言随笔小算法:char字节流与结构体变量相互转换 代码: /* **数据域 */ typedef struct {kal_uint8 bt_dpacket_data_total_num; //(可 ...

  6. SCAU高级语言程序设计--实验10 指针与结构体(1)

    SCAU高级语言程序设计--实验10 指针与结构体(1) 一.堂上限时习题 1.交换两数,由大到小输出 题目:下面程序,交换两数,使两数由大到小输出,请填空 #include "stdio. ...

  7. 2022-11-14:rust语言,请使用过程宏给结构体AAA生成结构体AAABuilder和创建AAABuilder实例的方法。 宏使用如下: #[derive(Builder)] pub stru

    2022-11-14:rust语言,请使用过程宏给结构体AAA生成结构体AAABuilder和创建AAABuilder实例的方法. 宏使用如下: #[derive(Builder)] pub stru ...

  8. 法雷序列的c语言程序,程序设计实践(一).PDF

    程序设计实践(一) 程序设计实践(一): 风格.设计和实现 王新宇 2004.10.16 Outline 风格 原则 示例 设计和实践 马尔可夫链(Markov Chain) C, JAVA, C++ ...

  9. C语言课间程序设计实践报告

    <贪吃蛇>简介      玩家使用方向键操控一条长长的蛇不断吞下豆子,同时蛇身随着吞下的豆子不断变长,当蛇头撞到蛇身或障壁时游戏结束.贪吃蛇最初为人们所知的是诺基亚手机附带的一个小游戏,它 ...

最新文章

  1. 其他算法-高斯白噪声
  2. anconda安装后命令行中安装tensorflow报错
  3. DotNet Framework源代码调试问题
  4. 【重大更新】DevExpress v17.1新版亮点(ASP.NET篇)
  5. pytorch 实现transformer
  6. 用gdb搞清楚一道union相关的面试题
  7. ubuntu java 1.6 安装,ubuntu 中安装java jdk 1.6
  8. 上传大文件:在 System.Web.HttpRequest.GetEntireRawContent()
  9. 关于MX5在Mac无法正常使用开发者模式的解决方案
  10. Spark Hive实现基于协同过滤的电影推荐(MovieLens数据集)
  11. 100个日常实用脚本
  12. OpenCV:图像平移
  13. Zynq7跑peta linux,ZYNQ跑系统 系列(二) petalinux方式移植linux petalinux-config遇到问题...
  14. 学习虚幻4(一)U3D与UE4的比较
  15. [Pixhawk] ardupilot源码windows编译教程
  16. 中国传媒大学GPA算法
  17. Spring mvc 的生命周期
  18. 浅拷贝和深拷贝(谈谈java中的clone)
  19. 便携式水质自动采样器的使用技巧
  20. SAX 方式解析 XML

热门文章

  1. 读《程序员生存定律》心得体会
  2. Power bi 3.17 漏斗图
  3. 天气学诊断实习五 计算水汽平流、水汽通量、水汽通量散度
  4. 用MATLAB设计一个超简单的变声GUI界面
  5. html页面在ie上出现404怎么解决,解决IE浏览器错误问题的方法
  6. 使用百度AI接口v3进行人脸对比
  7. 软考信息安全工程师案列分析
  8. npm安装Node-red dashboard 报错 与npm卸载模块
  9. 华为nova3 计算机,荣耀v10与华为nova3区别对比
  10. 清理VMware虚拟机磁盘,解决虚拟机磁盘只增不减问题