我从简单到难,一起走上漫漫刷题路!
我会持续在我的博客中更新我每天刷题的内容!
相互交流!
大家一键三连,多多关注!
这是今天我给大家带来的题!以后难度逐渐加深!
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>
int 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>
int 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;
}