NOI题解(1.3编程基础之算术表达式与顺序执行)

原创 2016年08月29日 21:44:58



01:A+B问题

#include "iostream"
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<<a+b;
    return 0;
}



02:计算(a+b)*c的值

#include "iostream"
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    cout<<(a+b)*c;
    return 0;
}

03:计算(a+b)/c的值

#include "iostream"
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    cout<<(a+b)/c;
    return 0;
}

04:带余除法

#include "iostream"
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<<a/b<<" "<<a%b;
    return 0;
}

05:计算分数的浮点数值

#include "iostream"
#include "iomanip"
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<<fixed<<setprecision(9)<<(double)a/(double)b;
    return 0;
}

06:甲流疫情死亡率

#include "iostream"
#include "iomanip"
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<<fixed<<setprecision(3)<<(double)b*100/(double)a<<"%";
    return 0;
}

07:计算多项式的值

#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int main()
{
    double x,a,b,c,d;
    cin>>x>>a>>b>>c>>d;
    cout<<fixed<<setprecision(7)<<a*pow(x,3)+b*pow(x,2)+c*x+d;//直接调用库函数中的pow(x , y)。添加头文件#include <math.h>
    return 0;
}

08:温度表达转化

#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int main()
{
    double F;
    cin>>F;
    cout<<fixed<<setprecision(5)<<5 * (F-32) / 9;
    return 0;
}

09:与圆相关的计算

#include "iostream"
#include "math.h"
#include "iomanip"
#define pi 3.14159
using namespace std;
int main()
{
    double r;//float精度不够,float的小数点后十进制有效位数只有7位
    cin>>r;
    cout<<fixed<<setprecision(4)<<2*r<<" "<<2 * pi * r<<" "<<pi * r * r;
    return 0;
}

10:计算并联电阻的阻值

#include "iostream"
#include "iomanip"
using namespace std;
int main()
{
    float r1,r2;
    cin>>r1>>r2;
    float R = 1/(1/r1 + 1/r2);
    cout<<fixed<<setprecision(2)<<R;
    return 0;
}


11:计算浮点数相除的余数

#include "iostream"
#include "iomanip"
using namespace std;
/*
 输出时小数尾部没有多余的0,可以用下面这种格式:
 double x;
 x = 1.33;
 printf("%g", x);
 */
int main()
{
    double a,b;
    cin>>a>>b;
    int temp=a/b;
    printf("%g",a-temp*b);
    return 0;
}

12:计算球的体积

#include "iostream"
#include "iomanip"
using namespace std;
#define pi 3.14
/*
 输出时小数尾部没有多余的0,可以用下面这种格式:
 double x;
 x = 1.33;
 printf("%g", x);
 */
int main()
{
    double r;
    cin>>r;
    cout<<fixed<<setprecision(2)<<(double)4/(double)3*pi*r*r*r;
    return 0;
}

13:反向输出一个三位数

#include "iostream"
using namespace std;
int main()
{
    string str;
    cin>>str;
    for(int i=str.length()-1;i>=0;i--)
    {
        cout<<str.at(i);
    }
    return 0;
}

14:大象喝水

#include "iostream"
using namespace std;
#define Pi 3.14159
#define water 20000
int main()
{
    int h,r;
    cin>>h>>r;
    if(water%(int)(Pi*r*r*h)!=0)
    {
        cout<<water/(int)(Pi*r*r*h)+1;
    }else
    {
        cout<<water/(int)(Pi*r*r*h);
    }
    return 0;
}

15:苹果和虫子

#include "iostream"
using namespace std;
int main()
{
    int n,x,y;
    cin>>n>>x>>y;
    int remain;
    if(y%x!=0)
    {
        remain=n-(y/x+1);
    }else
    {
        remain=n-(y/x);
    }
    cout<<remain;
    return 0;
}


16:计算线段长度

#include "iostream"
#include "math.h"
#include "iomanip"
/*
 qrt函数有三种形式
 
 double sqrt(double x);
 float sqrtf(float x);
 long double sqrtl(long double x);
 
 三种形式的区别只是参数和返回值的精度不同,float精度最低,double较高,long double精度最高
 */
using namespace std;
int main()
{
    float xa,ya,xb,yb;
    cin>>xa>>ya>>xb>>yb;
    cout<<fixed<<setprecision(3)<<sqrt(pow((xa-xb),2)+pow((ya-yb), 2));
    return 0;
}

17:计算三角形面积

#include "iostream"
#include "math.h"
#include "iomanip"
/*
 海伦公式
 sqrt(p*(p-a)*(p-b)*(p-c))
 公式中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积
 */
using namespace std;
int main()
{
    float x1,y1,x2,y2,x3,y3;
    cin>>x1>>y1>>x2>>y2>>x3>>y3;
    float a=sqrt(pow((x1-x2),2)+pow((y1-y2),2));
    float b=sqrt(pow((x2-x3),2)+pow((y2-y3),2));
    float c=sqrt(pow((x1-x3),2)+pow((y1-y3),2));
    float p=(a+b+c)/2;
    cout<<fixed<<setprecision(2)<<sqrt(p*(p-a)*(p-b)*(p-c));
    return 0;
}

18:等差数列末项计算

#include "iostream"
#include "math.h"
#include "iomanip"
/*
*/
using namespace std;
int main()
{
    int a1,a2,n;
    cin>>a1>>a2>>n;
    int len=a2-a1;
    cout<<a1+len*(n-1);
    return 0;
}

19:A*B问题

#include "iostream"
#include "math.h"
#include "iomanip"
/*
 对于无符号数,根据占用的位数可以直接计算:
 unsigned short 16位 0~2的16次方-1(即65535)
 unsigned int 16位 0~2的16次方-1(即65535)
 unsigned long 32位 0~2的32次方-1(即4294967295)
 
 对于有符号数,由于0也占用一个位置,导致负数的边界值与正数的边界值不一样:
 short 16位 - 2的(16-1)次方~2的(16-1)次方-1(即-32768~32767)
 int 16位 - 2的(16-1)次方~2的(16-1)次方-1(即-32768~32767)
 long 32位 - 2的(32-1)次方~2的(32-1)次方-1(即-2147483648~2147483647)
*/
using namespace std;
int main()
{
    unsigned int A,B;
    cin>>A>>B;
    unsigned long C=A*B;
    cout<<C;
    return 0;
}

20:计算2的幂

#include "iostream"
#include "math.h"
#include "iomanip"
/*
 可以这样写
 cout<<setiosflags(ios::fixed)<<f<<endl;
 setiosflags(ios::fixed)就是以定点数格式,而不是科学计数法输出
 */
using namespace std;
int main()
{
    unsigned int n;
    cin>>n;  
    cout<<fixed<<setprecision(0)<<pow(2,n);
    return 0;
}






版权声明:本文为博主原创文章,未经博主允许不得转载。

1.3编程基础之算术表达式与顺序执行

01:A+B问题 总时间限制: 1000ms 内存限制: 65536kB 描述 在大部分的在线题库中,都会将A+B问题作为第一题,以帮助新手熟悉平台的使用方法。 A+B问题的题目描述如下:给定...

甲流疫情死亡率

入门难度,甲流疫情死亡率
  • Dark_v
  • Dark_v
  • 2017年03月28日 22:18
  • 1421

NOI题解(1.4编程基础之逻辑表达式与条件分支)

01:判断数正负 #include "iostream" #include "math.h" #include "iomanip" /* */ using namespace std; int mai...

1.4编程基础之逻辑表达式与条件分支

01:判断数正负 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个整数N,判断其正负。 输入 一个整数N(-109 输出 如果N > 0, 输出positive; ...

NOI题解(1.2编程基础之变量定义、赋值及转换)

01:整型数据类型存储空间大小 #include "iostream" using namespace std; int main() { int a; short b; co...

String字符串的应用

String 用自己的算法实现startsWith和endsWith功能。 package com.hz.practice;/** * 1. 用自己的算法实现startsWith和endsWith功...

NOI题解(1.9编程基础之顺序查找)(待补全)

01:查找特定的值 #include "iostream" using namespace std; int main() { int n; int num[10002]; c...

NOI题解(1.1编程基础之输入输出)

测试网站地址:http://noi.openjudge.cn 08:字符三角形 描述 给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。 输入 输入只有一行, 包含一个字...

NOI题解(1.7编程基础之字符串)(待补全)

01:统计数字字符个数 #include "iostream" #include "iomanip" using namespace std; int main() { string str;...

1.12编程基础之函数与过程抽象 01:简单算术表达式求值

01:简单算术表达式求值总Time Limit: 1000ms Memory Limit: 65536kBDescription两位正整数的简单算术运算(只考虑整数运算),算术运算为:+,加法运算; ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NOI题解(1.3编程基础之算术表达式与顺序执行)
举报原因:
原因补充:

(最多只允许输入30个字)