实验9-1-结构 计算职工工资

给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。

输入格式:
输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。

输出格式:
按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。

输入样例:

3
zhao 240 400 75
qian 360 120 50
zhou 560 150 80

输出样例:

zhao 565.00
qian 430.00
zhou 630.00
#include<stdio.h>struct message {char name[11];double a;double b;double c;
};int main() {int n;scanf("%d", &n);int i;struct message x[1000];for (i = 0; i < n; i++) {scanf("%s %lf %lf %lf", &x[i].name, &x[i].a, &x[i].b, &x[i].c);printf("%s %.2f\n", x[i].name, x[i].a + x[i].b - x[i].c);}return 0;
}

实验9-2-结构 时间换算

本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。

输入格式:
输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。

输出格式:
输出在一行中给出hh:mm:ss格式的结果时间。

输入样例:

11:59:40
30

输出样例:

12:00:10
#include<stdio.h>int main() {int hh, mm, ss, n;scanf("%d:%d:%d", &hh, &mm, &ss);scanf("%d", &n);if (ss + n >= 60) {ss = ss + n - 60;mm = mm + 1;if (mm >= 60) {mm = mm - 60;hh = hh + 1;if (hh >= 24) {hh = hh - 24;}}} else {ss = ss + n;}printf("%0.2d:%0.2d:%0.2d", hh, mm, ss);return 0;
}

实验9-3-结构 计算平均成绩

给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。

输入格式:
输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩”,中间以空格分隔。

输出格式:
首先在一行中输出平均成绩,保留2位小数。然后按照输入顺序,每行输出一位平均线以下的学生的姓名和学号,间隔一个空格。

输入样例:

5
00001 zhang 70
00002 wang 80
00003 qian 90
10001 li 100
21987 chen 60

输出样例:

80.00
zhang 00001
chen 21987
#include<stdio.h>struct message {int number;char name[11];int grade;
};int main() {struct message x[11];int n, i;scanf("%d", &n);for (i = 0; i < n; i++) {scanf("%d %s %d", &x[i].number, &x[i].name, &x[i].grade);}int sum = 0;for (i = 0; i < n; i++) {sum = sum + x[i].grade;}double average = sum / n;printf("%.2f\n", (double) average);for (i = 0; i < n; i++) {if ((double) x[i].grade < average) printf("%s %0.5d\n", x[i].name, x[i].number);}return 0;
}

实验9-5-结构 查找书籍

给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。

输入格式:
输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。

输出格式:
在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。

输入样例:

3
Programming in C
21.5
Programming in VB
18.5
Programming in Delphi
25.0

输出样例:

25.00, Programming in Delphi
18.50, Programming in VB
#include<stdio.h>struct book {char name[31];double price;
};int main() {int n;scanf("%d", &n);int i;struct book x[11];for (int i = 0; i < n; i++) {scanf("\n");gets(x[i].name);scanf("%lf", &x[i].price);}double max = -1, min = 1000000;for (i = 0; i < n; i++) {if (x[i].price >= max) {max = x[i].price;}if (x[i].price <= min) {min = x[i].price;}}for (i = 0; i < n; i++) {if (x[i].price == max) {printf("%.2f, %s\n", max, x[i].name);}}for (i = 0; i < n; i++) {if (x[i].price == min) {printf("%.2f, %s\n", min, x[i].name);}}return 0;
}

实验9-7-结构 找出总分最高的学生

给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。

输入格式:
输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。

输出格式:
在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。

输入样例:

5
00001 huanglan 78 83 75
00002 wanghai 76 80 77
00003 shenqiang 87 83 76
10001 zhangfeng 92 88 78
21987 zhangmeng 80 82 75

输出样例:

zhangfeng 10001 258
#include<stdio.h>struct message {int xuehao;char name[11];int a;int b;int c;int sum;
};int main() {struct message x[10];int i;int n;scanf("%d", &n);for (i = 0; i < n; i++) {scanf("%d %s %d %d %d", &x[i].xuehao, &x[i].name, &x[i].a, &x[i].b, &x[i].c);}for (i = 0; i < n; i++) {x[i].sum = x[i].a + x[i].b + x[i].c;}int max = 0;for (i = 0; i < n; i++) {if (x[i].sum >= max) max = x[i].sum;}for (i = 0; i < n; i++) {if (x[i].sum == max) {printf("%s %0.5d %d", x[i].name, x[i].xuehao, x[i].sum);}}return 0;
}

实验9-8-结构 通讯录排序

输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。

输入格式:
输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。

输出格式:
按照年龄从大到小输出朋友的信息,格式同输出。

输入样例:

3
zhang 19850403 13912345678
wang 19821020 +86-0571-88018448
qian 19840619 13609876543

输出样例:

wang 19821020 +86-0571-88018448
qian 19840619 13609876543
zhang 19850403 13912345678
#include<stdio.h>
#include<string.h>struct xingxi {char name[11];int shengri;char telephone[18];
};int main() {int i, j, n, temp;scanf("%d", &n);char ex[11], tel[18];struct xingxi x[10];for (i = 0; i < n; i++) {scanf("%s %d %s", &x[i].name, &x[i].shengri, &x[i].telephone);}for (i = 0; i < n; i++) {for (j = 1; j < n - i; j++) {if (x[j - 1].shengri >= x[j].shengri) {temp = x[j - 1].shengri;x[j - 1].shengri = x[j].shengri;x[j].shengri = temp;strcpy(ex, x[j - 1].name);strcpy(x[j - 1].name, x[j].name);strcpy(x[j].name, ex);strcpy(tel, x[j - 1].telephone);strcpy(x[j - 1].telephone, x[j].telephone);strcpy(x[j].telephone, tel);}}}for (i = 0; i < n; i++) printf("%s %d %s\n", x[i].name, x[i].shengri, x[i].telephone);return 0;
}

结构 通讯录的录入与显示

通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。
本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。

输入格式:
输入在第一行给出正整数N(≤10);随后N行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“女”;固话和手机均为不超过15位的连续数字,前面有可能出现+。

在通讯录记录输入完成后,最后一行给出正整数K,并且随后给出K个整数,表示要查询的记录编号(从0到N−1顺序编号)。数字间以空格分隔。

输出格式:
对每一条要查询的记录编号,在一行中按照姓名 固话 手机 性别 生日的格式输出该记录。若要查询的记录不存在,则输出Not Found。

输入样例:

3
Chris 1984/03/10 F +86181779452 13707010007
LaoLao 1967/11/30 F 057187951100 +8618618623333
QiaoLin 1980/01/01 M 84172333 10086
2 1 7

输出样例:

LaoLao 057187951100 +8618618623333 F 1967/11/30
Not Found
#include<stdio.h>struct message {char name[11];char born[11];char sex;char guhua[17];char shouji[17];
};int main() {int i, n;scanf("%d", &n);struct message x[11];for (i = 0; i < n; i++) {scanf("%s %s %c %s %s", &x[i].name, &x[i].born, &x[i].sex, &x[i].guhua, &x[i].shouji);}int y, a[10];scanf("%d", &y);for (i = 0; i < y; i++) scanf("%d", &a[i]);for (i = 0; i < y; i++) {if (a[i] >= 0 && a[i] < n) {printf("%s %s %s %c %s\n", x[a[i]].name, x[a[i]].guhua, x[a[i]].shouji, x[a[i]].sex, x[a[i]].born);} else {printf("Not Found\n");}}return 0;
}

实验9-9-结构 有理数比较

本题要求编写程序,比较两个有理数的大小。

输入格式:
输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。

输出格式:
在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。

输入样例1:

1/2 3/4

输出样例1:

1/2 < 3/4

输入样例2:

6/8 3/4

输出样例2:

6/8 = 3/4
#include<stdio.h>struct shuzi {int a;int b;
};int main() {struct shuzi x[2];int i;for (i = 0; i < 2; i++) {scanf("%d/%d", &x[i].a, &x[i].b);}if ((double) x[0].a / x[0].b == (double) x[1].a / x[1].b) printf("%d/%d = %d/%d", x[0].a, x[0].b, x[1].a, x[1].b);else if ((double) x[0].a / x[0].b > (double) x[1].a / x[1].b)printf("%d/%d > %d/%d", x[0].a, x[0].b, x[1].a, x[1].b);else if ((double) x[0].a / x[0].b < (double) x[1].a / x[1].b)printf("%d/%d < %d/%d", x[0].a, x[0].b, x[1].a, x[1].b);return 0;
}

结构 有理数加法

本题要求编写程序,计算两个有理数的和。

输入格式:
输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。

输出格式:
在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。

输入样例1:

1/3 1/6

输出样例1:

1/2

输入样例2:

4/3 2/3

输出样例2:

2
#include<stdio.h>struct shuzi {int a;int b;
};int main() {struct shuzi x[2];int i;for (i = 0; i < 2; i++) {scanf("%d/%d", &x[i].a, &x[i].b);}int m, n;m = x[0].a * x[1].b + x[1].a * x[0].b;n = x[0].b * x[1].b;for (i = 2; i < 10; i++) {while (m % i == 0 && n % i == 0) {m /= i;n /= i;}}if (m % n != 0) printf("%d/%d", m, n);else printf("%d", m / n);return 0;
}

结构 有理数均值

本题要求编写程序,计算N个有理数的平均值。

输入格式:
输入第一行给出正整数N(≤100);第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。

输出格式:
在一行中按照a/b的格式输出N个有理数的平均值。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。

输入样例1:

4
1/2 1/6 3/6 -5/10

输出样例1:

1/6

输入样例2:

2
4/3 2/3

输出样例2:

1
#include<stdio.h>#define N 100
struct Rational {int n;    /* 分子 */int d;    /* 分母 */
};int gcd(int num1, int num2) {return num2 == 0 ? num1 : gcd(num2, num1 % num2);
}int main(void) {struct Rational ra[N], r;int i, n, g;scanf("%d", &n);for (i = 0; i < n; ++i)scanf("%d/%d", &ra[i].n, &ra[i].d);r.n = 0;r.d = 1;for (i = 0; i < n; ++i) {r.n = r.n * ra[i].d + r.d * ra[i].n;r.d = r.d * ra[i].d;}r.d *= n;    /*平均值 */g = gcd(r.n, r.d);if (g != 0) {r.n /= g;r.d /= g;}if (r.n == 0 || r.d == 1)printf("%d", r.n);elseprintf("%d/%d\n", r.n, r.d);return 0;
}

实验9-10-结构 平面向量加法

本题要求编写程序,计算两个二维平面向量的和向量。

输入格式:
输入在一行中按照“x1x_1x1​ y1y_1y1​ x2x_2x2​ y2y_2y2​”的格式给出两个二维平面向量v1=(x1,y1)v_1=(x_1,y_1)v1​=(x1​,y1​)和v2=(x2,y2)v_2=(x_2,y_2)v2​=(x2​,y2​)的分量。

输出格式:
在一行中按照(x, y)的格式输出和向量,坐标输出小数点后一位(注意不能输出−0.0)。

输入样例:

3.5 -2.7 -13.9 8.7

输出样例:

(-10.4, 6.0)
#include<stdio.h>struct shuzi {double a;double b;
};int main() {struct shuzi x[2];int i;for (i = 0; i < 2; i++) {scanf("%lf %lf", &x[i].a, &x[i].b);}double m, n;m = x[0].a + x[1].a;n = x[0].b + x[1].b;if (m > -0.05 && m <= 0 && n != 0) printf("(0.0, %.1f)", n);else if (m != 0 && n > -0.05 && n <= 0) printf("(%.1f, 0.0)", m);else if (m > -0.05 && m <= 0 && n > -0.05 && n <= 0) printf("(0.0, 0.0)");else if (m != 0 && n != 0) printf("(%.1f, %.1f)", m, n);return 0;
}

集美大学 - 2840 - 实验9 - 编程题相关推荐

  1. 集美大学 - 2840 - 实验8 - 编程题

    实验8-1-9-指针 输出学生成绩 本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩.最高成绩和最低成绩.建议使用动态内存分配来实现. 输入格式: 输入第一行首先给出一个正整数N,表示学 ...

  2. SDUT实验七编程题7-3 求算式的和[1]

    定义函数main(),输入正整数n,计算并输出下列算式的值.要求调用函数f(n)计算n*(n+1)-(2n-1),函数返回值类型是double. s=1+2∗31​+3∗4∗51​+......+n∗ ...

  3. SDUT实验七编程题7-4 计算圆柱体的体积

    输入圆柱的高和半径,求圆柱体积,volume=π×r2×h .要求定义和调用函数cylinder (r, h )计算圆柱体的体积. 输入格式: 输入在一行中给出2个实数,分别为半径r和高h. 输出格式 ...

  4. SDUT实验七编程题7-1 sdut- C语言实验—计算表达式

    计算下列表达式值: 输入格式: 输入x和n的值,其中x为非负实数,n为正整数. 输出格式: 输出f(x,n),保留2位小数. 输入样例: 3 2 输出样例: 在这里给出相应的输出.例如: 2.00 # ...

  5. java2实验手册求方程的根_完成实验手册实验六:P101编程题2、3、4 Java程序设计上机实验手册(完稿)_吴娜炯.pdf_学小易找答案...

    [简答题]将一个文件的内容装换为大写,显示出来,并把内容复制到文件中去. [简答题]什么是自主访问控制?什么是强制访问控制? 什么是基于角色的访问控制? [简答题]根据第五课教学视频,实现可视化日历. ...

  6. 实验七 字符串 编程题 1. 飞来飞去

    实验七 字符串 编程题 1. 飞来飞去 [问题描述] 松雅作为一位商业人士,经常需要在天津和深圳之间飞来飞去,因为在这两个城市,她有多间旅馆.当然在冬天她更愿意从天津飞到深圳,因为深圳更暖和.她实在是 ...

  7. c语言 实验编程题 计算整数和,C语言程序设计实验与习题答案.doc

    22.程序填空.程序填空(1)以下程序的功能是计算1~50之间能被7整除的整数之和.#includevoidmain(){intisum=0for(i=150i++)if(i%7==0)sum+=ip ...

  8. MIT微软为AI量身打造了一套leetcode编程题

    丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 你见过这种编程题目描述方式吗? 不用自然语言描述,也没有输入输出示例,你所看到的就只有一个Python函数. 这是来自MIT.Allen A ...

  9. python编程题-python编程题库

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 上期题目连接:1000道python题库系列分享十一(9道)上期题目答案:? 本期 ...

  10. c语言小学生加法考试题程序4,c语言编程题及答案.doc

    c语言编程题及答案.doc C C 语言编程题及答案(三)语言编程题及答案(三) 1. 给小学生出加法考试题 编写一个程序,给学生出一道加法运算题,然后判断学生输入的答案对错与否,按下列 要求以循序渐 ...

最新文章

  1. 每天2小时,吃透 985博士总结的这份保姆级TensorFlow + PyTorch笔记(20G高清/PPT/代码)...
  2. XStream转换Java对象与XML
  3. 低碳数据中心,因何而来?一文读懂如何利用超融合降碳
  4. Linux运维人员成长之路学习书籍推荐(未删减版)
  5. 温习php一(apache和php的配置)
  6. 多线程并发思考--文件加锁
  7. 占空比输出程序c语言,怎样利用c语言来实现占空比的设置?(单片机:SPCE061A)
  8. python123监考系统可以识别_在线考试系统的视频监考怎么防作弊?
  9. OFFICE | WORD VBA 合集
  10. somachine3.1安装包和注册文件
  11. 三种交换方式:电路交换、分组交换、报文交换
  12. 分布式理论与分布式架构设计理论
  13. 解读Tilera怪兽级64核处理器(转)
  14. 20 行 Python 代码批量抓取免费高清图片!
  15. Android使用NFC读卡实现 (一)
  16. 全站仪和手机连接软件_南方全站仪传输软件-南方全站仪传输软件下载 1.0 中文版 - 河东下载站...
  17. @component的注解
  18. 翻译截图有哪些?你知道翻译截图怎样操作的
  19. web学习 -- w3c dom标准
  20. 系统架构设计笔记(88)—— 身份认证与访问控制

热门文章

  1. 同济大学Python程序设计基础 实验二:数据表示和处理
  2. java罗马数字_Java实现的求解经典罗马数字和阿拉伯数字相互转换问题示例
  3. 并发框架——Distruptor
  4. word方框中打对号
  5. java实现蒲丰投针求,用程序模拟蒲丰投针试验
  6. MySQL安装配置步骤
  7. PyQt5 基本语法(一):基类控件
  8. Centos7 下配置mail使用163邮箱发送邮件
  9. 解决Ubuntu与Windows不能复制粘贴问题
  10. iOS判断第三方SDK是否含有广告位