> 文档中心 > C语言入门必刷题-牛客网精选5道

C语言入门必刷题-牛客网精选5道

目录

1.BC12 学生基本信息输入输出

2.BC89 包含数字9的数

3.BC29 开学?

4.BC77 简单计算器

5.BC140 杨辉三角


1.BC12 学生基本信息输入输出

描述

依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩(注:输出成绩时需进行四舍五入且保留2位小数)。

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

输入描述:

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

输出描述:

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

示例1

输入:17140216;80.845,90.55,100.00

输出:The each subject score of No. 17140216 is 80.85, 90.55, 100.00.

示例2

输入:123456;93.33,99.99,81.20

输出:The each subject score of No. 123456 is 93.33, 99.99, 81.20.

#includeint main(){    int num=0;    float Clanguage=0;    float math=0;    float Eeglish=0;    scanf("%d;%f,%f,%f",&num,&Clanguage,&math,&Eeglish);    printf("The each subject score of No. %d is %.2f, %.2f, %.2f.",num,Clanguage,math,Eeglish);    return 0;}

2.BC89 包含数字9的数

描述

今年是2019年,KiKi想知道1~2019中有多少个包含数字9的数。包含数字的数是指有某一位是“9”的数,例如“2019”、“199”等。

输入描述:

输出描述:

一行,一个整数,表示1~2019中共有多少个数包含数字9。

#include int main() {    int i=1;    int count = 0;      //计数器    for (i = 1;i <= 2019;i++) { int n = i; while (n) {      //n为假跳出while循环     if (n % 10 == 9)      {  count++;  break;     }     n = n / 10; }    }    printf("%d\n", count);    return 0;}

3.BC29 开学?

描述

小S:终于可以开学啦!好开心啊!

小Y:你没看新闻吗,开学日期又延后了。

小S:NOOOOOOOOOOOOOOOO!

小S知道原计划星期X开学,通知开学时间延期N天,请问开学日期是星期几(星期日用7表示)?

输入描述:

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

输出描述:

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

示例1

输入:1 2

输出:3

示例2

输入:5 9

输出:7

#includeint main(){    int x=0;    int n=0;    int day=0;    scanf("%d%d",&x,&n);    day=(n%7)+x;    if(day<=7) printf("%d",day);    else printf("%d",day-7);    return 0;}

4.BC77 简单计算器

描述

KiKi实现一个简单计算器,实现两个数的“加减乘除”运算,用户从键盘输入算式“操作数1运算符操作数2”,计算并输出表达式的值,如果输入的运算符号不包括在(+、-、*、/)范围内,输出“Invalid operation!”。当运算符为除法运算,即“/”时。如果操作数2等于0.0,则输出“Wrong!Division by zero!”

数据范围:字符串长度满足 3 \le n \le 50 \3≤n≤50  ,保证运算符是一个char类型字符。

输入描述:

输入一行字符串,操作数1+运算符+操作数2 (其中合法的运算符包括:+、-、*、/)。

输出描述:

输出为一行。

如果操作数和运算符号均合法,则输出一个表达式,操作数1运算符操作数2=运算结果,各数小数点后均保留4位,数和符号之间没有空格。

如果输入的运算符号不包括在(+、-、*、/)范围内,输出“Invalid operation!”。当运算符为除法运算,即“/”时。

如果操作数2等于0.0,则输出“Wrong!Division by zero!”。

示例1

输入:1.0+3.0

输出:1.0000+3.0000=4.0000

示例2

输入:1.0;4.0

输出:Invalid operation!

示例3

输入:44.0/0.0

输出:Wrong!Division by zero!

#includeint main(){double x1 = 0;double x2 = 0;char ch = 0;    scanf("%lf%c%lf",&x1,&ch,&x2);switch (ch){case '+':printf("%.4lf+%.4lf=%.4lf",x1,x2,x1 + x2);break;case '-':printf("%.4lf-%.4lf=%.4lf",x1,x2,x1 - x2);break;case '*':printf("%.4lf*%.4lf=%.4lf",x1,x2,x1 * x2);break;case '/':if (x2 == 0) {     printf("Wrong!Division by zero!");     break; }else printf("%.4lf/%.4lf=%.4lf",x1,x2,x1 / x2);break;default:printf("Invalid operation!");break;}    return 0;}

5.BC140 杨辉三角

描述

KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他解答。杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。

输入描述:

第一行包含一个整数数n。 (1≤n≤30)

输出描述:

包含n行,为杨辉三角的前n行,每个数输出域宽为5。

示例1

      输入:6

   输出: 1   1    1   1    2    1   1    3    3    1   1    4    6    4    1   1    5   10   10    5    1
#include #define N 30int main(){    int i = 0, j = 0, k = 0, n = 0;int a[N][N];   //定义二维数组a[14][14] scanf("%d", &n);    for (i = 1;i <= n;i++) a[i][1] = a[i][i] = 1;     //两边的数令它为1,因为现在循环从1开始,就认为a[i][1]为第一个数    for (i = 3;i <= n;i++) for (j = 2;j <= i - 1;j++)     a[i][j] = a[i - 1][j - 1] + a[i - 1][j];  //除两边的数外都等于上两顶数之和    for (i = 1;i <= n;i++)     { for (j = 1;j <= i;j++)     //j<=i的原因是不输出其它的数,只输出我们想要的数     printf("%5d", a[i][j]); printf("\n");//当一行输出完以后换行继续下一行的输出    }    return 0;}

后面还会精选一些好题,有用就点个赞吧,感谢支持。