terrytao

C语言暑假编程练习代码参考
前言老师布置的54道C语言题,我将自己一个星期写完的代码拿出来供大家参考,如果你在浏览中发现了我的错误,还望您能指...
扫描右侧二维码阅读全文
05
2019/08

C语言暑假编程练习代码参考

前言

老师布置的54道C语言题,我将自己一个星期写完的代码拿出来供大家参考,如果你在浏览中发现了我的错误,还望您能指正,另外因为为练习代码我就没有写注释,如有不清楚可以问我。

第五十四题参考了https://blog.csdn.net/searone/article/details/22571811

题目

  1. 输入a,b两个整数,编程求出a除以b得到的商和余数。
  2. 从前的秤十六两一斤,因此有半斤八两之说。用现在十两一斤的秤称2斤的苹果,再用十六两一斤秤称出来的结果是1斤4两。请编写程序,将十两一斤的重量转换为用十六两一斤来表示。
  3. 对于一个任意的三位自然数X,编程计算其各个数位上的数字之和S。
  4. 输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数。
  5. 任意读入一个四位整数,颠倒后输出。
  6. 输入一个三位正整数,然后与它倒过来的数相加,输出和。 如:输入167,则和为167+761=928。
  7. 已知一个圆的半径,求解该圆的面积和周长。
  8. 编一程序,将摄氏温度换为华氏温度。公式为:f=9/5*c+32。其中f为华氏温度,c是摄氏温度。
  9. 有A,B两个不相等的数,请将其中较大数打印出来。
  10. 输入一个整数,判断是否为偶数。是输出"y e s",否则输出"n o"。
  11. 最近二手车市场非常火爆,这不小赵也去了交易场所,想淘到一辆性价比不错的车子。但小赵的预算有限,所能接受的价格范围为p..q(1000 <= p <= q <= 100000),价格高于q的车子买不起,低于p的又嫌车太次。现给出某车的报价m(1000 <= m <= 100000),试判断这辆车在价格上会不会获得小赵的青睐,会则输出"Yes",不会输出"No"。
  12. 恐龙园买门票,身高1.3米以下购儿童票(60元),否则成人票120元。 试编写一个程序,输入身高,输出相应的门票价格。
  13. 2008年年初我国南方正在承受百年不遇的大雪、冻雨灾害。北京市已经开始了面向全体市民的捐款捐物活动,并组织运力,以最快速度将这些救灾物资运送到灾区人民的手中。 已知救灾物资中有m件大衣(10000 < m < 2000000 ),一辆卡车一次最多可以运走n件(2000 < n < 10000)。请你编写程序计算一下,要将所有的大衣运走,北京市政府最少需要调动多少辆卡车参与运送。
  14. 读入三个整数a、b、c( 0 < a,b,c < 10000 ),数据之间用空格隔开,如果前两个数a、b的和大于第三个数c,那么就输出“yes”,否则就输出“no”。
  15. 某车站行李托运收费标准是:10公斤或10公斤以下,收费2.5元,超过10公斤的行李,按每超过1公斤增加1.5元进行收费。 试编一程序,输入行李的重量,算出托运费。
  16. 已知有A,B,C,D,E五种包装箱,为了不浪费材料,小于10公斤的用A型,大于等于10公斤小于20公斤的用B型,大于等于20公斤小于40公斤的用C型,大于等于40公斤的小于50公斤的用D型,大于等于50公斤小于80公斤的用E型。现在输入一货物的重量(小于80公斤),找出最经济型的包装箱型号。
  17. 输入某学生成绩,如果86分以上(包括86分)则输出“VERY GOOD” ,如果在60到85之间的则输出“GOOD”(包括60和85),小于60的则输出“BAD”。
  18. 已知有三个不等的数,将其中的最大数找出来。
  19. 输入三个数,按由大到小顺序打印出来。
  20. 任意输入一个三位整数,再把它的次序打乱重新组合一个新的三位整数,使其值最大。
  21. 判断三个整数是否相邻,是输出"TRUE",否则输出"FALSE"。
  22. 输入年,月,然后告诉该月有多少天。
  23. 编程求解数学中的分段函数,描述的意思是:当x>0时y=x+1; 当x=0时y=0; 当x<0时y=x-1
  24. 校运会马上就要开始了,为了让同学们做好参赛准备,现在告诉你这个日期的前一天,你能编程输出校运会开始的日期吗?
  25. 输入两个人的生日(年月日),判断第一个人是否比第二 个人大(精确到日),是则输出"Yes",不然输出"No"。
  26. 输入三个整数,表示3条线段的长度,判断这三条线段能否构成三角形。能构成就输出'Yes',否则输出'No'。
  27. 给定一个从0秒开始计时的秒数,请将其转换为x:x:x的格式
  28. 输入某个整数,如果输入的整数在1-9范围内,则输出相对应的单词,否则输出'out'
  29. 按照ab=的格式输入算式,通过计算输出ab的结果。
  30. 看到两个标准格式的时间,有小时,有分钟,有秒,格式如:h:m:s,即 时:分:秒 你想知道,这两个时间之间相差多少吗?
  31. 编程求解下列式子的值:S=1+2+3+...+n
  32. 编程求1+3+5+...+n
  33. 编程求1+1/2+1/3+...+1/n
  34. 求100+97+……+4+1的值
  35. 编程求1平方+2平方+...+n平方
  36. 编程求123...n
  37. N!=12...N.例5!=1234*5=120. 编程求1!+2!+3!+...+N!.
  38. 有一数列如下: 1 2 4 7 11 16 22…… 试求该数列前N项之和。
  39. 求0/1 +1/1+ 1/2+ 2/3+ 3/5 + 5/8+ 8/13+ 13/21+ 21/34……的前n项的和。
  40. 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数。
  41. 商场周末大优惠,规定凡购物超过100元时,超过100元那部分便可打9折。小雄同妈妈一起购买了一大批物品,你能帮他算出最终的应付款吗?
  42. 任意输入n个整数,把它们的最大值,最小值求出来.
  43. 鸡兔同笼问题:一个笼子里面有鸡若干只,兔若干只。共有头50个,共有腿160条。求鸡兔各多少只?
  44. 在1—500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数
  45. 输入20个整数,统计其中正数、负数和零的个数
  46. 输出1—999中有因数3,且至少有一位数字是5的数
  47. 已知一个正整数N(20 <= N <= 800000000),请你编写程序求出该数的全部因子(不包括1)的和。
  48. 任意输入一个整数,判断它是否为素数。是的话输出"T",不是的话输出"F".
    49.输出所有的水仙花数。(一个三位数等于它每一位上的数字的立方和)
  49. 一个三位数n,给出百位和十位上的数字,问个位上填哪些数字可以使其能被b整除。
  50. 程序对一维数组a中数据进行升序排序后,对数组a中重复出现的数据,删除重复数据,保留一个。对只出现一次的数据则全部保留。
  51. 找出100到999之间(含100和999)所有整数中各位上数字之和为x(x为正整数)的整数并输出,符合条件的整数个数作为函数值返回。
  52. 将字符串s中的所有数字字符顺序前移,其他字符顺序后移。
  53. 求表达式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);
    
    
}
*/

最后修改:2019 年 08 月 28 日 12 : 02 PM
如果觉得我的文章对你有用,请随意赞赏

8 条评论

  1. Jimmy Ho

    给你们同学抄作业的吧

    1. terrytao
      @Jimmy Ho

      别,别这么说 就是让同学帮忙找错误

  2. Gazzz

    感觉这个训练意义不大哇 有种做翻译的感觉~
    可以试试杭电的oj啊 难度适中 训练效果应该是有的
    胆儿肥的还可以试试挑战hoj 我记得1006还是1007就出了一道DP的问题 当时直接把我劝退了

    1. terrytao
      @Gazzz

      高估我实力啦,我最多算个C语言初学者呢,等自己更加深入的学习后,我可以挑战挑战,感谢大佬的建议哇

  3. Dxoca

    都挺简单的 来刷这个把 luogu.org

    1. terrytao
      @Dxoca

      水平还未达到,要刷题的话,LeetCode也不错呢。https://leetcode-cn.com/problemset/all/?tdsourcetag=s_pctim_aiomsg

      1. Dxoca
        @terrytao

        没有啦 洛谷的训练营 还有比leetCode简单些 可以试试哦

        1. terrytao
          @Dxoca

          好像都差不多,都有难易之分的

发表评论