HNU程序设计实验二

比较简单和基础,上课认真听了的应该都会,所以思路就不讲了,当我在这里储存一下代码吧电脑内存满了啊啊啊!!

支票代码输出

【问题描述】

输入支票代码(正整数)和支票金额(浮点数);按格式要求输出:支票代码占8位,不足8位,则补充前导符‘0’;支票金额保留两位小数 。

【样例输入】

123456 123.1

【样例输出】

00123456

123.10

【样例说明】

相关知识点:浮点数输出时的精度,宽度和填充字符

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int a;
    float b;
    cin>>a>>b;
    cout<<setfill('0')<<setw(8)<<right<<a<<endl;//setfill用什么填,setw目标宽度
    cout<<right<<fixed<<setprecision(2)<<setfill('0')<<b;//setprecision和fixed配合保留小数点后几位
    return 0;
}
//注意头文件<iomanip>

坐标格式化处理

【问题描述】

输入3组坐标(整形),按指定格式输出
【输入形式】

(x1,y1),(x2,y2),(x3,y3)

【输出形式】

[x1,y1]

[x2,y2]

[x3,y3]

【样例输入】

(1,1),(2,3),(4,5)

【样例输出】

[1,1]

[2,3]

[4,5]

【样例说明】

所有输入输出的符号均为半角英文字符

#include <iostream>
using namespace std;
int main()
{
 int x1,y1,x2,y2,x3,y3;
 char a,b,c,d,e,f,g,h,i,j,k;
 cin>>a>>x1>>b>>y1>>c>>d>>e>>x2>>f>>y2>>g>>h>>i>>x3>>j>>y3>>k;
 cout<<"["<<x1<<","<<y1<<"]\n"<<endl;
 cout<<"["<<x2<<","<<y2<<"]\n"<<endl;
 cout<<"["<<x3<<","<<y3<<"]"<<endl;
 return 0;
}
//没有啥知识点的一道

字符输出

【问题描述】

输出两行字符。

【输入形式】


【输出形式】

"This is a C++ program."
c:\teacher\navision

【相关知识】

注意转义字符的输出

#include <iostream>
using namespace std;
int main()
{
    cout<<("\"This is a C++ program.\"\n");
    printf("%s","c:\\teacher\\navision");
    return 0;
}

游泳训练时间计算

【问题描述】

​ 为了备战游泳比赛,小张在拼命训练以获取好的名次。某天小张对自己的游泳训练时间进行了计时(计时按24小时制),分别记录了自己当天开始训练的时间a时b分c秒和结束训练的时间d时e分f秒。请计算出小张当天总的游泳训练时间。
【输入形式】

​ 游泳训练的开始时间和结束时间,开始与结束时间之间以空格作为间隔,时间格式均为“时:分:秒”。
【输出形式】

​ 总的训练时间,格式为“时:分:秒”。
【样例输入】

​ 11:20:15 11:25:21
【样例输出】

​ 0:05:06

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    int a,b,c,d,e,f,g,h,i,j,k,l;
    char ch;
    cin>>a>>ch>>b>>ch>>c>>d>>ch>>e>>ch>>f;
    g=a*3600+b*60+c;//把时间化成秒
    h=d*3600+e*60+f;
    i=h-g;//时间差
    j=i/3600,k=i/60-j*60,l=i-j*3600-k*60;//把时间化成时分秒
    cout<<j<<":";
    cout<<setw(2)<<setfill('0')<<k<<":";//宽度2,填充0
    cout<<setw(2)<<setfill('0')<<l;
    return 0;
}

sizeof的作用

【问题描述】

运算符sizeof()通常用于求指定数据类型或者变量的字节数,请输出短整型、整型、长整型、长长整型、单精度浮点、双精度浮点、长双精度浮点、字符类型的字节数。其含义为如果sizeof(int)的结果为4,则所有声明的数据类型为int的变量,在存储时均占用4bytes,理解内存字节数非常重要,请大家记住。
【输入形式】


【输出形式】

字节数

【样例输入】

【样例输出】

2
4
4
8
4
8
16
1
#include<iostream>
using namespace std;
int main()
{
    cout<<sizeof(short int)<<endl;
    cout<<sizeof(int)<<endl;
    cout<<sizeof(long int)<<endl;
    cout<<sizeof(long long int)<<endl;
    cout<<sizeof(float)<<endl;
    cout<<sizeof(double)<<endl;
    cout<<sizeof(long double)<<endl;
    cout<<sizeof(char)<<endl;
    return 0;
}

温度表达转化

【问题描述】

利用公式 C = 5*(F-32)/9(其中C表示摄氏温度,F表示华氏温度)进行计算转化,输入华氏温度F,输出摄氏温度C,要求精确到小数点后5位。

【输入形式】

输入一行,包含一个实数F,表示华氏温度。(F >= -459.67)

【输出形式】

输出一行,包含一个实数,表示对应的摄氏温度,要求精确到小数点后5位。

【样例输入】

41
【样例输出】

5.00000
【样例说明】

对于小数,在无特殊要求的情况下,推荐大家使用double类型;

对于整数,在无特殊要求的情况下,推荐大家使用int类型;

#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
    double c,f;
    cin>>f;
    c=5*(f-32)/9;
    cout.setf(ios::fixed);//防止小数点后不显示0
    cout<<setprecision(5)<<c<<endl;
    return 0;
}

苹果和虫子

【问题描述】

​ 你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?

【输入形式】

​ 输入仅一行,包括n,x和y(均为整数)。

【输出形式】

​ 输出也仅一行,剩下的苹果个数。

【样例输入】

10 4 9
【样例输出】

7

#include <iostream>
using namespace std;
int main()
{
    int n,x,y;
    cin>>n>>x>>y;
    int a=y/x;
    if(a>=n)
        a=n;//吃光
    else if(y%x==0)//刚好吃完整个
         a=y/x;
         else//有一个吃了部分
            a=y/x+1;
         cout<<n-a;

    return 0;
}

小猴与香蕉

【问题描述】

​ 一只小猴想去商店里购买 w 只香蕉,它购买第一只香蕉需要 k 元,购买第2只香蕉需要 2k 元,以此类推,购买第 i 只香蕉需要 ik 元,然而它只有 n 元, 那么它还需要向它的朋友借多少元?

【输入形式】

输入为一行,包含三个数 knw (1≤ kw ≤1000,0 ≤ n ≤ 109)。

【输出形式】

输出为一个整数,表示小猴购买 w 只香蕉需要向它朋友所借的钱数,如果不需要借,则输出0。

【样例输入】

3 17 4

【样例输出】

13

#include <iostream>
using namespace std;
int main()
{
    int k,n,w,a=0,i;
    cin>>k>>n>>w;
    for(i=1;i<=w;i++)
    {
        a=a+i*k;
    }
    a=a-n;
    if(a<0)
    {
        a=0;
    }
    cout<<a<<endl;
    return 0;
}

长度单位换算

【问题描述】

编程,将从键盘输入的n英寸换算成用英里(mi)、码(yd)、英尺(ft)和英寸(in)的表示形式(1英里=1760码,1码=3英尺,1英尺=12英寸)输出。

【输入形式】

从键盘输入英寸数(整数)

【输出形式】

输出用英里(mi)、码(yd)、英尺(ft)和英寸(in)的表示形式。

【样例输入1】

12345678

【样例输出1】

194 mi 1495 yd 1 ft 6 in

【样例输入2】

3071

【样例输出2】

85 yd 11 in
#include <iostream>
using namespace std;
int main()
{
    int a,b,c,d,n;
    cin>>n;
    a=n/63360;
    b=(n-63360*a)/36;
    c=(n-63360*a-36*b)/12;
    d=(n-63360*a-36*b-12*c);
    if(a>0)
    {
        cout<<a<<" mi ";
    }
    if(b>0)
    {
        cout<<b<<" yd ";
    }
    if(c>0)
    {
        cout<<c<<" ft ";
    }
    if(d>0)
    {
        cout<<d<<" in ";
    }
    return 0;
}

铺地砖

【问题描述】

​ 有一个房间,大小为 M×N m2,小王准备用尺寸为 2×1 m2的瓷砖铺满整个房间,每块瓷砖铺贴时可以旋转且尽可能不做切割。请问小王至少需要准备多少块这样的瓷砖?

【输入形式】

输入为两个整数 MN,表示房间的大小。

【输出形式】

输出为一个整数,表示小王铺满整个房间至少需要准备的瓷砖数。
【样例输入1】

3 3

【样例输出1】

5

【样例输入2】

2 4

【样例输出2】

4
#include <iostream>
using namespace std;
int main()
{
    int m,n,a,b;
    cin>>m>>n;
    a=(m*n)/2;
    b=(m*n)%2;
    if(b==0)
        cout<<a<<endl;
    else
        cout<<a+1<<endl;
    return 0;
}

老鼠爱大米

【问题描述】

​ 两只老鼠兄弟分别去偷大米,它们事先约定,老大偷到的大米,必须留下1/3作为储备粮,老二必须留下1/4,剩下的它们可以自己吃掉。现給出老大和老二本次偷得的大米数,且假定它们所偷得的大米数总是为整数。求老鼠兄弟本次可以有多少储备大米?

【输入形式】

​ 输入为两个整数,表示老鼠兄弟所偷得的大米数。
【输出形式】

​ 输出为一个数,表示最后老鼠兄弟本次可以获得的储备大米数,保留两位小数。
【样例输入】

12 16

【样例输出】

8.00
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    double a,b,c,d,x;
    cin>>a>>b;
    c=a/3;
    d=b/4;
    x=c+d;
    cout.setf(ios::fixed);
    cout<<setprecision(2)<<x;
    return 0;
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值