你是真的“C”——2023年除夕夜牛客网刷题经验分享~
- IT业界
- 2025-08-20 13:24:03

2023年除夕夜 牛客网刷题经验分享~😎 前言🙌BC89 包含数字9的数 😊BC90 小乐乐算多少人被请家长 😊BC91 水仙花数 😊BC92 变种水仙花 😊BC93 公务员面试 😊 总结撒花💞
😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!! 😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主! 😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
前言🙌哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,给大家分享除夕夜的牛客网刷题分享~都是精华内容,可不要错过哟!!!😍😍😍
BC89 包含数字9的数 😊题目简述: 今年是2019年,KiKi想知道1~2019中有多少个包含数字9的数。包含数字的数是指有某一位是“9”的数,例如“2019”、“199”等。 输入描述: 无 输出描述: 一行,一个整数,表示1~2019中共有多少个数包含数字9。
代码思路详解~
首先利用for循环生成1~2019个数字;创建变量 m,代替i执行下面的步骤,这样就能够保留下i9可能出现再个位、十位,百位,千位上,这些都是要被统计的,这里利用取模运算。而当某一位没有9,就除10去掉这一位,进行下一位的比较,当m < 0时,while循环结束题目源代码~: 😍
#include <stdio.h> int main() { int count = 0; for (int i = 9; i <= 2019; i++) { int m = i; while(m>0) { if (m % 9 == 0) { count++; break; } else { m /= 10; } } } printf("%d",count); return 0; } BC90 小乐乐算多少人被请家长 😊题目简述: 描述 小乐乐的班主任想统计一下班级里一共有多少人需要被请家长,三个成绩(语文,数学,外语)平均分低于60的将被请家长,小乐乐想编程帮助班主任算一下有多少同学被叫家长。 输入描述: 共n+1行 第一行,输入一个数n,代表小乐乐的班级中有n个同学。 在接下来的n行中每行输入三个整数代表班级中一个同学的三科成绩(语文,数学,外语),用空格分隔。 输出描述: 一行,一个整数,代表班级中需要被请家长的人数。 示例1 输入: 3 80 100 90 40 70 65 20 84 93 输出: 1
题目源代码~: 😍
#include<stdio.h> int main() { int n = 0; scanf("%d",&n); int count = 0; int ma = 0; int Ch = 0; int En = 0; while (scanf("%d %d %d", &Ch, &ma, &En) == 3) { int ave = (Ch + ma + En) / 3; if (ave < 60) { count++; } } printf("%d", count); return 0; } BC91 水仙花数 😊描述 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3。 现在要求输出所有在m和n范围内的水仙花数。 输入描述: 输入数据有多组,每组占一行,包括两个整数m和n(100 ≤ m ≤ n ≤ 999)。 输出描述: 对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开; 如果给定的范围内不存在水仙花数,则输出no; 每个测试实例的输出占一行。 示例1 输入: 100 120 300 380 输出: no 370 371
题目源代码~: 😍
#include <stdio.h> #include<math.h> int main() { int m = 0; int n = 0; while (scanf("%d %d", &m, &n) == 2) { int flag = 0; for (int i = m; i <= n; i++) { int sum = 0;//一定要将sum定义在里面,消除上一次sum记录的数值 int a = i;//这里定义a是因为要确保不用动i,让a代替i做下面的步骤,再把符合条件的i输出来就行 while (a > 9)//这里解决的是个位和十位的立方相加步骤 { sum += pow(a % 10, 3); a /= 10; } sum += pow(a,3);//这里是加上百位上数字的立方 if (sum == i) { printf("%d ", i); flag = 1; } } if (flag == 0) printf("no\n"); } return 0; } BC92 变种水仙花 😊描述
变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。
例如:
655 = 6 * 55 + 65 * 5
1461 = 1461 + 1461 + 146*1
求出 5位数中的所有 Lily Number。 输入描述: 无 输出描述: 一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格。
画图分析~:
题目源代码~: 😍
#include <stdio.h> int main() { int i = 0; int j = 0; for (i = 10000; i < 100000; i++) { int sum = 0; for(j = 10; j <100000; j*=10) { sum += (i % j)*(i / j); } if(sum == i) printf("%d ",i); } return 0; } BC93 公务员面试 😊描述 公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。 (注:本题有多组输入) 输入描述: 每一行,输入7个整数(0~100),代表7个成绩,用空格分隔。 输出描述: 每一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位,每行输出后换行。 示例1 输入: 99 45 78 67 72 88 60 输出: 73.00
题目源代码~: 😍
#include <stdio.h> int main() { int arr[7] = { 0 }; while (scanf("%d %d %d %d %d %d %d", arr, arr + 1, arr + 2, arr + 3, arr + 4, arr + 5, arr + 6) == 7) { int max = 0;//放在循环里面,每次循环都要将max初始化为0; int min = 100;//放在循环里面,每次循环都要将min初始化为0; int sum = 0;//放在循环里面,每次循环都要将sum初始化为0; for (int i = 0; i < 7; i++) { if (arr[i] > max) { max = arr[i]; } if (arr[i] < min) { min = arr[i]; } sum += arr[i]; } double avg = (sum - min - max) / 5.0; printf("%.2f\n", avg); } return 0; } 总结撒花💞==本篇文章旨在分享今日刷题的经验。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘
你是真的“C”——2023年除夕夜牛客网刷题经验分享~由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“你是真的“C”——2023年除夕夜牛客网刷题经验分享~”
上一篇
3.3Dodgson算法