第六周
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;
}
以上为当地运行通过但是还没提交。。。。。