牛客网基础语法91~100题😘😘😘
💫前言:今天是咱们第九期刷牛客网上的题目。
💫目标:对短除法的使用,对函数的递归使用熟练。
💫鸡汤:绊脚石乃是进身之阶。先干为敬,大家随意。
🚩第一题
💦这里采用 flag 来判断是否为水仙花数
#include <stdio.h> #include<math.h> int main() { //初始化 int m = 0; int n = 0; int a = 0; int b = 0; int c = 0; int flag = 0; //多组输入 while((scanf("%d %d",&m,&n)) != EOF) { int i = 0; for(i = m;i <= n;i++) { //取出每一位数字 a = i / 100; b = i % 100 / 10; c = i % 10; if(pow(a,3) + pow(b,3) + pow(c,3) == i) { printf("%d ",i); flag = 1; } } //判断 if(flag !=1) { printf("no\n"); } //flag回0 flag = 0; } return 0; }
🚩第二题
💦一定要把int sum = 0放在循环里,每次循环必须使 sum变为0
💦在循环中嵌套循环每个数字剥离出来
#include <stdio.h> int main() { //初始化 int i = 0; int j = 0; //循环 for(i = 10000;i < 99999;i++) { int sum = 0; //这里把每个数字剥离出来 for(j = 10;j <= 10000;j = 10*j) { sum = sum + (i / j) * (i % j); } //判断是否为水仙花数 if(sum == i) { printf("%d ",i); } } return 0; }
🚩第三题
💦这里记住是多组输入
#include <stdio.h> int main() { int a, max = 0, small = 100, sum = 0, count = 0; while (scanf("%d", &a) != EOF) { if (a > max)//判定最高分 { max = a; } if (a < small)//判定最低分 { small = a; } sum += a; count++;//计数器 if (count == 7)//计数器=7时代表一组的分数好了可以进行计算 { printf("%.2f\n", (sum - max - small) / 5.0); count = 0;//重置 max = 0;//重置 small = 100;//重置 sum = 0;//重置 } } return 0; }
🚩第四题
#include <stdio.h> int main() { //初始化 int num = 0; int i = 0; //输入 scanf("%d",&num); while(num) { i = num % 10; num = num / 10; printf("%d",i); } return 0; }
🚩第五题
💦这里采用短除法
短除法演示:
如十进制120 —> 六进制
120/6=20 ----余0
20/6=3 ----余2
3/6=0 ----余3 (注:此处为c中所用除法。)
💦递归函数
💦使用函数
#include <stdio.h> //函数 void print(int x) { if(x>5) { print(x/6); } printf("%d",x%6); } int main() { //初始化 int n=0; //输入 scanf("%d",&n); //调用函数 print(n); return 0; }
🚩第六题
#include<stdio.h> int main() { //初始化 int data = 0; int sum = 1; int data2=0; int k = 1; //输入 scanf("%d",&data); for(int i = 1;k < data;i++) { for(int j = 0;j < i;j++) { if(k > data) break; sum += i; k++; } } return 0; }
🚩第七题
#include<stdio.h> int main() { int n; scanf("%d", &n); int i = 0; for(i = 1; i <= n; i++) { int t = 0, num = i; while(num > 0) { t = t*10 + num % 10; num = num / 10; } if(t == i) printf("%d\n", i); } return 0; }
🚩第八题
#include <stdio.h> int main(void) { int i; while((scanf("%d", &i)) != EOF) { for(int n = 0; n < i; n ++) { printf("*"); if( n == i - 1 )printf("\n"); } } return 0; }
🚩第九题
#include<stdio.h> int main() { int x; while(scanf("%d",&x)!=EOF) { for(int i=1;i<=x;i++) { for(int j=1;j<=x;j++) { if(j==x) printf("*\n"); else printf("* "); } } } }
🚩第十题
#include<stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) { for(int a=0;a<=i;a++) printf("* "); printf("\n"); } } return 0; }
🎉结束语
今天的刷题内容就到这里啦,如果上面的题目你有更优的解法,请打在下面的评论区中,独乐乐不如众乐乐。麻烦大家举起自己的小手,给博主三连,有你们的支持就是我最大的动力。预知后事如何,且听下回分解。