前言:今天是咱们第六期刷牛客网上的题目。
目标:对每种的循环知识掌握熟练,用数学知识和循环结合运用熟练,对逻辑操作符运用熟练。
鸡汤:一万个美丽的未来,抵不上一个温暖的现在;每一个真实的现在,都是我们曾经幻想的未来,愿你爱上现在,梦见未来。先干为敬,大家随意。
🚩第一题
#include <stdio.h> int main() { //初始化 int score = 0; //判断 while((scanf("%d", &score)) != EOF) { if(score >= 60) { printf("Pass\n"); } else { printf("Fail\n"); } } return 0; }
🚩第二题
#include <stdio.h> int main() { //初始化 int sum = 0; //输入 while((scanf("%d",&sum)) != EOF) { if(sum % 2 == 0) { printf("Even\n"); } else { printf("Odd\n"); } } return 0; }
🚩第三题
因为要多组输入,但是 scanf 的输入会产生一个缓冲区,这样的话,多组输入的时候,会吸收下一个字符。
这里就需要一个 getchar() 来吸收 \n
(补充,getchar(),是一个读入一个字符的)
#include <stdio.h> int main() { //初始化 char ch = 0; //输入 while((scanf("%c",&ch)) != EOF) { getchar(); if(ch == 'a' ||ch=='A'||ch=='e'||ch=='E'||ch=='O'||ch=='o'||ch=='i'||ch=='I'||ch=='U'||ch=='u') { printf("Vowel\n"); } else { printf("Consonant\n"); } } return 0; }
🚩第四题
家人们可别写成 l<=x<=r
#include <stdio.h> int main() { //初始化 int x = 0; int l = 0; int r = 0; //输入 scanf("%d %d %d",&x,&l,&r); if(x >= l && x <= r) { printf("true\n"); } else { printf("false\n"); } return 0; }
🚩第五题
闰年的判断,当这个年份能被400整除 或者 能被4整除并且不能被100整除
#include <stdio.h> int main() { //初始化 int year = 0; //输入 scanf("%d",&year); //判断 if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) { printf("yes\n"); } else { printf("no\n"); } return 0; }
🚩第六题
#include <stdio.h> int main() { //初始化 char ch; //输入 scanf("%c",&ch); //判断 if(ch >= 'A' && ch <= 'z') { printf("YES\n"); } else { printf("NO\n"); } return 0; }
🚩第七题
这里我采用switch语句,如果对这块知识不是很清楚的小伙伴,可以在我的C语言初阶的知识中讲述到了
输入的格式别看错 %4d%02d
#include<stdio.h> int main() { //初始化 int year = 0; int month = 0; //输入 scanf("%4d%02d", &year, &month); switch (month) { case 3: case 4: case 5: printf("spring"); break; case 6: case 7: case 8: printf("summer"); break; case 9: case 10: case 11: printf("autumn"); break; case 12: case 1: case 2: printf("winter"); break; } return 0; }
🚩第八题
#include<stdio.h> int main() { //初始化 float w, h; float b; //输入 scanf("%f %f", &w, &h); b = w / (h * h); //判断 if (b >= 18.5 && b <= 23.9) { printf("Normal"); } else { printf("Abnormal"); } return 0; }
🚩第九题
这里博主采用了三目操作符,解决起来更简单些。
#include <stdio.h> int main() { //初始化 int a, b, c, d; //输入 scanf("%d %d %d %d",&a,&b,&c,&d); //采用三目操作符 int sum1 = (a > b) ? a : b; int sum2 = (c > d) ? c : d; int sum = (sum1 > sum2) ? sum1 : sum2; //输出 printf("%d", sum ); return 0; }
🚩第十题
#include <stdio.h> int main() { //初始化 char arr = 0; while ((scanf("%c", &arr)) != EOF) { //吸收 \n getchar(); if ((arr >= 'A' && arr <= 'Z') || (arr >= 'a' && arr <= 'z')) { printf("%c is an alphabet.\n", arr); } else { printf("%c is not an alphabet.\n", arr); } } return 0; }
结束语
今天的刷题内容就到这里啦,如果上面的题目你有更优的解法,请打在下面的评论区中,独乐乐不如众乐乐。