OJ系统C语言练习第三天

第一题

<span class='yzk_title_75'>C语言OJ练习记录(三)</span>-一只小白
#include "stdio.h"
#include "math.h"

int sort(int n,int a[20]){
    for (int i = 0; i < n-1; ++i)
    {
        for (int j = i + 1; j < n; ++j)
        {
            if(a[i] > a[j]){
                int temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
        }
    }
}

int main()
{
    int m,n,temp;
    scanf("%d%d", &m,&n);
    if(m > n){
        temp = m;
        m = n;
        n = temp;
    }
    int i;
    int num[20];
    int j = 0;

    for(i = m;i <= n;i++){
        temp = 1500 - i;

        if(temp % 3 == 2 && temp % 5 == 4 && temp % 7 == 6){
            num[j] = temp;
            j++;
        } 
    }
    sort(j,num);
    int k;
    for(k = 0;k < j;k++){
        printf("%d\n", num[k]);
    }
    return 0;
}

第二题

<span class='yzk_title_75'>C语言OJ练习记录(三)</span>-一只小白
#include "stdio.h"
#include "math.h"

int main()
{
    int a,b,c;
    while(1){
        scanf("%d%d%d", &a,&b,&c);
        if(a==0&&b==0&&c==0){
            return 0;
        }
        double d = (double)a / (double)b;
        //注意这种精确方式
        printf("%.*lf\n", c,d);
    }
    return 0;
}

第三题

<span class='yzk_title_75'>C语言OJ练习记录(三)</span>-一只小白
#include "stdio.h"
#include "math.h"

void bin(int n){
    //如果n/2不等于零说明n>1,需要继续
    if(n/2)
    //将n/2输入下一轮
    bin(n/2);
    //输出的是最后一位
    printf("%d", n%2);
}

int main()
{
    int n;
    while(1){
        scanf("%d", &n);
        if(n==0)return 0;
        bin(n);
        printf("\n");
    }
    return 0;
}