前言
老师布置的54道C语言题,我将自己一个星期写完的代码拿出来供大家参考,如果你在浏览中发现了我的错误,还望您能指正,另外因为为练习代码我就没有写注释,如有不清楚可以问我。
第五十四题参考了https://blog.csdn.net/searone/article/details/22571811
题目
- 输入a,b两个整数,编程求出a除以b得到的商和余数。
- 从前的秤十六两一斤,因此有半斤八两之说。用现在十两一斤的秤称2斤的苹果,再用十六两一斤秤称出来的结果是1斤4两。请编写程序,将十两一斤的重量转换为用十六两一斤来表示。
- 对于一个任意的三位自然数X,编程计算其各个数位上的数字之和S。
- 输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数。
- 任意读入一个四位整数,颠倒后输出。
- 输入一个三位正整数,然后与它倒过来的数相加,输出和。 如:输入167,则和为167+761=928。
- 已知一个圆的半径,求解该圆的面积和周长。
- 编一程序,将摄氏温度换为华氏温度。公式为:f=9/5*c+32。其中f为华氏温度,c是摄氏温度。
- 有A,B两个不相等的数,请将其中较大数打印出来。
- 输入一个整数,判断是否为偶数。是输出"y e s",否则输出"n o"。
- 最近二手车市场非常火爆,这不小赵也去了交易场所,想淘到一辆性价比不错的车子。但小赵的预算有限,所能接受的价格范围为p..q(1000 <= p <= q <= 100000),价格高于q的车子买不起,低于p的又嫌车太次。现给出某车的报价m(1000 <= m <= 100000),试判断这辆车在价格上会不会获得小赵的青睐,会则输出"Yes",不会输出"No"。
- 恐龙园买门票,身高1.3米以下购儿童票(60元),否则成人票120元。 试编写一个程序,输入身高,输出相应的门票价格。
- 2008年年初我国南方正在承受百年不遇的大雪、冻雨灾害。北京市已经开始了面向全体市民的捐款捐物活动,并组织运力,以最快速度将这些救灾物资运送到灾区人民的手中。 已知救灾物资中有m件大衣(10000 < m < 2000000 ),一辆卡车一次最多可以运走n件(2000 < n < 10000)。请你编写程序计算一下,要将所有的大衣运走,北京市政府最少需要调动多少辆卡车参与运送。
- 读入三个整数a、b、c( 0 < a,b,c < 10000 ),数据之间用空格隔开,如果前两个数a、b的和大于第三个数c,那么就输出“yes”,否则就输出“no”。
- 某车站行李托运收费标准是:10公斤或10公斤以下,收费2.5元,超过10公斤的行李,按每超过1公斤增加1.5元进行收费。 试编一程序,输入行李的重量,算出托运费。
- 已知有A,B,C,D,E五种包装箱,为了不浪费材料,小于10公斤的用A型,大于等于10公斤小于20公斤的用B型,大于等于20公斤小于40公斤的用C型,大于等于40公斤的小于50公斤的用D型,大于等于50公斤小于80公斤的用E型。现在输入一货物的重量(小于80公斤),找出最经济型的包装箱型号。
- 输入某学生成绩,如果86分以上(包括86分)则输出“VERY GOOD” ,如果在60到85之间的则输出“GOOD”(包括60和85),小于60的则输出“BAD”。
- 已知有三个不等的数,将其中的最大数找出来。
- 输入三个数,按由大到小顺序打印出来。
- 任意输入一个三位整数,再把它的次序打乱重新组合一个新的三位整数,使其值最大。
- 判断三个整数是否相邻,是输出"TRUE",否则输出"FALSE"。
- 输入年,月,然后告诉该月有多少天。
- 编程求解数学中的分段函数,描述的意思是:当x>0时y=x+1; 当x=0时y=0; 当x<0时y=x-1
- 校运会马上就要开始了,为了让同学们做好参赛准备,现在告诉你这个日期的前一天,你能编程输出校运会开始的日期吗?
- 输入两个人的生日(年月日),判断第一个人是否比第二 个人大(精确到日),是则输出"Yes",不然输出"No"。
- 输入三个整数,表示3条线段的长度,判断这三条线段能否构成三角形。能构成就输出'Yes',否则输出'No'。
- 给定一个从0秒开始计时的秒数,请将其转换为x:x:x的格式
- 输入某个整数,如果输入的整数在1-9范围内,则输出相对应的单词,否则输出'out'
- 按照ab=的格式输入算式,通过计算输出ab的结果。
- 看到两个标准格式的时间,有小时,有分钟,有秒,格式如:h:m:s,即 时:分:秒 你想知道,这两个时间之间相差多少吗?
- 编程求解下列式子的值:S=1+2+3+...+n
- 编程求1+3+5+...+n
- 编程求1+1/2+1/3+...+1/n
- 求100+97+……+4+1的值
- 编程求1平方+2平方+...+n平方
- 编程求123...n
- N!=12...N.例5!=1234*5=120. 编程求1!+2!+3!+...+N!.
- 有一数列如下: 1 2 4 7 11 16 22…… 试求该数列前N项之和。
- 求0/1 +1/1+ 1/2+ 2/3+ 3/5 + 5/8+ 8/13+ 13/21+ 21/34……的前n项的和。
- 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数。
- 商场周末大优惠,规定凡购物超过100元时,超过100元那部分便可打9折。小雄同妈妈一起购买了一大批物品,你能帮他算出最终的应付款吗?
- 任意输入n个整数,把它们的最大值,最小值求出来.
- 鸡兔同笼问题:一个笼子里面有鸡若干只,兔若干只。共有头50个,共有腿160条。求鸡兔各多少只?
- 在1—500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数
- 输入20个整数,统计其中正数、负数和零的个数
- 输出1—999中有因数3,且至少有一位数字是5的数
- 已知一个正整数N(20 <= N <= 800000000),请你编写程序求出该数的全部因子(不包括1)的和。
- 任意输入一个整数,判断它是否为素数。是的话输出"T",不是的话输出"F".
49.输出所有的水仙花数。(一个三位数等于它每一位上的数字的立方和) - 一个三位数n,给出百位和十位上的数字,问个位上填哪些数字可以使其能被b整除。
- 程序对一维数组a中数据进行升序排序后,对数组a中重复出现的数据,删除重复数据,保留一个。对只出现一次的数据则全部保留。
- 找出100到999之间(含100和999)所有整数中各位上数字之和为x(x为正整数)的整数并输出,符合条件的整数个数作为函数值返回。
- 将字符串s中的所有数字字符顺序前移,其他字符顺序后移。
- 求表达式s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值为1~9)
例如:a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3
参考代码
为方便浏览,我将代码进行缩略,点击开合即可查看
1~10题参考代码
//第一题
/*
#include<stdio.h>
int main(){
int a,b;
int m,n;
scanf("%d%d",&a,&b);
m=a/b;
n=a%b;
printf("商%d,余数%d",m,n);
}
*/
//第二题
/*#include<stdio.h>
int main(){
int a,b,c;
printf("请输入斤(十两为一斤):");
scanf("%d",&a);
c=a*10;
b=c/16;
c=c-b*16;
printf("%d斤(十六两为一斤)%d两",b,c);
}
*/
//第三题
/*
#include<stdio.h>
main(){
int n,a,s=0;
scanf("%d",&n);
while(n){
a=n%10;
s+=a;
n=n/10;
}
printf("和为%d",s);
}
*/
//第四题
/*
#include<stdio.h>
main(){
int n,b,g,s;
printf("请输入一个三位数:");
scanf("%d",&n);
b=n/100;
s=n/10%10;
g=n%10;
n=g*100+s*10+b;
printf("对调后为%d",n);
}
*/
//第五题
/*
#include<stdio.h>
main(){
int n,a,s=0;
scanf("%d",&n);
while(n){
a=n%10;
s=s*10+a;
n=n/10;
}
printf("对调后为%d",s);
}
*/
//第六题
/*
#include<stdio.h>
main(){
int n,a,b=0,c;
int s=0;
scanf("%d",&n);
c=n;
while(n){
a=n%10;
b=b*10+a;
n=n/10;
}
s=b+c;
printf("对调后相加和为%d",s);
}
*/
//第七题
/*#include<stdio.h>
main(){
int r;
scanf("%d",&r);
float s,c,pi=3.14;
s=pi*r*r;
c=2*pi*r;
printf("%f%f",s,c);
}
*/
//第八题
/*#include<stdio.h>
main(){
float c,f;
scanf("%d",&c);
f=9.0/5*c+32;
printf("华氏温度%f",f);
}
*/
//第九题
/*#include<stdio.h>
main(){
int a,b;
scanf("%d%d",&a,&b);
a>b?printf("%d",a):printf("%d",b);
}
*/
//第十题
/*#include<stdio.h>
int main(){
int a;
scanf("%d",&a);
if(a%2==0) printf("yes");
else printf("NO");
}
*/
11~20题参考代码
//第十一题
/*
#include<stdio.h>
int main(){
int m;
int p=1000,q=100000;
scanf("%d",&m);
if(m>=p&&m<=q) printf("yes");
else printf("no");
}
*/
//第十二题
/*
#include<stdio.h>
main(){
int a;
printf("请输入你的升高(单位为米):");
scanf("%d",&a);
if(a<=1.6&&a>=0)printf("价格为60元");
else printf("价格为160元");
}
*/
//第十三题
/*
#include<stdio.h>
main(){
int m,n;
int a;
printf("请分别输入大衣的数量和卡车一次性运输大衣的数量:");
scanf("%d%d",&m,&n);
a=m/n;
if((m>10000&&m<2000000)&&(n>2000&&n<10000)){
if(m%n==0)printf("需要%d辆",a);
else printf("need %d 辆",a+1);
}
else printf("你输入的不在范围内");
}
*/
//第十四题
/*
#include<stdio.h>
int main(){
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if((a+b)>c)
{
printf("yes");
}
else printf("no");
}
*/
//第十五题
/*
#include<stdio.h>
int main(){
float n;
float a;
scanf("%f",&n);
if(n<=10&&n>0){
printf("收费2.5元");
}
else if(n>10)
{
a=1.5*(n-10);
printf("%f",a+2.5);
}
}
*/
//第十六题
/*
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n<80){
if(n>0&&n<10)printf("A");
if(n>=10&&n<20)printf("B");
if(n>=20&&n<40)printf("C");
if(n>=40&&n<50)printf("D");
if(n>=50&&n<80)printf("E");
}
}
*/
//十七题
/*
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
if(n>=86){printf("Very Good");}
if(n>=60&&n<=85){
printf("Good");
}
if(n<60){
printf("BAD");
}
}
//第十八题
#include<stdio.h>
main(){
int a,b,c;
int max;
scanf("%d%d%d",&a,&b,&c);
if(a>b){max=a;
}
else max=b;
if(max>c){
printf("%d",max);
}
else printf("%d",c);
}
//十九
#include<stdio.h>
int main(){
int a,b,c;
int t;
scanf("%d%d%d",&a,&b,&c);
if(a<b){
t=b;
b=a;
a=t;
}
if(a<c){
t=a;
a=c;
c=t;}
if(b<c){
t=b;
b=c;
c=t;
}
printf("%d,%d,%d",a,b,c);
}
//二十题
/*
#include<stdio.h>
int main(){
int n;
int a,b,c;
int t;
scanf("%d",&n);
a=n/100;//百位
b=n/10%10;
c=n%10;
if(a<b){
t=b;
b=a;
a=t;
}
if(a<c){
t=a;
a=c;
c=t;}
if(b<c){
t=b;
b=c;
c=t;
}
printf("%d%d%d",a,b,c);
}
21~30题参考代码
// 第二十一题
#include<stdio.h>
int main(){
int t,a,b,c;
printf("please input three numbers:\n");
scanf("%d%d%d",&a,&b,&c);
if(a<b){
t=b;
b=a;
a=t;
}
if(a<c){
t=a;
a=c;
c=t;
}
if(b<c){
t=b;
b=c;
c=t;
}
if(a+c==2*b){
printf("the three numbers are connected\n");
}
else printf("the three numbers are not connected\n");
}
//第二十二题
#include<stdio.h>
int main(){
int year,month;
int day;
scanf("%d%d",&year,&month);
switch(month)
{
case 1:day=31;break;
case 2:day=28;break;
case 3:day=31;break;
case 4:day=30;break;
case 5:day=31;break;
case 6:day=30;break;
case 7:day=31;break;
case 8:day=31;break;
case 9:day=30;break;
case 10:day=31;break;
case 11:day=30;break;
case 12:day=31; break;
}
if((year%400==0||(year%10==0&&year%100==0))&&month==2){
day+=1;
}
printf("days=%d",day);
}
//第二十三题
#include<stdio.h>
int main(){
int x,y;
scanf("%d",&x);
if(x>0) y=x+1;
if(x==0) y=0;
if(x<0) y=x-1;
printf("%d",y);
}
//第二十四题
#include<stdio.h>
int main(){
int i;
int year,month,day;
int max[]={1,3,5,7,8,10,12};
int min[]={4,6,9,11};
printf("请输入前一天的日期");
printf("\nYear:");
scanf("%d",&year);
printf("\nMONTH:") ;
scanf("%d",&month);
printf("\n day:");
scanf("%d",&day);
day=day+1;
//判断闰年情况下的21天
if((year%400==0||(year%4==0&&year%100==0))&&month==2){
if(day%30==0){
day-=29;
month++;
if(month%13==0){
month-=12;
year++;
}
}
}
else if(month==2){
if(day%29==0){
day-=28;
month++;
if(month%13==0){
month-=12;
year++;
}
}
}
for(i=0;i<7;i++)
{
if((month==max[i])&&(day%32==0)){
day-=31;
month++;
if(month%13==0){
month-=12;
year++;
}
}
}
for(i=0;i<7;i++)
{
if((month==min[i])&&(day%31==0)){
day-=30;
month++;
if(month%13==0){
month-=12;
year++;
}
}
}
printf("运动会日期为%d,%d,%d",year,month,day);
}
//第二十五题
#include<stdio.h>
int main(){
int i;
int year[2];
int month[2];
int day[2];
for(i=0;i<2;i++){
scanf("%d%d%d",&year[i],&year[i],&day[i]);
}
if(year[0]>year[1])
{
printf("第一个人大");
}
if(year[0]==year[1]){
if(month[0]>month[1]){
printf("第一个人大");
}
if(month[1]==month[2])
{
if(day[0]==day[1]){
printf("这两个人一样大");
}
if(day[0]>day[1]){
printf("第一个人大");
}
else printf("第二个人大");
}
}
if(year[0]<year[1]){
printf("第二个人大");
}
}
//第二十六题
#include<stdio.h>
int main(){
int a,b,c;\
int t;
scanf("%d%d%d",&a,&b,&c);
if(b>a){
t=a;
a=b;
b=t;
}
if(c>a){
t=c;
c=a;
a=t;
}
if(b<c){
t=c;
c=b;
b=t;
}
if(b+c>a){
printf("是三角形");
}
else printf("不是三角形");
}
//第二十七题
#include<stdio.h>
int main(){
int s;
int h,m;
scanf("%d",&s);
h=s/3600;
m=(s-(h*3600))/60;
s=s-h*3600-60*m;
printf("%d:%d:%d",h,m,s);
}
//第二十八题
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
switch(n){
case 1:printf("one");break;
case 2:printf("two");break;
case 3:printf("three");break;
case 4:printf("four");break;
case 5:printf("five");break;
case 6:printf("six");break;
case 7:printf("seven");break;
case 8:printf("eight");break;
case 9:printf("nine"); break;
default: printf("out");
}
}
//第二十九题
#include<stdio.h>
int main(){
int a,b;
long int sum;
scanf("%d*%d=",&a,&b);
sum=a*b;
printf("%d*%d=%ld",a,b,sum);
}
//第三十题
#include<stdio.h>
main(){
int h[3],m[3],s[3];
int i;
for(i=0;i<2;i++){
scanf("%d%d%d",&h[i],&m[i],&s[i]);
}
if(s[1]>=s[0]){
s[2]=s[1]-s[0];
}
else {
m[1]--;
s[2]=s[1]+60-s[0];
}
if(m[1]>=m[0]){
m[2]=m[1]-m[0];
}
else {
h[1]--;
m[2]=m[1]+60-m[0];
}
if(h[1]>=h[0]){
h[2]=h[1]-h[0];
}
else {
h[2]=h[1]-h[0];
}
if(h[2]<0)
{
h[2]+=24;
}
printf("相差%d:%d:%d",h[2],m[2],s[2]);
}
31~40题参考代码
//第三十一题
#include<stdio.h>
int fun(int n){
int s;
if(n==0)return 0;
else s=n+fun(n-1);
}
int main(){
int n;int s;
scanf("%d",&n);
s=fun(n);
printf("%d",s);
}
//第三十二题
#include<stdio.h>
int fun(int n){
int s;
if(n==1)return 1;
else s=n+fun(n-2);
}
int main(){
int n;int s;
scanf("%d",&n);
if(n%2==0){
printf("请输入奇数\n");
}
else s=fun(n);
printf("%d",s);
}
//第三十三题
#include<stdio.h>
int main(){
int n;
double s=0;
scanf("%d",&n);
while(n>=1){
s+=1.0/n;
n--;
}
printf("%f",s);
}
//第三十四题
#include<stdio.h>
int main(){
int n=100,s=0;
while(n>=1){
s+=n;
n-=3;
}
printf("%d",s);
}
//第三十五题
#include<stdio.h>
#include<math.h>
int main(){
int n,s=0;
scanf("%d",&n);
for(;n>=1;n--){
s+=pow(n,2);
}
printf("%d",s);
}
//第三十六题
#include<stdio.h>
int fun(int n){
int s;
if(n==1)return 1;
else s=n*fun(n-1);
}
int main(){
int n;int s;
scanf("%d",&n);
s=fun(n);
printf("%d",s);
}
//第三十七题
#include<stdio.h>
int fun(int n){
int s;
if(n==1)return 1;
else s=n*fun(n-1);
}
int main(){
int n;int s;
scanf("%d",&n);
for(;n>=1;n--){
s+=fun(n);
}
printf("%d",s);
}
//第三十八题
#include<stdio.h>
int main(){
int n,s=1,i,a=1;
scanf("%d",&n);
for(i=1;i<=n;i++){
s+=a;
a+=i;
}
printf("%d",s);
}
//第三十九题
#include<stdio.h>
int main(){
int n;
float z=1,m=1,s=0,a;
scanf("%d",&n);
while(n>0){
s+=z/m;
a=m;
m=z+m;
z=a;
n--;
}
printf("%f",s);
}
//第四十题
#include<stdio.h>
int main(){
int n;
float mi,s=0,f;
scanf("%d%f",&n,&mi);
while(n>0){
s+=mi;
f=mi/2;
mi=f;
s+=f;
n--;
}
printf("反弹高度%.2f,经过%.2f米",f,s);
}
41~54题参考代码
//第四十一题
#include<stdio.h>
int main(){
float n,z;
scanf("%f",&n);
if(n>100){
z=(n-100)*0.9;
printf("%f",z+100);
}
else printf("%f",z);
}
//第四十二题
#include<stdio.h>
int main(){
int a[999],i,n;
int max,min;
printf("请问你要输入多少个数\n");
scanf("%d",&n);
printf("请输入第1个数:");
scanf("%d",&a[0]);
max=a[0];
min=a[0];
for(i=1;i<n;i++){
printf("请输入第%d个数: ",i+1);
scanf("%d",&a[i]);
if(a[i]>max){
max=a[i];
}
if(a[i]<min){
min=a[i];
}
}
printf("max=%d",max);
printf("min=%d",min);
}
//第四十三题
#include<stdio.h>
int main(){
int x,y;
for(x=0;x<=50;x++){
for(y=0;y<=50;y++){
if((2*x+4*y==160)&&(x+y==50)){
printf("鸡%d 兔子%d\n",x,y);
}
}
}
}
//第四十四题
#include<stdio.h>
int main(){
int i;
for(i=1;i<=500;i++){
if(i%3==2){
if(i%5==3){
if(i%7==2){
printf("%d\n",i);
}
}
}
}
}
//第四十五题
#include<stdio.h>
int main(){
int a[20],i;
int x=0,y=0,z=0;
for(i=0;i<20;i++){
scanf("%d",&a[i]);
if(a[i]>0){
x++;
}
if(a[i]==0){
z++;
}
if(a[i]<0){
y++;
}
}
printf("正数%d个,负数%d个,零%d个",x,y,z);
}
//第四十六题
#include<stdio.h>
int main(){
int i;
for(i=1;i<999;i++){
if((i%3==0)&&(i%10==5||i/10%10==5||i%100==5)){
printf("%d\t",i);
}
}
}
//第四十七题
#include<stdio.h>
int main(){
long int n;
printf("please input a number form 20~800000000\n");
scanf("%d",&n);
int i,s=0;
for(i=2;i<=n;i++){
if(n%i==0){
s+=i;
}
}
printf("%d",s);
}
//第四十八题
#include<stdio.h>
int main(){
int n,i,f=1;
scanf("%d",&n);
for(i=2;i<n/2;i++){
if(n%2==0){
f=0;
break;
}
}
if(f==1){
printf("T");
}
else printf("F");
}
//第四十九题
#include<stdio.h>
#include<math.h>
int main(){
int i;
for(i=100;i<=999;i++){
if((pow(i%10,3)+pow(i/10%10,3)+pow(i/100,3))==i){
printf("%d\t",i);
}
}
}
//第五十题
#include<stdio.h>
int main(){
int x,y,b;
printf("请分别输入一个三位数的百位和十位的数\n");
scanf("%d",&x);
scanf("%d",&y);
printf("请输入一个除数:\n");
scanf("%d",&b);
int i;
for(i=0;i<10;i++){
if((x*100+y*10+i)%b==0){
printf("%d\t",i);
}
}
}
//第五十一题
#include<stdio.h>
int main(){
int a[12]={99,88,22,88,44,54,35,88,1,3,99,12};
int i,t,j;
for(i=0;i<11;i++){
for(j=0;j<12-i;j++)
if(a[j]>a[j+1]){
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
for(i=0;i<12;i++){
printf("%d\t",a[i]);
}
printf("\n");
for(i=0;i<12;i++){
if(i>0&&a[i-1]==a[i]) //只输出前面不重复的数
continue;
printf("%d\t",a[i]);
}
printf("\n");
}
//第五十二题
#include<stdio.h>
int fun(int x){
int i,sign=0;
for(i=100;i<=999;i++){
if((i/100)+(i/10%10)+(i%10)==x){
sign++;
}
}
return sign;
}
int main(){
int a,x;
printf("三位数的和为:\n");
scanf("%d",&x);
a=fun(x);
printf("%d\n",a);
}
//第五十三题
#include<stdio.h>
#include<string.h>
int main(){
char str[200];
char temp;
int i=0,len=0,non_num=0,j;
gets(str);
len = strlen(str);
while(i<len){
if(str[i] > 48 && str[i] < 57){
temp = str[i];
for(j=i;j>non_num;j--){
str[j]=str[j-1];
}
str[non_num++] = temp;
}
i++;
}
str[len] = '\0';
puts(str);
}
//第五十四题
#include<stdio.h>
int main(){
int a,n,x=0,i;
scanf("%d%d",&a,&n);
while(n>=0){
x=x*10+a;
n--;
}
printf("%d\n",x);
int s=x;
for(i=1;i<=5;i++){
x=x/10;
s-=x;
}
printf("%d",s);
}
*/
10 条评论
对不起啊
,这个博客主题是收费的,如果你也喜欢
,那我强烈建议你也入手一个
https://www.ihewro.com/archives/489/
给你们同学抄作业的吧
别,别这么说
就是让同学帮忙找错误
感觉这个训练意义不大哇 有种做翻译的感觉~
可以试试杭电的oj啊 难度适中 训练效果应该是有的
胆儿肥的还可以试试挑战hoj 我记得1006还是1007就出了一道DP的问题 当时直接把我劝退了
高估我实力啦,我最多算个C语言初学者呢,等自己更加深入的学习后,我可以挑战挑战,感谢大佬的建议哇
都挺简单的 来刷这个把 luogu.org
水平还未达到,要刷题的话,LeetCode也不错呢。https://leetcode-cn.com/problemset/all/?tdsourcetag=s_pctim_aiomsg
没有啦 洛谷的训练营 还有比leetCode简单些 可以试试哦
好像都差不多,都有难易之分的