计算机导论与C语言基础 Coursera 第六周

第六周

1 明确学习进度

在这里插入图片描述

2 C语言的由来

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 C语言的标准

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 C语言的构成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

作业

1.苹果与虫子

//http://pkuic.openjudge.cn/hw02/1
//编程题#1:苹果和虫子
//来源: poj(coursera声明:在poj上完成的习题将不会计入coursera的最后成绩。)
//
//	注意: 总时间限制 : 1000ms 内存限制 : 65536kb
//
//	描述
//	你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
//
//	输入
//	输入仅一行,包括n,x和y(均为整数)。
//
//	输出
//	输出也仅一行,剩下的苹果个数
//
//	样例输入
//第一组
//10 4 9
//第二组
//10 4 36
//第三组
//10 4 100
//
//样例输出
//第一组
//7
//第二组
//1
//第三组
//0
#include <iostream>
using namespace std; 

int main(){
	int n, x, y;
	cin >> n >> x >> y;
	if (y%x == 0){
		if (n - y / x<0)
		{
			cout << 0 << endl;
		}
		else
		{
			cout << n - y / x << endl;
		}
	}
	else{
		if (n - y / x-1<0)
		{
			cout << 0 << endl;
		}
		else
		{
			cout << n - y / x-1 << endl;
		}
	}
	
	return 0;
}

也可以用ceil() 取整符号 需要#include <math.h>
2.大象喝水

//http://pkuic.openjudge.cn/hw02/2
//编程题#2:大象喝水
//来源 : POJ(Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)
//
//	 注意: 总时间限制 : 1000ms 内存限制 : 65536kB
//
//	 描述
//	 一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水才会解渴。
//
//	 输入
//	 输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米。
//
//	 输出
//	 输出一行,包含一个整数,表示大象至少要喝水的桶数。
//
//样例输入
//第一组
//23 11
//第二组
//1 1

//样例输出
//第一组
//3
//第二组
//6367

//提示
//如果一个圆桶的深为h厘米,底面半径为r厘米,那么它最多能装Pi * r * r * h立方厘米的水。(设Pi = 3.14159)
//
//1升 = 1000毫升
//
//1毫升 = 1 立方厘米
//
//来源
//计算概论化学学院期末考试
#include <iostream>
#include <math.h>
using namespace std;
int main(){
	int h,r,WaterNeed = 20000;
	double Pi = 3.14159;
	cin >> h>> r;

	cout << ceil(WaterNeed / (Pi * r * r * h)) << endl;
	return 0;
}

3.大象喝水

//http://pkuic.openjudge.cn/hw02/3
//编程题#3:最高的分数
//来源 : POJ(Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)
//
//	 注意: 总时间限制 : 1000ms 内存限制 : 65536kB
//
//	 描述
//	 孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。因为人数比较多,他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗?
//
//	 输入
//	 输入两行,第一行为整数n(1 <= n < 100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。
//
//	 输出
//	 输出一个整数,即最高的成绩。
//
//	 样例输入
//5
//85 78 90 99 60
//输出	99

#include <iostream>
using namespace std;

int main(){
	int n,Score[100];
	cin >> n;

	for (int i = 0; i < n; i++)
	{
		cin >> Score[i];
	}
	int maxScore=0;

	for (int i = 0; i < n; i++)
	{
		if (Score[i]>maxScore){
			maxScore = Score[i];
		}
	}
	cout << maxScore << endl;
	return 0;
}

4.最大奇数与最小偶数之差的绝对值

//http://pkuic.openjudge.cn/hw02/4
//编程题#4:最大奇数与最小偶数之差的绝对值
//来源: POJ(Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)
//
//	注意: 总时间限制 : 1000ms 内存限制 : 65536kB
//
//	描述
//	输入6个正整数,且这6个正整数中至少存在一个奇数和一个偶数。
//
//	设这6个正整数中最大的奇数为a,最小的偶数为b,求出 | a - b | 的值
//
//	输入
//	输入为一行,6个正整数, 且6个正整数都小于100
//
//	输入保证这6个数中至少存在一个奇数和一个偶数
//
//	输出
//	输出为一行,输出最大的奇数与最小的偶数之差的绝对值
//
//	样例输入
//第一组
//1 2 3 4 5 6
//第二组
//1 6 3 8 5 10

//第一组
//3
//第二组
//1

#include <iostream>
using namespace std;

int main(){
	//输入
	int a[6];
	int maxEven=1, minOdd=100;
	
	for (int i = 0; i < 6; i++)
	{
		cin >> a[i];
	}

	for (int i = 0; i < 6; i++)
	{
		if ((maxEven <= a[i]) && (a[i] % 2 == 1)){
			maxEven = a[i];
		}
		else if ((minOdd>=a[i])&&(a[i]%2==0)){
			minOdd = a[i];
		}
	}
	if (maxEven - minOdd>0)
	{
		cout <<( maxEven - minOdd )<< endl;
	}
	else{
		cout << -(maxEven - minOdd) << endl;
	}
	return 0;
}

5.分离整数的各个数位

//http://pkuic.openjudge.cn/hw02/5
//编程题#5:分离整数的各个数位
//来源 : POJ(Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)
//
//	 注意: 总时间限制 : 1000ms 内存限制 : 65536kB
//
//	 描述
//	 从键盘输入一个任意的三位整数,要求正确地分离出它的百位、十位和个位数,并分别在屏幕上输出,输出采用每行输出一个数的方式,不带其它符号。
//
//	 输入
//	 一个任意的三位整数
//
//	 输出
//	 一个任意的三位整数
//
//	 样例输入  123
//样例输出 1 2 3

#include <iostream>
using namespace std;

int main(){
	int a;
	cin >> a;

	for (int i = 2; i > -1; i--)
	{
		int flag = 1;
		for (int ii = 0; ii < i; ii++)
		{
			flag = flag * 10;
		}
		cout << int(a / flag) << endl;
		a = a % flag;
	}
	return 0;
}

以上为当地运行通过但是还没提交。。。。。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值