比较简单和基础,上课认真听了的应该都会,所以思路就不讲了,当我在这里储存一下代码吧电脑内存满了啊啊啊!!
支票代码输出
【问题描述】
输入支票代码(正整数)和支票金额(浮点数);按格式要求输出:支票代码占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 只香蕉需要 i●k 元,然而它只有 n 元, 那么它还需要向它的朋友借多少元?
【输入形式】
输入为一行,包含三个数 k、n、w (1≤ k、w ≤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的瓷砖铺满整个房间,每块瓷砖铺贴时可以旋转且尽可能不做切割。请问小王至少需要准备多少块这样的瓷砖?
【输入形式】
输入为两个整数 M 和 N,表示房间的大小。
【输出形式】
输出为一个整数,表示小王铺满整个房间至少需要准备的瓷砖数。
【样例输入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;
}