[Coursera 计算导论与C语言基础] 第七周作业

编程题#1:年龄与疾病

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理。

输入

共2行,第一行为过往病人的数目n(0 < n <= 100),第二行为每个病人患病时的年龄。

输出

每个年龄段(分四段:18以下,19-35,36-60,大于60注意看样例输出的格式)的患病人数占总患病人数的比例,以百分比的形式输出,精确到小数点后两位(double)。关于c++的格式化的输入输出,请参考:http://www.cplusplus.com/reference/iomanip。也可以在网上搜索一下,资料很多的。

编程题#2:成绩判断

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 6000kB

描述

输入一个0--100的分数,判断分数代表什么等级。

95<=分数<=100, 输出1

90<=分数<95,输出2

85<=分数<90,输出3

80<=分数<85,输出4

70<=分数<80,输出5

60<=分数<70输出6

分数 < 60;输出7.

输入

n

输出

m

    #include <iostream>  
using namespace std;
int main()
{
	int n;
	cin >> n;
	if (95 <= n && n <= 100)
	{
		cout << "1" << endl;
	}
	else if (90 <= n && n<95)
	{
		cout << "2" << endl;
	}
	else if (85 <= n && n < 90)
	{
		cout << "3" << endl;
	}
	else if (80 <= n && n < 85)
	{
		cout << "4" << endl;
	}
	else if (70 <= n && n < 80)
	{
		cout << "5" << endl;
	}
	else if (60 <= n && n < 70)
	{
		cout << "6" << endl;
	}
	else
	{
		cout << "7" << endl;
	}

	return 0;
}

编程题#3:找出第k大的数

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

用户输入N和K,然后接着输入N个正整数(无序的),程序在不对N个整数排序的情况下,找出第K大的数。注意,第K大的数意味着从大到小排在第K位的数。

输入

N

K

a1 a2 a3 a4 ..... aN

输出

b

#include <iostream>  
using namespace std;
int main()
{
	int n, k,num[10];
	cin >> n;
	cin >> k;
	for (int i = 0; i < n; i++) {
		int m;
		cin >> m;
		num[i] = m;

	}
	for (int i = 0; i < n - 1; i++) {
		for (int j = 1; j < n - i; j++) {
			if (num[j - 1] < num[j]) {
				int temp = num[j-1];
				num[j-1] = num[j];
				num[j] = temp;
			}
		}
	}

	cout << num[k - 1] << endl;
	return 0;


}

编程题#4:人民币支付

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

从键盘输入一指定金额(以元为单位,如345),然后输出支付该金额的各种面额的人民币数量,显示100元,50元,20元,10元,5元,1元各多少张,要求尽量使用大面额的钞票

输入

一个小于1000的正整数。

输出

输出分行,每行显示一个整数,从上到下分别表示100元,50元,20元,10元,5元,1元人民币的张数

#include <iostream>  
using namespace std;
int main()
{
	int n,m,l,k,i,j;
	cin >> n;
	if (n % 100 >= 0) {
		cout << n / 100 << endl;
	}
	else { cout << "0" << endl; }
	m = n % 100;
	if (m % 50 >= 0) {
		cout << m / 50 << endl;
	}
	else { cout << "0" << endl; }
	l = m % 50;
	if (l % 20 >= 0) {
		cout << l / 20 << endl;
	}
	else { cout << "0" << endl; }
	k = l % 20;
	if (k % 10 >= 0) {
		cout << k / 10 << endl;
	}
	else { cout << "0" << endl; }
	i = k % 10;
	if (i % 5 >= 0) {
		cout << i / 5 << endl;
	}
	else { cout << "0" << endl; }
	j = i % 5;
	if (j % 1 >= 0) {
		cout << j / 1 << endl;
	}
	else { cout << "0" << endl; }
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值