0
点赞
收藏
分享

微信扫一扫

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

楚木巽 2022-04-07 阅读 94
c语言c++

目录

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

示例2

#include<stdio.h>
int main()
{
int num=0;
float Clanguage=0;
float math=0;
float Eeglish=0;
scanf("%d;%f,%f,%f",&num,&Clanguage,&math,
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 <stdio.h>
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

示例2

#include<stdio.h>
int main()
{
int x=0;
int n=0;
int day=0;
scanf("%d%d",
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

示例2

示例3

#include<stdio.h>
int main()
{
double x1 = 0;
double x2 = 0;
char ch = 0;
scanf("%lf%c%lf",&x1,
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

#include <stdio.h>
#define N 30
int main()
{
int i = 0, j = 0, k = 0, n = 0;
int a[N][N]; //定义二维数组a[14][14]
scanf("%d",
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;
}

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

举报

相关推荐

0 条评论