初级—编程练习题(牛客网)

1.求两个数的较大值

内容:写一个函数求两个整数的较大值

如:

输入:10 20

输出较大值:20

/*
解题思路:本题目主要是考察函数的声明定义,题目比较简单,请参考以下实现。
*/
int get_max(int x, int y)
{
    if(x > y)
        return x;
    else 
        return y;
}
int main()
{
    int num1 = 10;
    int num2 = 20;
    //输入两个数的值
    scanf("%d%d", &num1, &num2);
    //要求:完成get_max函数
    int max = get_max(num1, num2);
    printf("max = %d\n", max);
	return 0;
}

2.BC18-计算带余除法

描述

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

输入描述:

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

输出描述:

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

#include <stdio.h>

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

3.BC17-计算表达式的值

描述

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

#include <stdio.h>
int main()
{
    int a = 40;
    int c = 212;
    int ret = (-8+22)*a-10+c/2;
    printf("%d\n", ret);
    return 0;
}

4.下面代码的结果是什么?( )

#include <stdio.h>
int sum(int a)
{
    int c = 0;
    static int b = 3;
    c += 1;
    b += 2;
    return (a + b + c);
}
int main()
{
    int i;
    int a = 2;
    for (i = 0; i < 5; i++) 
    { 
        printf("%d,", sum(a)); 
    } 
} 

结果为:8,10,12,14,16

过程:

  第一次循环:a=2 b=5 c=1 a+b+c=8

  第二次循环:a=2 b=7 c=1 a+b+c=10

  第二次循环:a=2 b=9 c=1 a+b+c=12

  第二次循环:a=2 b=11 c=1 a+b+c=14

  第二次循环:a=2 b=13 c=1 a+b+c=16

5.BC84 计算y的值

描述

已知一个函数y=f(x),当x < 0时,y = 1;当x = 0时,y = 0;当x > 0时,y = -1。   

输入描述:

一行,输入一个整数x。(-10000<x<10000)

输出描述:

一行,输出y的值。

#include<stdio.h>
int main()
{
    int a = 0;
    scanf("%d", &a);
    if(a<0)
    {
        printf("1");
    }
    else if(a == 0)
    {
        printf("0");
    }
    else
    {
        printf("-1");
    }
    return 0;
}

6.BC23 时间转换

描述:

给定秒数 seconds ,把秒转化成小时、分钟和秒。

数据范围: 0 < seconds < 100000000\0<seconds<100000000 

输入描述:

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

输出描述:

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

#include <stdio.h>
int main()
{
    int h,m,s;
    scanf("%d", &s);
    h = s/60/60;     //小时
    m = s/60%60;     //分钟
    s = s % 60;      //秒
    printf("%d %d %d \n", h, m, s);
    return 0;
}

7.BC33 计算平均成绩

描述

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

输入描述:

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

输出描述:

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

#include<stdio.h>
int main()
{
	int score[5] = { 0 };
	int i = 0;
	int sum = 0;
    //每输入一个分数,则加到sum里面,循环5次
	for (i = 0; i < 5; i++)
	{
		scanf("%d", &score[i]);
		sum += score[i];
	}
	double aver = sum / 5.0;
	printf("%.1lf\n", aver);

	return 0;
}

8.BC32 输出学生信息

描述

学生信息管理系统是学校教学管理的重要工具,现有一名学生基本信息如下:姓名-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;
}

9.BC19 反向输出一个四位数

描述

将一个四位数,反向输出。

输入描述:

一行,输入一个整数n(1000 <= n <= 9999)。

输出描述:

针对每组输入,反向输出对应四位数。

#include <stdio.h>
1
 int main() 
 {
     int a = 0;
     scanf("%d", &a);

     while(a)
     {
         printf("%d", a%10);
         a /= 10;
     }
     return 0;
}
2
int main()
{
    int a = 0;
    scanf("%d", &a);
    int i = 0;
    for(i = 0; i < 4; i++)
    {
        printf("%d", a%10);
        a /= 10;
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dream wings

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值