C语言练习题110例(三)

21.浮点数的各位数字

题目描述:

给定一个浮点数,要求得到该浮点数的个位数。

输入描述:

一行,包括一个浮点数。

输出描述:

一行,包括一个整数,为输入浮点数对应的个位数。

输入:

13.141

输出:

3

参考代码:

#include <stdio.h>

int main()
{
    double n = 0;
    scanf("%lf",&n);
    printf("%d\n", (int)n%10);
    return 0;
}

22.你能活多少秒?

题目描述:

问题:一年约有3.156x10^7s,要求输入您的年龄,显示该年龄合多少秒。

输入描述:

一行,包括一个整数age(0<age<=200)。

输出描述:

一行,包括一个整数,输出年龄相对应的秒数。

输入:

20

输出:

631200000

参考代码:

#include <stdio.h>

int main()
{
    int age = 0;
    scanf("%d", &age);
    int sum = age * 3.156e7;
    printf("%d\n", sum);
    return 0;
}

23.时间转换

题目描述:

给定秒数seconds (0< seconds < 100,000,000),把秒转化成小时、分钟和秒。

输入描述:

一行,包括一个整数,即给定的秒数。

输出描述:

一行,包含三个整数,依次为输入整数对应的小时数、分钟数和秒数(可能为零),中间用一个空格隔开。

输入:

3661

输出:

1 1 1

参考代码:

#include <stdio.h>

int main()
{
    int input = 0;
    int hour = 0;
    int minute = 0;
    int seconds = 0;
    scanf("%d", &input);
    hour = input / 60 / 60;
    minute = input / 60 % 60;
    seconds = input % 60;
    printf("%d %d %d ",hour, minute, seconds );
    return 0;
}

24.总成绩和平均分计算

题目描述:

依次输入一个学生的3科成绩,在屏幕上输出该学生的总成绩以及平均成绩。

输入描述:

一行,3科成绩,成绩之间用一个空格隔开。

输出描述:

一行,总成绩和平均成绩(小数点后保留两位),用一个空格隔开。

输入:

79.5 80.0 98.0

输出:

257.50 85.83

参考代码:

#include <stdio.h>

int main()
{
    double score = 0.0;
    double sum = 0.0;
    double avg = 0.0;
    int i = 0;

    for (i = 0; i < 3; i++)
    {
        scanf("%lf", &score);
        sum += score;
    }
    avg = sum / 3.0;
    printf("%.2lf %.2lf\n", sum , avg);
    return 0;
}

25.KK喝酸奶

题目描述:

BoBo买了一箱酸奶,里面有n盒未打开的酸奶,KK喜欢喝酸奶,第一时间发现了酸奶。KK每h分钟能喝光一盒酸奶,并且KK在喝光一盒酸奶之前不会喝另一个,那么经过m分钟后还有多少盒未打开的酸奶?

输入描述:

多组输入,每组输入仅一行,包括n,h和m(均为整数)。输入数据保证m <= n * h。

输出描述:

针对每组输入,输出也仅一行,剩下的未打开的酸奶盒数。

输入:

8 5 16

输出:

4

参考代码:

#include <stdio.h>

int main()
{
    int n = 0;
    int h = 0;
    int m = 0;
    while (scanf("%d %d %d", &n, &h, &m) != EOF )
    {
        if (m % h)
        {
            printf("%d\n",n - m/h -1);
        }
        else
        {
            printf("%d\n", n - m / h);
        }
    }
    return 0;
}

26.发布会信息

题目描述:

你的手机丢了,在屏幕上输出信息告诉大家。

输入描述:

输出描述:

I lost my cellphone!

参考代码:

#include <stdio.h>

int main()
{
    printf("I lost my cellphone!");
    return 0;
}

27.输出学生信息

题目描述:

学生信息管理系统是学校教学管理的重要工具,现有一名学生基本信息如下:姓名-Jack,年龄-18,性别-Man,请按照输出样例的格式输出该学生的信息。

输入描述:

输出描述:

输出分为三行,分别为标题行,分隔行,信息行。

第一行,标题行,每个标题之间间隔4个空格。

第二行,分隔行,一共21个减号"-"。

第三行,信息行,每列输出信息和标题首字母对齐。输出样例如下:

Name Age Gender


Jack 18 man

参考代码:

#include <stdio.h>

int main()
{
    printf("Name   Age   Gender\n");
    printf("---------------------\n");
    printf("Jack   18     man\n");
    return 0;
}

28.计算平均成绩

题目描述:

从键盘输入5个学生的成绩(整数),求他们的平均成绩(浮点数,保留一位小数)

输入描述:

一行,连续输入5个整数(范围0~100),用空格分隔。

输出描述:

一行,输出5个数的平均数(保留一位小数)。

输入:

75 80 43 67 96

输出:

72.2

参考代码:

#include <stdio.h>

int main()
{
    int score = 0 ;
    int i = 0;
    int sum = 0;
    double avg = 0.0;
    for (i = 0; i < 5; i++)
    {
        scanf("%d", &score);
        sum += score;
    }
    avg = sum / 5.0;
    printf("%.1lf\n", avg);
    return 0;
}

29.进制A+B

题目描述:

输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果(范围-231~231-1)。

输入描述:

一行,一个十六进制数a,和一个八进制数b,中间间隔一个空格。

输出描述:

一行,a+b的十进制结果。

输入:

0x12 05

输出:

23

参考代码:

#include <stdio.h>

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

30.网购

题目描述:

KK非常喜欢网购,在一家店铺他看中了一件衣服,他了解到,如果今天是“双11”(11月11日)则这件衣服打7折,“双12” (12月12日)则这件衣服打8折,如果有优惠券可以额外减50元(优惠券只能在双11或双12使用),求KK最终所花的钱数。

输入描述:

一行,四个数字,第一个数表示小明看中的衣服价格,第二和第三个整数分别表示当天的月份、当天的日期、第四个整数表示是否有优惠券(有优惠券用1表示,无优惠券用0表示)。

输出描述:

一行,小明实际花的钱数(保留两位小数)。(提示:不要指望商家倒找你钱)

示例1

输入:

1000.0 11 11 1

输出:

650.00

示例2

输入:

999.8 12 12 0

输出:

799.84

示例3

输入:

66.6 11 11 1

输出:

0.00

参考代码:

#include <stdio.h>

int main()
{
    double price = 0;
    int month = 0;
    int day = 0;
    int flag = 0;
    scanf("%lf %d %d %d", &price, &month, &day, &flag);
    if (month == 11 && day == 11)
    {
        price *= 0.7;
        if (flag = 1)
        {
            price -= 50;
        }
    }
    else if (month == 12 && day == 12)
    {
        price *= 0.8;
        if (flag == 1)
        {
            price -= 50;
        }
    }
    if (price < 0.0)
         price = 0.0;

    printf("%.2lf\n", price);
    return 0;
}

C语言练习题110例【31-40】

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值