简言
小王

问题描述

一个最简单的计算器,支持+,*四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过int表示的范围。

输入

输入只有一行,共有三个参数,其中第1、2个参数为整数,第3个参数为操作符(+*)。

输出

输出只有一行,一个整数,为运算结果。然而:
1如果出现除数为0的情况,则输出:Divided by zero!
2.如果出现无效的操作符(即不为+*/之一),则输出:Invalid operator!

样例输入

1 2 +

样例输出

3

题解

cpp

#include <iostream>
using namespace std;
int main()
{
    int a = 0,b = 0,d = 0;
    char c = 0;
    cin>>a>>b>>c;
    if (c != '+' && c != '-' && c != '*' && c != '/')
        cout<<"Invalid operator!";
    else if (c == '+')
    {
        d = a + b;
        cout<<d;
    }
    else if (c == '-')
    {
        d = a - b;
        cout<<d;
    }
    else if (c == '*')
    {
        d = a * b;
        cout<<d;
    }
    else if (c == '/' && b != 0)
    {
        d = a / b;
        cout<<d;
    }
    else if (c == '/' && b == 0)
        cout<<"Divided by zero!";
    return 0;
}

演示

2年前 (12月19日)
小王

问题描述

读取对应于一个人的年龄(以天为单位)的整数值,并转化为年,月和日表示方式输出,年、月、日分别对应 ano(s),mes(es),dia(s)。

注意

为了方便计算,假设全年365天,每月30天。数据保证,不会出现12个月和几天的情况,例如360、363或364。

输入格式

输入一个整数N。

输出格式

参照输出样例,输出转换后的天数表达。

数据范围

1 ≤ N ≤ 1000000

输入样例

400

输出样例

1 ano(s)
1 mes(es)
5 dia(s)

题解

cpp

#include <iostream>
using namespace std;
int main()
{
    int N = 0, y = 0, m = 0, d = 0;
    cin >> N;
    y = N / 365;
    m = (N - y * 365) / 30;
    d = N - y * 365 - m * 30;
    cout << y << " ano(s)" << endl;
    cout << m << " mes(es)" << endl;
    cout << d << " dia(s)";
    return 0;
}

演示

2年前 (12月17日)
小王

问题描述

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

输入

一个小于1000的正整数。

输出

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

样例输入

735

样例输出

7
0
1
1
1
0

题解

cpp

#include <iostream>
using namespace std;
int main()
{
    int y = 0,a = 0,b = 0,c = 0,d = 0,e = 0,f = 0;
    cin>>y;
    a = y / 100;
    b = (y - a * 100) / 50;
    c = (y - a * 100 - b * 50) / 20;
    d = (y - a * 100 - b * 50 - c * 20) / 10;
    e = (y - a * 100 - b * 50 - c * 20 - d * 10) / 5;
    f = (y - a * 100 - b * 50 - c * 20 - d * 10 - e * 5) / 1;
    cout<<a<<endl;
    cout<<b<<endl;
    cout<<c<<endl;
    cout<<d<<endl;
    cout<<e<<endl;
    cout<<f;
    return 0;
}

演示

2年前 (12月16日)
小王

问题描述

甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率。

输入

输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。

输出

输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。

样例输入

10433 60

样例输出

0.5758

提示

输出%可以使用printf(“%%”)

题解

cpp

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
	double s = 0, p = 0, l = 0;
	scanf("%lf %lf", &p, &s);
	l = s * 100 / p;
	printf("%.3lf%%",l);
	return 0;
 } 

操作演示

2年前 (12月15日)
小王

【问题描述】
根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克),基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算:如果用户选择加急,多收5元。

【输入】
输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y说明选择加急;如果字符是n,说明不加急。

【输出】
输出一行,包含一个整数,表示邮费。

【样例输入】

1200 y

【样例输出】

17

【题解】

cpp

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double w,m,m1 = 8,m2 = 5,m3;
    char j;
    cin>>w>>j;
    if (w<=1000)
    {
        if (j == 'y')
            m = m1 + m2;
        else
            m = m1;
    }
    else
    {
        m3 = w - 1000;
        m = ceil(m3 / 500)*4 + m1;
        if (j == 'y')
            m += m2;
        else
            m = m;
    }
    cout<<m;
    return 0;
}

【视频演示】

2年前 (12月12日)
小王

【问题描述】
两辆汽车在同一地点,同时沿同一方向前进。一辆车的速度为60km/h,另一辆车的速度为90km/h。显然,快车与慢车的距离会不断拉开,每过一个小时(60分钟),两车的距离就拉开30公里。现在两车之间的距离为L公里,求出两车已经行驶了多少分钟?
【输入样例】

30

【输出样例】

60

【代码解答】

cpp

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    double v1 = 60, v2 = 90, L = 0, x = 0, t = 0;
    scanf("%lf", &L);
    x = L / (v2 - v1);
    t = x * 60;
    printf("%.0lf", t);
    return 0;
}

【执行演示】

2年前 (12月08日)
小王

【题目描述】
买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时还有多少个完整的苹果?
【输入】输入仅一行,包括n,x和y (均为整数)。输入数据保证y ≤ n*x。
【输出】输出也仅一行,剩下的苹果个数
【样例输入】10 4 9
【样例输出】7
【代码解答】

cpp

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
    double x = 0,y = 0,s = 0,n = 0;
    scanf("%lf %lf %lf",&n,&x,&y);
    s = ceil(y/x);
    s = n - s;
    printf("%.0lf",s);
    return 0;
}

【视频演示】

2年前 (12月07日)
小王

【题目描述】
期末考试就要到了,小明在拼命做模拟试卷准备期末复习,现在小明语文成绩是a分,数学是b分 英语是c分,请问他这次模拟测试的三科平均分?小明做的好辛苦呀,你可不要算错了哦。
【输入】
一行内输入3个实数,分别表示a, b, c。
【输出】
输出平均分,保留2位小数。
【样例输入】
97.5 99 91.5
【样例输出】
96.00

【代码解答】

cpp

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    double a = 0,b = 0,c = 0,p = 0;
    scanf("%lf %lf %lf",&a,&b,&c);
    p = (a + b + c) / 3;
    printf("%.2lf",p);
    return 0;
}

【视频演示】

2年前 (12月06日)