牛客网基础语法101~110题😘😘😘
💫前言:今天是咱们第十期刷牛客网上的题目。
💫目标:对打印图案做到有手就行。
💫鸡汤:与其花时间应付以后不理想的生活,不如花时间造就你想要的生活。先干为敬,大家随意。
🚩第一题
💦其实这种题型中规中矩,不难,掌握好方法,后面的题基本上是打印图案
#include <stdio.h> int main() { //初始化 int input = 0; //多组输入 while((scanf("%d", &input)) != EOF) { //打印 int i = 0; int j = 0; for (i = 0; i < input; i++) { for (j = 0; j < input - i; j++) { printf("* "); } printf("\n"); } } return 0; }
🚩第二题
#include <stdio.h> int main() { int i = 0; int j = 0; int n = 0; while((scanf("%d",&n)) != EOF) { for (i = 0; i < n; i++) { //打印空格 for (j = 0; j < n - i - 1; j++) { printf(" "); } //打印* for (j = 0; j <= i; j++) { printf("* "); } printf("\n"); } } return 0; }
🚩第三题
💦这道题呢,只要改动上面代码一个地方就行,都是分开打印
#include <stdio.h> int main() { int i = 0; int j = 0; int n = 0; while ((scanf("%d", &n)) != EOF) { for (i = 0; i < n; i++) { //打印空格 for (j = 0; j < n - i - 1; j++) { printf(" "); } //打印* for (j = 0; j <= i; j++) { printf("* "); } printf("\n"); } } return 0; }
🚩第四题
#include <stdio.h> int main() { int i = 0; int j = 0; int n = 0; while ((scanf("%d", &n)) != EOF) { for (i = 0; i < n; i++) { //打印空格 for (j = 0; j < i; j++) { printf(" "); } //打印* for (j = 0; j < n - i; j++) { printf("* "); } printf("\n"); } } return 0; }
🚩第五题
在这里插入代码片
🚩第五题
💦这道题只要把菱形分开两部分就行,不要忘记上半部分和下半部分相差行。
#include <stdio.h> int main() { //初始化 int n = 0; //多组输入 while (scanf("%d", &n) != EOF) { //上半部分 for (int i = 0; i < n + 1; i++) { for (int j = 0; j < n - i; j++) { printf(" "); } for (int j = 0; j <= i; j++) { printf("* "); } printf("\n"); } //下半部分 for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { printf(" "); } for (int j = 0; j < n - i; j++) { printf("* "); } printf("\n"); } } return 0; }
🚩第六题
#include <stdio.h> int main() { //初始化 int n = 0; //多组输入 while (scanf("%d", &n) != EOF) { //上一半 for (int i = n + 1; i > 0; i--) { for (int j = i; j > 0; j--) { printf("* "); } printf("\n"); } //下一半 for (int i = 1; i <= n; i++) { for (int j = 0; j <= i; j++) { printf("* "); } printf("\n"); } } return 0; }
🚩第七题
💦像这种题型有点难度,如果把上面的打印图形理解清楚就可以了。
#include<stdio.h> int main() { //初始化 int num; int i, j, k; //多组输入 while (scanf("%d", &num) != EOF) { //上半部分 for (i = 0; i <= num; i++) { for (j = 0; j < num - i; j++) { printf(" "); } for (k = 0; k <= i; k++) { printf("*"); } printf("\n"); } //下半部分 for (i = 0; i < num; i++) { for (j = 0; j <= i; j++) { printf(" "); } for (k = 0; k < num - i; k++) { printf("*"); } printf("\n"); } } return 0; }
🚩第八题
💦很多小伙伴看到了这道题,简单,咔咔咔就写完,发现博主写,咋这么复杂,为啥捏,😯😯😯
#include <stdio.h> int main() { //初始化 int n = 0; //多组输入 while (~scanf(" %d", &n)) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { //控制打印 if (i == j) { printf("*"); } else { printf(" "); } } printf("\n"); } } return 0; }
🚩第九题
💦很多小伙伴看到了这道题,简单,咔咔咔就写完,发现博主写,咋这么复杂,为啥捏,😯😯😯
#include <stdio.h> int main() { //初始化 int n = 0; //多组输入 while (~scanf(" %d", &n)) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (i + j == n - 1) { printf("*"); } else { printf(" "); } } printf("\n"); } } return 0; }
🚩第十题
💦上面的悬念咋样,看到这道题后是不是简单不少呢。
#include <stdio.h> int main() { int n = 0; int i = 0; int j = 0; while ((scanf("%d",&n))!=EOF) { for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { if (j == i || j == n - i - 1) printf("*"); // 对角线和逆对角线 else printf(" "); // 其余 } printf("\n"); } } return 0; }
🎉结束语
今天的刷题内容就到这里啦,如果上面的题目你有更优的解法,请打在下面的评论区中,独乐乐不如众乐乐。麻烦大家举起自己的小手,给博主三连,有你们的支持就是我最大的动力。预知后事如何,且听下回分解。