我从简单到难,一起走上漫漫刷题路!
我会持续在我的博客中更新我每天刷题的内容!
相互交流!
大家一键三连,多多关注!
这是今天我给大家带来的题!以后难度逐渐加深!
1.求阶乘(非递归)
非递归实现求n的阶乘(不考虑溢出的问题)
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { int n = 0, k = 1,i=0; scanf("%d", &n); for (i = 1; i <= n; i++) { k = k * i; } printf("%d", k); }
2.打印一个数的每一位
递归方式实现打印一个整数的每一位
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<math.h> void print(int n) { if (n>9) { print(n / 10); } printf("%d ", n % 10); } int main() { int a = 0; scanf("%d", &a); print(a); return 0; }
3.小乐乐与字符串
描述
在庆祝祖国母亲70华诞之际,老师给小乐乐出了一个问题。大家都知道China的英文缩写是CHN,那么给你一个字符串s,你需要做的是统计s中子序列“CHN”的个数。
子序列的定义:存在任意下标a < b < c,那么“s[a]s[b]s[c]”就构成s的一个子序列。如“ABC”的子序列有“A”、“B”、“C”、“AB”、“AC”、“BC”、“ABC”。
输入描述:
输入只包含大写字母的字符串s。(1 ≤ length ≤ 8000)
输出描述:
输出一个整数,为字符串s中子序列“CHN”的数量。
#include<stdio.h> int main() { long long c = 0, ch = 0, chn = 0; char s[8000] = {0}; scanf("%s", s); char* p = s; while (*p) { if (*p == 'C') { c++; } else if (*p == 'H') { ch += c; } else if (*p == 'N') { chn += ch; } p++; } printf("%lld", chn); return 0; }
4.小乐乐学编程
描述
小乐乐的编程老师BoBo,经常告诉小乐乐“学习编程最好的办法就是上机实践,因为你要对计算机下指令,想让计算机帮你干活,就得多和计算机‘交流’,实践才能出真知。”
#include <stdio.h> int main() { printf("Practice makes perfect!"); return 0; }
5.小乐乐算平均分
描述
小乐乐输入三科成绩,请编程帮他输出三科成绩总分及平均分。
输入描述:
一行,3科成绩(浮点数),成绩之间用一个空格隔开。
输出描述:
一行,总分和平均分(小数点后保留两位),用一个空格隔开。
#include <stdio.h> main() { float a=0.0,b=0.0,c=0.0; scanf("%f%f%f",&a,&b,&c); float sum=a+b+c; float ave=sum/3.0; printf("%.2f %.2f",sum,ave); return 0; }
6.小乐乐是否被叫家长
描述
小乐乐的班级进行了一次期中考试,考试一共有3门科目:数学,语文,英语,小乐乐的班主任决定给没有通过考核的同学家长开一次家长会,考核的标准是三科平均分不低于60分,所以现在想请你帮忙算一算小乐乐会不会被叫家长。
输入描述:
一行,输入三个整数(表示小乐乐的数学、语文、英语的成绩),用空格分隔。
输出描述:
一行,如果小乐乐会被请家长则输出“YES”,否则输出“NO”。
#include <stdio.h> int main() { int a=0,b=0,c=0,ave=0; scanf("%d%d%d",&a,&b,&c); ave=(a+b+c)/3; if(ave<60) printf("YES"); else printf("NO"); return 0; }
7.小乐乐转换成绩
描述
小乐乐输入百分制成绩,他想将成绩转换成等级制。转换规则为:90-100为’A’,80-89为’B’,70-79为’C’,60-69为’D’,59以下为’E’。如果输入的成绩不在0-100之间,输出’F’。
输入描述:
一行,一个整数表示的成绩。
输出描述:
一行,转换后的等级。
#include <stdio.h> int main() { int a=0; scanf("%d",&a); if(a>=90&&a<=100) printf("A"); else if(a>=80&&a<90) printf("B"); else if(a>=70&&a<80) printf("C"); else if(a>=60&&a<70) printf("D"); else if(a<60&&a>=0) printf("E"); else printf("F"); return 0; }
8.小乐乐算多少人被请家长
描述
小乐乐的班主任想统计一下班级里一共有多少人需要被请家长,三个成绩(语文,数学,外语)平均分低于60的将被请家长,小乐乐想编程帮助班主任算一下有多少同学被叫家长。
输入描述:
共n+1行
第一行,输入一个数n,代表小乐乐的班级中有n个同学。
在接下来的n行中每行输入三个整数代表班级中一个同学的三科成绩(语文,数学,外语),用空格分隔。
输出描述:
一行,一个整数,代表班级中需要被请家长的人数。
#include <stdio.h> main() { int n, cnt = 0; int cn, math, eng; double avg; scanf("%d", &n); while (n--) { scanf("%d %d %d", &cn, &math, &eng); avg = (cn + math + eng) / 3.0; if (avg < 60) { cnt++; } } printf("%d\n", cnt); return 0; }