栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

牛客网-C语言编程入门训练

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

牛客网-C语言编程入门训练

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 1、BC1 Hello Nowcoder
  • 2、BC2 小飞机
  • 3、BC3 牛牛学说话之-整数
  • 4、BC4 牛牛学说话之-浮点数
  • 5、BC5 牛牛学说话之-字符
  • 6、BC6 牛牛的第二个整数
  • 7、BC7 牛牛的字符矩形
  • 8、BC8 牛牛的字符菱形
  • ※9、BC9 字符转ASCII码
  • ※10、BC10 实现四舍五入
  • 11、BC11 成绩输入输出
  • ※12、BC12 学生基本信息输入输出
  • ※13、BC13 出生日期输入输出
  • 14、BC14 按照格式输入并交换输出
  • ※15、BC15 大小写转换
  • ※16、BC16 十六进制转十进制
  • ※17、BC17 缩短二进制
  • 18、BC18 牛牛的空格分隔
  • 19、BC19 牛牛的对齐
  • 20、BC20 进制A+B
  • 21、BC21 牛牛学加法
  • 22、BC22 牛牛学除法
  • 23、BC23 牛牛学取余
  • 24、BC24 浮点数的个位数字
  • 25、BC25 牛牛买电影票
  • 26、BC26 计算带余除法
  • 27、BC27 整数的个位
  • 28、BC28 整数的十位
  • ※29、BC29 开学?
  • ※30、BC30 时间转换


1、BC1 Hello Nowcoder

描述:

输出"Hello Nowcoder!"。开始你的编程之旅吧。

#include 

int main() {
    printf("Hello Nowcoder!");
    return 0;
}

2、BC2 小飞机

描述:

KiKi学会了printf在屏幕输出信息,他想输出一架小飞机。请帮他编写程序输出这架小飞机。

#include 
int main() {
    printf("     **n");
    printf("     **n");
    printf("************n");
    printf("************n");
    printf("    *  *n");
    printf("    *  *n");
    return 0;
}

3、BC3 牛牛学说话之-整数

描述:

牛牛刚刚出生,嗷嗷待哺,一开始他只能学说简单的数字,你跟他说一个整数,他立刻就能学会。

输入一个整数,输出这个整数。

#include 

int main() {
    int num = 0;
    scanf("%d", &num);
    printf("%d", num);
    return 0;
}

4、BC4 牛牛学说话之-浮点数

描述:

会说整数之后,牛牛开始尝试浮点数(小数)

输入一个浮点数,输出这个浮点数。

#include 

int main() {
    float num = 0.0F;
    scanf("%f", &num);
    printf("%.3f", num);
    return 0;
}

5、BC5 牛牛学说话之-字符

描述:

会说浮点数之后,牛牛开始尝试字符

输入一个字符,输出这个字符。

#include 

int main() {
    char ch = 0;
    scanf("%c", &ch);
    printf("%c", ch);
    return 0;
}

6、BC6 牛牛的第二个整数

描述:

牛牛从键盘上输入三个整数,并尝试在屏幕上显示第二个整数。

输入描述:

一行输入 3 个整数,用空格隔开。

输出描述:

请输出第二个整数的值。

#include 

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

7、BC7 牛牛的字符矩形

描述:

牛牛尝试用键盘读入一个字符,然后在屏幕上显示用这个字符组成的 3*3 的

矩形。

输入描述:

一行读入一个 char 类型的字符。

输出描述:

输出这个字符组成的 3*3 矩形。

#include 

int main() {
    char ch = '0';
    scanf("%c", &ch);
    printf("%c%c%cn", ch, ch, ch);
    printf("%c%c%cn", ch, ch, ch);
    printf("%c%c%cn", ch, ch, ch);
    return 0;
}

8、BC8 牛牛的字符菱形

描述:

牛牛尝试用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对

角线长5个字符,倾斜放置的菱形。

输入描述:

输入一个char类型字符

输出描述:

输出一个用这个字符填充的对角线长5个字符,倾斜放置的菱形

#include 

int main() {
    char ch = '0';
    scanf("%c", &ch);
    printf("  %cn", ch);
    printf(" %c%c%cn", ch, ch, ch);
    printf("%c%c%c%c%cn", ch, ch, ch, ch, ch);
    printf(" %c%c%cn", ch, ch, ch);
    printf("  %cn", ch);
    return 0;
}

※9、BC9 字符转ASCII码

描述:

BoBo教KiKi字符常量或字符变量表示的字符在内存中以ASCII码形式存储。

BoBo出了一个问题给KiKi,输入一个字符,输出该字符相应的ASCII码。

输入描述:

一行,一个字符。

输出描述:

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

#include 

int main() {
    char ch;
    scanf("%c", &ch);
    printf("%d", ch);
    return 0;
}

※10、BC10 实现四舍五入

描述:

将浮点数转换为整数类型,要求四舍五入。

输入描述:

随机输入的浮点数

输出描述:

四舍五入之后的整数

#include 

int main() {
    float num = 0.0f;
    int result = 0;
    scanf("%f", &num);
    if (num > 0) {
        result = (int) (num + 0.5);
    } else {
        result = (int) (num - 0.5);
    }
    printf("%d", result);
    return 0; 
}

11、BC11 成绩输入输出

描述:

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

数据范围: 0≤n≤100

输入描述:

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

输出描述:

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

# include 

int main() {
    int score1 = 0;
    int score2 = 0;
    int score3 = 0;
    scanf("%d %d %d", &score1, &score2, &score3);
    printf("score1=%d,score2=%d,score3=%d", score1, score2, score3);
    return 0;
}

※12、BC12 学生基本信息输入输出

描述:

依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科

成绩(注:输出成绩时需进行四舍五入且保留2位小数)

数据范围:学号满足 1≤n≤20000000 ,各科成绩使用百分制,且不可能出现负

数

输入描述:

学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开

输出描述:

学号,3科成绩,输出格式详见输出样例

#include 

int main() {
    int stu_id;
    double c_score;
    double math_score;
    double english_score;
    scanf("%d;%lf,%lf,%lf", &stu_id, &c_score, &math_score, &english_score);
    c_score = (int)(c_score * 100 + 0.5)/ 100.0;
    math_score = (int)(math_score * 100 + 0.5)/ 100.0;
    english_score = (int)(english_score * 100 + 0.5)/ 100.0;
    printf("The each subject score of No. %d is %.2lf, %.2lf, %.2lf.", stu_id, c_score, math_score, english_score);
    return 0;
}

注意:要着重学会对小数中四舍五入的处理方法,若为正数通常加 0.5 , 若为负数通常减 0.5!


※13、BC13 出生日期输入输出

描述:

输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。

数据范围:年份满足 1990≤y≤2015 ,月份满足 1≤m≤12 ,日满足

1≤d≤30

输入描述:

输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符

输出描述:

三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,

需要在1位数前面补0

#include 

int main() {
    int year;
    int month;
    int date;
    scanf("%4d%2d%2d", &year, &month, &date);
    printf("year=%dnmonth=%.2dndate=%.2dn", year, month, date);
    return 0;
}

注意:%d就是普通的输出了整形数

注意:%2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格

注意:%-2d将数字按宽度为2,采用左对齐方式输出,若数据位数不到2位,则右边补空格

注意:%02d,和%2d差不多,只不过左边补0

注意:%.2d 输出整形时最少输出2位,如不够前面以0占位。如输出2时变成02,200时只输出200;输出浮点型时(%.2f)小数点后强制2位输出


14、BC14 按照格式输入并交换输出

描述:

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

输入描述:

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

输出描述:

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

#include 

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

※15、BC15 大小写转换

描述:

实现字母的大小写转换。多组输入输出

输入描述:

多组输入,每一行输入大写字母

输出描述:

针对每组输入输出对应的小写字母

#include 

int main() {
    char ch;
    while ((ch = getchar()) != EOF) {
        ch += 32;
        getchar();
        printf("%cn", ch);
    }
    return 0;
}

多组输入过程中要注意“回车”也是字母,所以要“吸收”(getchar())掉该字母


※16、BC16 十六进制转十进制

描述:

BoBo写了一个十六进制整数ABCDEF,他问KiKi对应的十进制整数是多少。

输入描述:

无

输出描述:

十六进制整数ABCDEF对应的十进制整数,所占域宽为15。

#include 

int main() {
    int num = 0xABCDEF;
    printf("%15d", num);
    return 0;
}

※17、BC17 缩短二进制

描述:

我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。

输入描述:

无

输出描述:

十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。

#include 

int main() {
    int num = 1234;
    printf("%#o %#X", num, num);
    return 0;
}

printf(“%#Xn”,47);
输出结果为: 0x2F %#X推荐使用


18、BC18 牛牛的空格分隔

描述:

牛牛从键盘读入一个字符,一个整数,一个单精度浮点数,按顺序输出它们,并用空格分隔,浮点数保留 6 位小数。

输入描述:

读入一个字符,一个整数,一个单精度浮点数用换行符隔开

输出描述:

按顺序输出字符、整数、单精度浮点数,用空格分隔,浮点数保留 6 位小数

#include 

int main() {
    char a;
    int b;
    float c;
    scanf("%cn%dn%f", &a, &b, &c);
    printf("%c %d %.6f", a, b, c);
    return 0;
}

19、BC19 牛牛的对齐

描述:

读入 3 个整数,牛牛尝试以后两个数字占 8 个空格的宽度靠右对齐输出。

输入描述:

输入三个整数,用空格隔开。

输出描述:

输出 3 个整数以第二三个数字占 8 个空格靠右对齐输出

# include 

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

20、BC20 进制A+B

描述:

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

输入描述:

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

输出描述:

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

#include 

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

21、BC21 牛牛学加法

描述:

给你两个整数,要求输出这两个整数的和

输入描述:

输入两个整数 a, b (0 <= a, b <= 1000)

输出描述:

输出一个整数

#include 

int main() {
    int a;
    int b;
    scanf("%d %d",&a, &b);
    printf("%d", a + b);
    return 0;
}

22、BC22 牛牛学除法

描述:

输入两个整数a, b, 输出a/b的值,只保留整数部分

输入描述:

输入两个整数,在int范围内

输出描述:

输出一个整数

#include 

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

23、BC23 牛牛学取余

描述:

输入两个整数a, b, 输出a 除以b的余数,5除以2的余数为1,10除以4的余数为2

输入描述:

输入两个整数,在int范围内

输出描述:

输出一个整数

#include 

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

24、BC24 浮点数的个位数字

描述:

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

数据范围:0

输入描述:

一行,包括一个浮点数。

输出描述:

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

#include 

int main() {
    int a;
    float num; 
    scanf("%f",&num);
    a = (int) num;
    printf("%d", a % 10);
    return 0;
}

25、BC25 牛牛买电影票

描述:

牛牛正在给他的朋友们买电影票,已知一张电影票价是100元,计算 x 位朋友的总票价是多少?

输入描述:

输入一个正整数 x ,表示牛牛的朋友个数

输出描述:

输出总票价 (牛牛不需要给自己买票)

# include 

int main() {
    int num;
    scanf("%d", &num);
    printf("%d", 100 * num);
    return 0;
}

26、BC26 计算带余除法

描述:

牛牛正在给他的朋友们买电影票,已知一张电影票价是100元,计算 x 位朋友的总票价是多少?

输入描述:

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

输出描述:

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

# include 

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

27、BC27 整数的个位

描述:

输入一个整数a, 求个位数

输入描述:

输入一个整数,在int范围内

输出描述:

输出一个整数

# include 
int main() {
    int a;
    scanf("%d", &a);
    printf("%d", a % 10);
    return 0; 
}

28、BC28 整数的十位

描述:

输入一个整数,求其十位数

输入描述:

输入一个整数,在int范围内

输出描述:

输出一个整数

# include 
int main() {
    int a;
    scanf("%d", &a);
    printf("%d", (a / 10) % 10);
    return 0; 
}

※29、BC29 开学?

描述:

小S:终于可以开学啦!好开心啊!
小Y:你没看新闻吗,开学日期又延后了。
小S:NOOOOOOOOOOOOOOOO!
小S知道原计划星期X开学,通知开学时间延期N天,请问开学日期是星期几(星期日用7表示)?

输入描述:

输入包含两个数字X,N(1≤X≤7, 1≤N≤1000)。

输出描述:

输出一个数字,表示开学日期是星期几。

# include 
int main() {
    int a;
    int b;
    int c;
    scanf("%d %d", &a, &b);
    c = (a + b) % 7;
    if (c == 0) {
        c = 7;
    }
    printf("%dn", c);
    return 0; 
}

※30、BC30 时间转换

描述:

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

数据范围: 0 输入描述:

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

输出描述:

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

#include 

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018103.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号