信息学奥赛一本通C语言版(题目列表第一页:1000-1035)

1000:入门测试题目

【题目描述】

求两个整数的和。

【输入】

一行,两个用空格隔开的整数。

【输出】

两个整数的和。

【输入样例】

2 3

【输出样例】

5

#include<stdio.h>
void main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", a + b);
}

2060:【例1.1】计算机输出

【题目描述】

在屏幕上输出“Hello World!”。

【输入】

(无)

【输出】

(无)

【输入样例】

(无)

【输出样例】

Hello World!

#include<stdio.h>
void main()
{
    printf("Hello World!");
}

2061:【例1.2】梯形面积

2061:【例1.2】梯形面积


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 158177     通过数: 62664

【题目描述】

在梯形中阴影部分面积是150平方厘米,求梯形面积。

【输入】

(无)

【输出】

输出梯形面积(保留两位小数)。

【输入样例】

(无)

【输出样例】

(无)

#include<stdio.h>
void main()
{
    int a = 15, b = 25, s1 = 150;
    int c;
    double s;
    c = 2 * s1 / a;
    s = (a + b) * c / 2;
    printf("%.2lf", s);
}

2062:【例1.3】电影票

【题目描述】

已知一位小朋友的电影票价是10元,计算x位小朋友的总票价是多少?

【输入】

输入x。

【输出】

人数和电影票总价,中间用一个空格隔开。

【输入样例】

2

【输出样例】

2 20

#include<stdio.h>
voidmain()
{
    int p = 10, x;
    scanf("%d", &x);
    printf("%d %d", x, 10 * x);
}

2063:【例1.4】牛吃牧草

【题目描述】

有一个牧场,牧场上的牧草每天都在匀速生长,这片牧场可供15头牛吃20天,或可供20头牛吃10天,那么,这片牧场每天新生的草量可供几头牛吃1天?

【输入】

(无)

【输出】

如题述,牛的数量。

【输入样例】

(无)

【输出样例】

(无)

#include<stdio.h>
void main()
{
    int S1, S2, S3;
    S1 = 15 * 20;
    S2 = 20 * 10;
    S3 = (S1 -S2) / (20 - 10);
    printf("%d", S3);
}

1001:Hello,World!

【题目描述】

编写一个能够输出“Hello,World!”的程序,这个程序常常作为一个初学者接触一门新的编程语言所写的第一个程序,也经常用来测试开发、编译环境是否能够正常工作。

提示:“Hello,World!”中间没空格。

【输入】

【输出】

Hello,World!

【输入样例】

(无)

【输出样例】

Hello,World!

#include<stdio.h>
void main()
{
    printf("Hello,World!");
}

1002:输出第二个整数

【题目描述】

输入三个整数,整数之间由一个空格分隔,整数是32位有符号整数。把第二个输入的整数输出。

【输入】

只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。

【输出】

只有一行,一个整数,即输入的第二个整数。

【输入样例】

123 456 789

【输出样例】

456

#include<stdio.h>
void main()
{
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    printf("%d", b);
}

1003:对齐输出

【题目描述】

读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。

【输入】

只有一行,包含三个整数,整数之间以一个空格分开。

【输出】

只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。

【输入样例】

123456789 0 -1

【输出样例】

123456789       0      -1

#include<stdio.h>
void main()
{
    long a, b, c;
    scanf("%ld %ld %ld", &a, &b, &c);
    printf("%8ld %8ld %8ld", a, b, c);
}

1004:字符三角形

【题目描述】

给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。

【输入】

输入只有一行,包含一个字符。

【输出】

该字符构成的等腰三角形,底边长5个字符,高3个字符。

【输入样例】

*

【输出样例】

  *
 ***
*****

#include<stdio.h>
void main()
{
    char c;
    int i, j, k;
    scanf("%c", &c);
    for (i = 1; i <= 3; i++)
    {
        for (j = 1; j <= 3 - i; j++)
        {
            printf(" ");
        }
        for (k = 1; k <= 2 * i - 1; k++)
        {
            printf("%c", c);
        }
        printf("\n");
    }
}

1005:地球人口承载力估计

【题目描述】

假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供xx亿人生活aa年,或供yy亿人生活bb年。

为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?

【输入】

一行,包括四个正整数x,a,y,bx,a,y,b,两个整数之间用单个空格隔开。x>y,a<b,ax<byx>y,a<b,ax<by,各整数均不大于1000010000。

【输出】

一个实数zz,表示地球最多养活zz亿人,舍入到小数点后两位。

【输入样例】

110 90 90 210

【输出样例】

75.00

#include<stdio.h>
void main()
{
    int x, a, y, b;
    double z;
    scanf ("%d %d %d %d", &x, &a, &y, &b);
    z = (y * b - x * a) / (b - a);
    printf("%.2lf", z);
}

2064:【例2.1】交换值

【题目描述】

输入两个正整数a和b,试交换a、b的值(使a的值等于b,b的值等于a)。

【输入】

输入两个正整数a和b。

【输出】

输出a与b交换值后的结果。

【输入样例】

2 3

【输出样例】

3 2

 

#include<stdio.h>
void main()
{
    int a, b, c;
    scanf("%d %d", &a, &b);
    c = a;
    a = b;
    b = c;
    printf("%d %d", a, b);
}

2065:【例2.2】整数的和

【题目描述】

求3个整数的和。

输入a、b、c这3个整数,求它们的和。

【输入】

3个整数。

【输出】

三个数的和。

【输入样例】

1 2 3

【输出样例】

6

#include<stdio.h>
void main()
{
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    printf("%d", a + b + c);
}

2066:【例2.3】买图书

【题目描述】

已知小明有n元,他买了一本书,这本书原价为m元,现在打8折出售。求小明还剩多少钱(保留2位小数)。

【输入】

输入n,m。

【输出】

小明还剩多少钱(保留2位小数)。

【输入样例】

100 100

【输出样例】

20.00

#include<stdio.h>
void main()
{
    int n, m;
    double s;
    scanf("%d %d", &n, &m);
    s = n - 0.8 * m;
    printf("%.2lf", s);
}

1006:A+B问题

【题目描述】

大部分的在线题库,都会将A+B问题作为第一题,以帮助新手熟悉平台的使用方法。

A+B问题的题目描述如下:给定两个整数A和B,输出A+B的值。保证A、B及结果均在整型范围内。现在请你解决这一问题。

【输入】

一行,包含两个整数A,B,中间用单个空格隔开。A和B均在整型范围内。

【输出】

一个整数,即A+B的值。保证结果在整型范围内。

【输入样例】

1 2

【输出样例】

3

#include<stdio.h>
void main()
{
    int A, B;
    scanf("%d %d", &A, &B);
    printf("%d", A + B);
}

1007:计算(a+b)×c的值

【题目描述】

给定33个整数a、b、ca、b、c,计算表达式(a+b)×c(a+b)×c的值。

【输入】

输入仅一行,包括三个整数a、b、ca、b、c, 数与数之间以一个空格分开。(-10,000<a,b,c<10,000)(-10,000<a,b,c<10,000)

【输出】

输出一行,即表达式的值。

【输入样例】

2 3 5

【输出样例】

25

#include<stdio.h>
void main()
{
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    printf("%d", (a + b) * c);
}

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

【题目描述】

给定33个整数a、b、ca、b、c,计算表达式a+bca+bc的值。

【输入】

输入仅一行,包括三个整数a、b、ca、b、c, 数与数之间以一个空格分开。(-10,000<a,b,c<10,000-10,000<a,b,c<10,000, cc不等于00)

【输出】

输出一行,即表达式的值。

【输入样例】

1 1 3

【输出样例】

0

#include<stdio.h>
void main()
{
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    printf("%d", (a + b) / c);
}

1009:带余除法

【题目描述】

给定被除数和除数,求整数商及余数。此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。

【输入】

一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。

【输出】

一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。

【输入样例】

10 3

【输出样例】

3 1

#include<stdio.h>
void main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d %d", a / b, a % b);
}

1010:计算分数的浮点数值

【题目描述】

两个整数aa和bb分别作为分子和分母,既分数abab,求它的浮点数值(双精度浮点数,保留小数点后99位)。

【输入】

输入仅一行,包括两个整数aa和bb。

【输出】

输出也仅一行,分数abab 的浮点数值(双精度浮点数,保留小数点后99位)。

【输入样例】

5 7

【输出样例】

0.714285714

#include<stdio.h>
void main()
{
    double a, b;
    scanf("%lf %lf", &a, &b);
    printf("%.9lf", a / b);
}

2067:【例2.5】圆

【题目描述】

输入半径r,输出圆的直径、周长、面积,数与数之间以一个空格分开,每个数保留小数点后4位。

【输入】

输入半径。

【输出】

如题述。数与数之间以一个空格分开。

【输入样例】

1.0

【输出样例】

2.0000 6.2832 3.1416

#include<stdio.h>
void main()
{
    double r;
    scanf("%lf", &r);
    printf("%.4lf %.4lf %.4lf", 2 * r, 2 * 3.1416 * r, 3.1416 * r * r);
}

2068:【例2.6】鸡兔同笼

【题目描述】

数学中经典的“鸡兔同笼”问题,已知头共x个,脚共y只,问笼中的鸡和兔各有多少只?

【输入】

头和脚的数量。

【输出】

鸡和兔各自数量。一个空格隔开。

【输入样例】

30 90

【输出样例】

15 15

#include<stdio.h>
void main()
{
    int x, y;
    scanf("%d %d", &x, &y);
    printf("%d %d", (x * 4 - y) / 2, x - (x * 4 - y) / 2);
}

1011:甲流疫情死亡率

【题目描述】

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

【输入】

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

【输出】

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

【输入样例】

10433 60

【输出样例】

0.575%

#include<stdio.h>
void main()
{
    double a, b;
    scanf("%lf %lf", &a, &b);
    printf("%.3lf%%", (b / a) * 100);
}

1012:计算多项式的值

【题目描述】

对于多项式f(x)=ax3+bx2+cx+df(x)=ax3+bx2+cx+d和给定的a,b,c,d,xa,b,c,d,x,计算f(x)f(x)的值,保留到小数点后77位。

【输入】

输入仅一行,包含55个实数,分别是xx,及参数a、b、c、da、b、c、d的值,每个数都是绝对值不超过100100的双精度浮点数。数与数之间以一个空格分开。

【输出】

输出一个实数,即f(x)f(x)的值,保留到小数点后77位。

【输入样例】

2.31 1.2 2 2 3

【输出样例】

33.0838692

#include<stdio.h>
void main()
{
    double x, a, b, c, d;
    scanf("%lf %lf %lf %lf %lf", &x, &a, &b, &c, &d);
    printf("%.7lf", a * x * x * x + b * x * x + c * x + d);
}

1013:温度表达转化

【题目描述】

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

【输入】

输入一行,包含一个实数FF,表示华氏温度。(F≥−459.67)(F≥−459.67)

【输出】

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

【输入样例】

41

【输出样例】

5.00000

#include<stdio.h>
void main()
{
    double F;
    scanf("%lf", &F);
    printf("%.5lf", 5 * (F - 32) / 9);
}

1014:与圆相关的计算

【题目描述】

给出圆的半径,求圆的直径、周长和面积。输入圆的半径实数r,输出圆的直径、周长、面积,每个数保留小数点后44位。圆周率取值为3.141593.14159。

【输入】

输入包含一个实数r(0<r≤10,000)r(0<r≤10,000),表示圆的半径。

【输出】

输出一行,包含三个数,分别表示圆的直径、周长、面积,数与数之间以一个空格分开,每个数保留小数点后44位。

【输入样例】

3.0

【输出样例】

6.0000 18.8495 28.2743

#include<stdio.h>
void main()
{
    double r;
    scanf("%lf", &r);
    printf("%.4lf %.4lf %.4lf", 2 * r, 2 * r * 3.14159, 3.14159 * r * r);
}

1015:计算并联电阻的阻值

【题目描述】

对于阻值为 r1 和 r2 的电阻,其并联电阻阻值公式计算如下:R=1/r1+1/r2。输入两个电阻阻抗大小,浮点型。输出并联之后的阻抗大小,结果保留小数点后22位。

【输入】

两个电阻阻抗大小,浮点型,以一个空格分开。

【输出】

并联之后的阻抗大小,结果保留小数点后22位。

【输入样例】

1 2

【输出样例】

0.67

#include<stdio.h>
void main()
{
    double r1, r2;
    scanf("%lf %lf", &r1, &r2);
    printf("%.2lf", r1 * r2 / (r1 + r2));
}

1016:整型数据类型存储空间大小

【题目描述】

分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。

【输入】

(无)

【输出】

一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。

【输入样例】

(无)

【输出样例】

(无)

#include<stdio.h>
void main()
{
    int a;
    short b;
    printf("%d %d", sizeof(a), sizeof(b));
}

1017:浮点型数据类型存储空间大小

【题目描述】

分别定义float,double类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。

【输入】

(无)

【输出】

一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。

【输入样例】

(无)

【输出样例】

(无)

#include<stdio.h>
void main()
{
    float a;
    double b;
    printf("%d %d", sizeof(a), sizeof(b));
}

1018:其他数据类型存储空间大小

【题目描述】

分别定义bool,char类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。

【输入】

(无)

【输出】

一行,两个整数,分别是两个变量的存储空间大小,用一个空格隔开。

【输入样例】

(无)

【输出样例】

(无)

#include<stdio.h>
#include<stdbool.h>
void main()
{
    bool a;
    char b;
    printf("%d %d", sizeof(a), sizeof(b));
}

1019:浮点数向零舍入

【题目描述】

输入一个单精度浮点数,将其向零舍入到整数。说明:向零舍入的含义是,正数向下舍入,负数向上舍入。提示:可以使用强制类型转换来实现。

【输入】

一个单精度浮点数。

【输出】

一个整数,即向零舍入到整数的结果。

【输入样例】

2.3

【输出样例】

2

#include<stdio.h>
void main()
{
    float a;
    scanf("%f", &a);
    printf("%d", (int)a);
}

1020:打印ASCII码

【题目描述】

输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码。

【输入】

一个除空格以外的可见字符。

【输出】

一个十进制整数,即该字符的ASCII码。

【输入样例】

A

【输出样例】

65

#include<stdio.h>
void main()
{
    char c;
    scanf("%c", &c);
    printf("%d", c);
}

1021:打印字符

【题目描述】

输入一个整数,即字符的ASCII码,保证存在对应的可见字符。输出相对应的字符。

【输入】

一个整数,即字符的ASCII码,保证存在对应的可见字符。

【输出】

一行,包含相应的字符。

【输入样例】

65

【输出样例】

A

#include<stdio.h>
void main()
{
    int c;
    scanf("%d", &c);
    printf("%c", c);
}

1022:整型与布尔型的转换

【题目描述】

将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?

【输入】

一个整型范围内的整数,即初始时整型变量的值。

【输出】

一个整数,经过上述过程后得到的结果。

【输入样例】

3

【输出样例】

1

#include<stdio.h>
#include<stdbool.h>
void main()
{
    int a, b;
    bool c;
    scanf("%d", &a);
    c = a;
    b = c;
    printf("%d", b);
}

1023:Hello,World!的大小

【题目描述】

我们曾经输出过的“Hello, World!”吗?它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小。

【输入】

(无)

【输出】

一个整数,即“Hello, World!”的大小。

【输入样例】

(无)

【输出样例】

(无)

#include<stdio.h>
void main()
{
    printf("%d", sizeof("Hello, World!"));
}

1024:保留3位小数的浮点数

【题目描述】

读入一个单精度浮点数,保留3位小数输出这个浮点数。

【输入】

只有一行,一个单精度浮点数。

【输出】

也只有一行,读入的单精度浮点数。

【输入样例】

12.34521

【输出样例】

12.345

#include<stdio.h>
void main()
{
    float a;
    scanf("%f", &a);
    printf("%.3f", a);
}

1025:保留12位小数的浮点数

【题目描述】

读入一个双精度浮点数,保留12位小数,输出这个浮点数。

【输入】

只有一行,一个双精度浮点数。

【输出】

也只有一行,保留12位小数的浮点数。

【输入样例】

3.1415926535798932

【输出样例】

3.141592653580

#include<stdio.h>
void main()
{
    double a;
    scanf("%lf", &a);
    printf("%.12lf", a);
}

1026:空格分隔输出

【题目描述】

读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时保留6位小数。

【输入】

第一行是一个字符;

第二行是一个整数;

第三行是一个单精度浮点数;

第四行是一个双精度浮点数。

【输出】

输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。

【输入样例】

a
12
2.3
3.2

【输出样例】

a 12 2.300000 3.200000

#include<stdio.h>
void main()
{
    char c;
    int a;
    float b;
    double d;
    scanf("%c", &c);
    scanf("%d", &a);
    scanf("%f", &b);
    scanf("%lf", &d);
    printf("%c %d %.6f %.6lf", c, a, b, d);
}

1027:输出浮点数

【题目描述】

读入一个双精度浮点数,分别按输出格式“%f”,“%f”保留5位小数,“%e”和“%g”的形式输出这个整数,每次在单独一行上输出。

【输入】

一个双精度浮点数。

【输出】

第一行是按“%f”输出的双精度浮点数;

第二行是按“%f”保留5位小数输出的双精度浮点数;

第三行是按“%e”输出的双精度浮点数;

第四行是按“%g”输出的双精度浮点数。

【输入样例】

12.3456789

#include<stdio.h>
void main()
{
    double b;
    scanf("%lf", &b);
    printf("%f\n", b);
    printf("%.5f\n", b);
    printf("%e\n", b);
    printf("%g\n", b);
}

1028:字符菱形

【题目描述】

给定一个字符,用它构造一个对角线长5个字符,倾斜放置的菱形。

【输入】

输入只有一行, 包含一个字符。

【输出】

该字符构成的菱形。

【输入样例】

*

【输出样例】

  *
 ***
*****
 ***
  *

#include<stdio.h>
void main()
{
    char c;
    int i, j, k;
    scanf("%c", &c);
    for (i = 1; i <= 5; i++)
    {
        for (j = 1; j <= abs(3 - i); j++)
        {
            printf(" ");
        }
        for (k = 1; k <= 5 - abs(3 - i) * 2; k++)
        {
            printf("%c", c);
        }
        printf("\n");
    }
}

2070:【例2.13】数字对调

【题目描述】

输入一个三位数,要求把这个数的百位数与个位数对调,输出对调后的数。

【输入】

三位数。

【输出】

如题述结果。

【输入样例】

123

【输出样例】

321

#include<stdio.h>
void main()
{
    int a, g, s, b;
    scanf("%d", &a);
     g = a % 10;
    s = a / 10 % 10;
    b = a / 100;
    printf("%d", g * 100 + s * 10 + b);
}

2071:【例2.14】平均分

【题目描述】

已知某班有男同学x位,女同学y位,x位男生平均分是87分,y位女生的平均分是85,问全体同学平均分是多少分?

【输入】

男女同学人数。

【输出】

平均分(保留4位小数)。

【输入样例】

2 3

【输出样例】

85.8000

#include<stdio.h>
void main()
{
    double x, y;
    scanf("%lf %lf", &x, &y);
    printf("%.4lf", (x * 87 + y * 85) / (x + y));
}

2072:【例2.15】歌手大奖赛

【题目描述】

歌手大奖赛上6名评委给一位参赛者打分,6个人打分的平均分为9.6分;如果去掉一个最高分,这名参赛者的平均分为9.4分;如果去掉一个最低分,这名参赛者的平均分为9.8分;如果去掉一个最高分和一个最低分,这名参赛者的平均是多少?

【输入】

(无)

【输出】

使用%5.2f按实数格式输出,保留2位小数。

【输入样例】

(无)

【输出样例】

(无)

#include<stdio.h>
void main()
{
    float a, b, c;
    a = 6 * 9.6;
    b = 5 * 9.4;
    c = 5 * 9.8;
    printf("%5.2f", (a - (a - b) - (a - c)) / 4);
}

2073:【例2.16 】三角形面积

【题目描述】

传说古代的叙拉古国王海伦二世发现的公式,利用三角形的三条边长来求取三角形面积。已知△ABC中的三边长分别为a,b,c,求△ABC的面积。

提示:海伦公式

s=√p(p−a)(p−b)(p−c),其中p=a+b+c2p=a+b+c2。

【输入】

三角形的三条边长。

【输出】

面积。(保留3位小数)

【输入样例】

2.1 3.1 4.1

【输出样例】

3.179

#include<stdio.h>
#include<math.h>
void main()
{
    double a, b, c, p;
    scanf("%lf %lf %lf", &a, &b, &c);
    p = (a + b + c) / 2;
    printf("%.3lf", sqrt(p * (p - a) * (p - b) * (p - c)));
}

1029:计算浮点数相除的余

【题目描述】

计算两个双精度浮点数aa和bb的相除的余数,aa和bb都是双精度浮点数。这里余数(r)(r)的定义是:a=k×b+ra=k×b+r,其中kk是整数,0≤r<b0≤r<b。

【输入】

输入仅一行,包括两个双精度浮点数aa和bb。

【输出】

输出也仅一行,a÷ba÷b的余数。

【输入样例】

73.263 0.9973

【输出样例】

0.4601

#include<stdio.h>
int main(void)
{
    double a, b;
    scanf("%lf %lf", &a, &b);
    int m = a / b;
    printf("%g", a - m * b); //%g:去除多余的0
    return 0;
}

1030:计算球的体积

【题目描述】

对于半径为 rr 的球,其体积的计算公式为V=43πr3V=43πr3,这里取 π=3.14π=3.14。现给定 rr,即球半径,类型为double,求球的体积VV,保留到小数点后22位。

【输入】

输入为一个不超过 100100 的非负实数,即球半径,类型为double。

【输出】

输出一个实数,即球的体积,保留到小数点后 22 位。

【输入样例】

4

【输出样例】

267.95

#include<stdio.h>
int main(void)
{
    double r;
    scanf("%lf", &r);
    printf("%.2lf", 4 * 3.14 * r * r * r / 3);
    return 0;
}

1031:反向输出一个三位数

【题目描述】

将一个三位数反向输出,例如输入358,反向输出853。

【输入】

一个三位数n。

【输出】

反向输出n。

【输入样例】

100

【输出样例】

001

//2023/9/4 1031
#include<stdio.h>
int main(void)
{
    int n, g, s, b;
    scanf("%d", &n);
    g = n % 10;
    s = n / 10 % 10;
    b = n / 100;
    printf("%d%d%d", g, s, b);
    return 0;
}

1032:大象喝水查

【题目描述】

一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水才会解渴。

【输入】

输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米。

【输出】

输出一行,包含一个整数,表示大象至少要喝水的桶数。

【输入样例】

23 11

【输出样例】

3

//2023/9/4 1032
#include<stdio.h>
void main()
{
    int h, r, k;
    double v;
    scanf("%d %d", &h, &r);
    v = h * 3.14 * r * r;
    k = 20000 / v;
    if ((20000 - k * v) != 0)
        printf("%d", k + 1);
    else
        printf("%d", k);
}

1033:计算线段长度

【题目描述】

已知线段的两个端点的坐标A(Xa,Ya),B(Xb,Yb),求线段AB的长度,保留到小数点后33位。

【输入】

第一行是两个实数(Xa,Ya)即A的坐标。

第二行是两个实数(Xb,Yb)即B的坐标。

输入中所有实数的绝对值均不超过1000010000。

【输出】

一个实数,即线段AB的长度,保留到小数点后33位。

【输入样例】

1 1
2 2

【输出样例】

1.414

//2023/9/4 1033
#include<stdio.h>
#include<math.h>
int main(void)
{
    double a, b, c, d, x, y;
    scanf("%lf %lf", &a, &b);
    scanf("%lf %lf", &c, &d);
    x = (a - c) * (a - c);
    y = (b - d) * (b - d);
    printf("%.3lf", sqrt(x + y));
    return 0;
}

1034:计算三角形面积

【题目描述】

平面上有一个三角形,它的三个顶点坐标分别为(x1,y1),(x2,y2),(x3,y3),那么请问这个三角形的面积是多少,精确到小数点后两位。

【输入】

输入仅一行,包括66个单精度浮点数,分别对应x1,y1,x2,y2,x3,y3。

【输出】

输出也是一行,输出三角形的面积,精确到小数点后两位。

【输入样例】

0 0 4 0 0 3

【输出样例】

6.00

#include<stdio.h>
#include<math.h>
int main(void)
{
    double a, b, c, d, e, f, x, y, z, p, s;
    scanf("%lf %lf %lf %lf %lf %lf", &a, &b, &c, &d, &e, &f);
    x = sqrt((a - c) * (a - c) + (b - d) * (b - d));
    y = sqrt((a - e) * (a - e) + (b - f) * (b - f));
    z = sqrt((c - e) * (c - e) + (d - f) * (d - f));
    p = (x + y + z) / 2.0;
    s = sqrt(p * (p - x) * (p - y) * (p - z));
    printf("%.2lf", s);
    return 0;
}

1035:等差数列末项计算

【题目描述】

给出一个等差数列的前两项a1,a2,求第nn项是多少。

【输入】

一行,包含三个整数a1,a2,n,n。−100≤a1,a2≤100,0<n≤1000。

【输出】

一个整数,即第n项的值。

【输入样例】

1 4 100

【输出样例】

298

#include<stdio.h>
int main(void)
{
    int a1, a2, n;
    scanf("%d %d %d", &a1, &a2, &n);
    printf("%d", a1 + (n - 1) * (a2 - a1));
    return 0;
}

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值