C语言练习题110例(二)

11.2的n次方计算

题目描述:

不用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。

输入描述:

多组输入,每一行输入整数n(0 <= n < 31)。

输出描述:

针对每组输入输出对应的2的n次方的结果。

输入:

2

10

输出:

4

1024

参考代码:

#include 

int main()
{
    int n = 0;
    while (scanf("%d", &n) != EOF )
    {
        n = 1 << n;
        printf("%d\n", n);
    }
    return 0;
}

12.按照格式输入并交换输出

题目描述:

输入两个整数,范围-231~231-1,交换两个数并输出。

输入描述:

输入只有一行,按照格式输入两个整数,范围,中间用“,”分隔。

输出描述:

把两个整数按格式输出,中间用“,”分隔。

输入:

a=1,b=2

输出:

a=2,b=1

参考代码:

#include 

int main()
{
    int a = 0;
    int b = 0;
    scanf("a=%d,b=%d",&a, &b);
    int c = 0;
    c = a;
    a = b;
    b = c;
    printf("a=%d,b=%d\n", a , b);
    return 0;
}

13.字符转ASCII码

题目描述

BoBo教KK字符常量或字符变量表示的字符在内存中以ASCII码形式存储。BoBo出了一个问题给KK,输入一个字符,输出该字符相应的ASCII码。

输入描述:

一行,一个字符。

输出描述:

一行,输出输入字符对应的ASCII码。

输入:

c

输出:

99

参考代码:

#include 

int main()
{
    char ch = 0;
    ch = getchar();
    printf("%d\n",ch);
    return 0;
}

14.计算机表达式的值

题目描述:

请计算表达式“(-8+22)×a-10+c÷2”,其中,a = 40,c = 212。

输入描述:

无。

输出描述:

(-8+22)×a-10+c÷2计算之后的结果,为一个整数。

参考代码:

#include 

int main()
{
    int a = 40;
    int c = 212;
    printf("%d\n",(-8 + 22)*a - 10 + c/2);
    return 0;
}

15.计算带余除法

题目描述

给定两个整数a和b (-10,000 < a,b < 10,000),计算a除以b的整数商和余数。

输入描述:

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

输出描述:

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

输入:

15 2

输出:

7 1

参考代码:

#include 

int main()
{
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);
    printf("%d %d\n",a/b, a%b);
    return 0;
}

16.计算体重指数

题目描述:

问题:计算BMI指数(身体质量指数)。BMI指数(即身体质量指数,简称体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。主要用于统计用途,当我们需要比较及分析一个人的体重对于不同高度的人所带来的健康影响时,BMI值是一个中立而可靠的指标。

输入描述:

一行,两个整数,分别表示体重(公斤),身高(厘米),中间用一个空格分隔。

输出描述:

一行,BMI指数(保留两位小数)。

输入:

70 170

输出:

24.22

参考代码

#include 

int main()
{
    int weight = 0.0;
    int high = 0.0;
    double bmi = 0.0;
    scanf("%d %d",&weight, &high);
    bmi = weight / ((high / 100.0) * (high / 100.0));
    printf("%.2lf\n", bmi);
    return 0;
}

17.计算三角形的周长和面积

题目描述:

根据给出的三角形3条边a, b, c(0 < a, b, c < 100,000),计算三角形的周长和面积。

输入描述:

一行,三角形3条边(能构成三角形),中间用一个空格隔开。

输出描述:

一行,三角形周长和面积(保留两位小数),中间用一个空格隔开,输出具体格式详见输出样例。

输入:

3 3 3

输出:

circumference=9.00 area=3.90

参考代码:

#include 
#include 

int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    scanf("%d %d %d", &a, &b, &c);
    double circuference = a + b + c;
    double p = circuference / 2;
    double area =  sqrt(p*(p-a)*(p-b)*(p-c)); //海伦公式
    printf("circuference=%.2lf area=%.2lf\n", circuference, area);
    return 0;
}

18.计算球体的体积

题目描述:

给定一个球体的半径,计算其体积。其中球体体积公式为V = 4/3*πr^3,其中 π= 3.1415926。

输入描述:

一行,用浮点数表示的球体的半径。

输出描述:

一行,球体的体积,小数点后保留3位。

输入:

3.0

输出:

113.097

参考代码:

#include 

int main()
{
    double r = 0;
    double pi = 3.1415926;
    double v = 0;
    scanf("%lf", &r);
    v = (4 / 3.0) * pi * (r * r * r);
    printf("%.3lf\n", v);
}

19.成绩的输入输出

题目描述:

输入3科成绩,然后把三科成绩输出,成绩为整数形式。

输入描述:

一行,3科成绩,用空格分隔,范围(0~100)。

输出描述:

一行,把3科成绩显示出来,输出格式详见输出样例。

输入:

60 80 90

输出:

score1=60,score2=80,score3=90

参考代码:

#include 

int main()
{
    int score[3] = { 0 };
    int i = 0;
    for ( i = 0; i < 3; i++)
    {
        scanf("%d", &score[i]);
    }
    printf("score1=%d,score2=%d,score3=%d\n",score[0],score[1],score[2]);
    return 0;
}

20.变种水仙花数

题目描述:

变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。

例如:

655 = 6 * 55 + 65 * 5

1461 = 1461 + 1461 + 146*1

求出 5位数中的所有 Lily Number。

输入描述:

输出描述:

一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格。

参考代码:

#include 

int main()
{
    int i = 0;
    for (i = 10000; i < 100000; i++)
    {
        int j = 0;
        int sum = 0;
        for (j = 10; j <= 10000; j*=10)
        {
            sum += (i / j) * (i % j);
        }
        if(sum==i)
            printf("%d ",sum);
    }
    return 0;
}

C语言练习题例110例【21-30】

你可能感兴趣的:(c语言,算法,数据结构)