软件开发网站建设维护资源网盘链接
- 作者: 五速梦信息网
- 时间: 2026年03月21日 09:49
当前位置: 首页 > news >正文
软件开发网站建设维护,资源网盘链接,素马设计顾问讲解价格,广州网站建设解决方案各位CSDN的uu们你们好呀#xff0c;今天小雅兰的内容还是做几道题噢#xff0c;好好复习一下之前的知识点#xff0c;现在#xff0c;就让我们开始复习吧 牛客网在线编程_编程学习|练习题_数据结构|系统设计题库 倒置字符串_牛客题霸_牛客网 BC40 竞选社长 BC41 你是天才… 各位CSDN的uu们你们好呀今天小雅兰的内容还是做几道题噢好好复习一下之前的知识点现在就让我们开始复习吧 牛客网在线编程_编程学习|练习题_数据结构|系统设计题库 倒置字符串_牛客题霸_牛客网 BC40 竞选社长 BC41 你是天才吗 BC42 完美成绩 BC43 及格分数 BC44 判断整数奇偶性 BC45 最高分数 BC46 判断是元音还是辅音 BC47 判断是不是字母 BC48 字母大小写转换 BC49 判断两个数的大小关系 BC50 计算单位阶跃函数 BC51 三角形判断 BC52 衡量人体胖瘦程度 BC53 计算一元二次方程 BC54 获得月份天数 OR62 倒置字符串 此代码用到了gets这个库函数 #includestdio.h int main() {char buf[100] { 0 };//输入gets(buf);int count_a 0;int count_b 0;int i 0;while (buf[i] ! 0){if (buf[i] A){count_a;}else if (buf[i] B){count_b;}i;}if (count_a count_b){printf(A\n);}else if (count_a count_b){printf(B\n);}else if(count_acount_b){printf(E\n);}return 0; } 这段代码还可以再改进一下可不可以不定义两个变量呢这当然也是可以的。 #includestdio.h int main() {char arr[100] { 0 };gets(arr);int i 0 ;int flag 0 ;while( arr[i] ! 0){if(arr[i] A){flag;}else if(arr[i] B){flag–;}i;}if (flag 0){printf(A);}else if (flag 0){printf(B);}else{printf(E);}return 0; }那么只定义一个变量的方法我们也掌握了那么还有没有其他的写法呢比如不用gets这当然也是可以的。 下面这段代码使用了getchar getchar拓展_认真学习的小雅兰.的博客-CSDN博客 #include stdio.hint main() {char arr[100] { 0 };int ch 0 ;int flag 0 ;//如果getchar获取了while (((ch getchar()) ! 0) ch! EOF){if(chA){flag;}else if(chB){flag–;}}if (flag 0){printf(A);}else if (flag 0){printf(B);}else{printf(E);}return 0; }1. 本题有很多解法。
- 主要就是读取输入数据的问题要解决好输入有2个结束条件遇到读取结束EOF或者0。
- 剩余的工作就是统计个数后然后根据情况按照格式输出。 #include stdio.h int main() {int a0;while(scanf(%d,a)!EOF){if(a140){printf(Genius\n);}else{printf(不是天才\n);}}return 0; } 这个代码还有另外一种写法 #includestdio.h int main() {int n 0;//这种写法是因为scanf读取失败返回EOF,EOF是-1所以按位取反后的结果是0,0为假可以让循环停止。while (~scanf(%d, n)){if (n 140){printf(Genius);}else{printf(不是天才\n);}}return 0; } 关于对组输入的题目一定要处理好多组数据的输入问题然后考虑循环如何结束。 这里写到了一个操作符—— ~ 操作符的详细知识可以看小雅兰的博客噢 操作符——“C”_认真学习的小雅兰.的博客-CSDN博客_十进制数10可以表示为 整型提升算术转换——“C”_认真学习的小雅兰.的博客-CSDN博客 #include stdio.hint main() {int score 0;while (scanf(%d, score) ! EOF){if (score 90 score 100)printf(Perfect);}return 0; }
- 多组输入。
- 数学中的 90的写法在C语言中直接写是有bug的。 #include stdio.hint main() {int score 0;while (scanf(%d, score) ! EOF){if (score 60)printf(Pass\n);elseprintf(Fail\n);}return 0; }#include stdio.hint main() {int i0;while(scanf(%d,i)!EOF){if(i%20)printf(Even\n);else if(i%2!0)printf(Odd\n);}return 0; } 这几道题目都是类似的。 #includestdio.h int main() {int n1 0;int n2 0;int n3 0;while (scanf(%d %d %d, n1, n2, n3) ! EOF){int max n1 n2 ? n1 : n2;max max n3 ? max : n3;printf(%d\n, max);}return 0; } 另一种写法 #include stdio.hint main() {int i 0;int score[3] { 0 };while (scanf(%d %d %d, score[0], score[1], score[2]) ! EOF){int max 0;//每一组测试max都恢复到0int i 0;for (i 0; i 3; i){if (score[i] max)max score[i];}printf(%d\n, max);}return 0; }1. 多组输入
- 每组输入接受3个数字求出最大值因为成绩不能是负数所以假设max期初是0. #include stdio.hint main() {char ch 0;//存放元音字母的数组char arr[] AEIOUaeiou;//输入while ((ch getchar()) ! EOF){//判断int i 0;for (i 0; i 10; i){if (ch arr[i]){printf(Vowel\n);break;}}if (i 10)printf(Consonant\n);getchar();//去除每个字符后的\n}return 0; }当然这个代码还可以用库函数——strchr #includestdio.h #includestring.h int main() {int ch 0;//存放元音字母的数组char vowel[] AEIOUaeiou;//输入while (ch getchar() ! EOF){//判断//strchr是用来判断ch是否在字符串vowel中出现//如果出现了则返回在vowel字符串中的地址//如果没出现则返回NULLif (strchr(vowel, ch)){printf(Vowel\n);}else{printf(Constantly\n);}getchar();//处理\n}return 0; } 另一种写法 #include stdio.hint main() {char ch 0;char arr[] AEIOUaeiou;//在%c的前面写一个空格会消化掉前面所有的空白字符然后读取一个字符while (scanf( %c, ch) ! EOF){int i 0;for (i 0; i 10; i){if (ch arr[i]){printf(Vowel\n);break;}}if (i 10)printf(Consonant\n);}return 0; } 另一种写法 #includestdio.h int main() {char ch 0;char arr[] AEIOUaeiou;//在%c的后边发给一个\n其实在输入时候就会消化掉这个\n字符//不会为下次留下空白字符的隐患while (scanf(%c\n, ch) ! EOF){int i 0;for (i 0; i 10; i){if (ch arr[i]){printf(Vowel\n);break;}}if (i 10)printf(Consonant\n);}return 0; }#include stdio.hint main() {int ch 0;while ((ch getchar()) ! EOF){if ((ch A ch Z) || (ch a ch z)){printf(%c is an alphabet.\n, ch);}else{printf(%c is not an alphabet.\n, ch);}//清理掉\ngetchar();}return 0; } 当然也可以用库函数专门用来判断是不是字母——isalpha #include stdio.hint main() {int ch 0;while ((ch getchar()) ! EOF){if (isalpha(ch)){printf(%c is an alphabet.\n, ch);}else{printf(%c is not an alphabet.\n, ch);}//清理掉\ngetchar();}return 0; } #include stdio.h #includectype.h int main() {int ch 0;while ((ch getchar()) ! EOF){if (isalpha(ch)){printf(%c is an alphabet.\n, ch);}else{printf(%c is not an alphabet.\n, ch);}//清理掉\ngetchar();}return 0; } #includestdio.h int main() {char ch 0;while (scanf(%c, ch) ! EOF){if (ch A ch Z){printf(%c\n, ch 32);}else if (ch a ch z){printf(%c\n,ch - 32);}}return 0; } 当然还有其他的写法这里可以用到我们的库函数——islower是专门用来判断小写字母的。 toupper——将小写字母转换为大写字母 tolower——将大写字母转换为小写字母 isupper——专门用来判断大写字母 #includestdio.h #includectype.h int main() {int ch 0;//多组输入while ((ch getchar()) ! EOF){if (islower(ch)){printf(%c\n, toupper(ch));}else{printf(%c\n, tolower(ch));}//处理\ngetchar();}return 0; }#include stdio.hint main() {int i0;int j0;while(scanf(%d %d,i,j)!EOF){if(ij){printf(%d%d,i,j);}else if(ij){printf(%d%d,i,j);}else if(ij){printf(%d%d,i,j);}printf(\n);}return 0;} #includestdio.hint main() {int t 0;while (scanf(%d, t) ! EOF){if (t 0){printf(%d\n, 1);}else if (t 0){printf(%.1f\n, 0.5f);}else{printf(%d\n, 0);}}return 0; }#include stdio.hint main() {int a0;int b0;int c0;while(scanf(%d %d %d,a,b,c)!EOF){if(abcacbbcaa-bca-cbb-ca){if(abbcac){printf(Equilateral triangle!\n);}else if((abb!ca!c)||(aca!bc!b)||(bcb!ac!a)){printf(Isosceles triangle!\n);}else {printf(Ordinary triangle!\n);}}else {printf(Not a triangle!\n);}}return 0; } 这里就是搞清楚三角形的判断规则并去一一穷举就行了因为只有三条边。 #includestdio.h int main() {float weight 0.0;float hight 0.0;while (scanf(%f %f, weight, hight) ! EOF){float bmi weight / (hight * hight / 100 / 100);if (bmi 18.5){printf(Underweight\n);}else if (bmi 18.5 bmi 23.9){printf(Normal\n);}else if (bmi 23.9 bmi 27.9){printf(Overweight\n);}else{printf(Obese\n);}}return 0; }1. 多组输入
- 浮点数除法要保证除号的两端至少有一个浮点数 #include stdio.h #include math.hint main() {float a 0.0;float b 0.0;float c 0.0;while (scanf(%f %f %f, a, b, c) ! EOF){if (a ! 0){float disc b * b - 4 * a * c;if (disc 0.0){//有两个不相等的实根printf(x1%.2f;x2%.2f\n,(-b - sqrt(disc)) / (2 * a),(-b sqrt(disc)) / (2 * a));}else if (disc 0.0){//有两个虚根printf(x1%.2f-%.2fi;x2%.2f%.2fi\n,(-b) / (2 * a), sqrt(-disc) / (2 * a),(-b) / (2 * a), sqrt(-disc) / (2 * a));}else{//有两个相等的实根printf(x1x2%.2f\n, (-b) / (2 * a));}}else{printf(Not quadratic equation\n);}}return 0; }1. 多组输入
- 根据不同的限制条件给出相应的计算结果
- 小数点数后位数有限制 #include stdio.hint main() {int y 0;int m 0;int days[12] { 31,28,31,30,31,30,31,31,30,31,30,31 };while (scanf(%d%d, y, m) ! EOF){int day days[m - 1];if ((y % 4 0 y % 100 ! 0) || (y % 400 0)){if (m 2)day 1;}printf(%d\n, day);}return 0; }1. 多组输入
- 判断闰年如果是闰年2月多一天其他都正常。 #includestdio.h #includestring.h #includeassert.h void reverse(char* left, char* right) {assert(left ! NULL);assert(right ! NULL);while (left right){char* tmp *left;*left *right;right tmp;left;right–;} } int main() {char arr[100] { 0 };gets(arr);//输入int len strlen(arr);//求字符串的长度//1.逆序整个字符串reverse(arr, arr len - 1);//2.逆序每个单词char cur arr;while (cur){//找一个单词char start cur;while (*cur ! *cur ! \0){cur;//遇到空格说明走到一个单词的最后面//遇到\0说明已经走到字符串的最后面//这两种情况下都需要cur}reverse(start, cur - 1);if (*cur ){cur;//跳过空格}}printf(%s\n, arr);return 0; } 好啦小雅兰今天的复习内容就到这里啦以后的内容必定更加精彩
- 上一篇: 软件开发建设网站个人是否可以做网站
- 下一篇: 软件上传网站做平面设计常用的网站
相关文章
-
软件开发建设网站个人是否可以做网站
软件开发建设网站个人是否可以做网站
- 技术栈
- 2026年03月21日
-
软件开发兼职平台自己做seo网站推广
软件开发兼职平台自己做seo网站推广
- 技术栈
- 2026年03月21日
-
软件开发和网站建设久久建筑网图集免费下载
软件开发和网站建设久久建筑网图集免费下载
- 技术栈
- 2026年03月21日
-
软件上传网站做平面设计常用的网站
软件上传网站做平面设计常用的网站
- 技术栈
- 2026年03月21日
-
软件设计就业方向及前景潍坊网站建设优化推广
软件设计就业方向及前景潍坊网站建设优化推广
- 技术栈
- 2026年03月21日
-
软件网站建设公司免费网站制作手机软件的app
软件网站建设公司免费网站制作手机软件的app
- 技术栈
- 2026年03月21日






