c言語のいくつかの基礎練習問題


  • は1つの関数を実現して、乗算口裏表を印刷して、口裏表の行数と列数は自分で指定して、9を入力して、9*9口裏表を出力して、12を入力して、12*12の乗算口裏表
  • を出力します
    #include 
    void print(int row){
        int i = 0;
        int j = 0;
        for(i = 1;i <= row;i++){
            for(j = 1;j <=i;j++){
    
                printf("%d*%d=%d\t",i,j,i*j);
            } 
            printf("
    "
    ); } } int main(){ int n = 0; scanf("%d",&n); print(n); }

    2 . 関数を使用して2つの数の交換を実現します.
    #include 
    void swap(int *a,int *b){
        int tmp = 0;
        tmp = *a;
        *a = *b;
        *b = tmp;
    }
    int main(){
        int a = 10;
        int b = 20;
        swap(&a,&b);
        printf("%d %d",a,b);
    }

    3 . 関数を実現してyearが潤年かどうかを判断します.
    #include 
    void is_leap_year(n){
        if((n%4==0&&n%100!=0)||n%400==0){
            printf("   !");
        }
        else{
            printf("    ");
        }
    }
    int main(){
        int n = 0;
        scanf("%d",&n);
        is_leap_year(n);
    
    }

    4 . 関数init()初期化配列、empty()クリア配列、reverse()関数完了配列要素の逆設定を実現する配列を作成します.要求:関数のパラメータを自分で設計し、値を返します.
    #include 
    
    void init(int a[],int lenth){
        int i = 0;
        for(i = 0;i < lenth;i++){
            a[i] = i ;
        }
    }
    void print(int a[],int lenth){
        int i = 0;
        for(i = 0;i < lenth;i++){
            printf("%d ",a[i]);
        }
        printf("
    "
    ); } void empty(int a[],int lenth){ int i = 0; for(i = 0;i < lenth;i++){ a[i] = 0 ; } } void reverse(int a[],int length){ int i = 0; int tmp = 0; for(i = 0;i < length/2;i++){ tmp = a[i]; a[i] = a[length-i-1]; a[length-i-1] = tmp; } } int main(){ int a[10]={0}; int size = sizeof(a)/sizeof(a[0]); init(a,size); print(a,size); reverse(a,size); print(a,size); empty(a,size); print(a,size); }

    5.1つの関数を実現し、1つの数が素数であるかどうかを判断する.
    #include 
    typedef enum __bool {
        false = 0,
        true = 1
    }bool;
    void is_prime(int n){
        bool prime[1000]={false};
        int i = 0;
        int j = 0;
        prime[1] = true;
        prime[2] = false;
        for(i = 2;i<=n;i++){
            if(!prime[i]){
                for(j = i*i;j<=n;j+=i){
                    prime[j] = true;
                }
            }
        }
        if(!prime[n]){
            printf("   ");
        }
        else{
            printf("  ");
        }
    }
    int main(){
        int n = 0;
        scanf("%d",&n);
        is_prime(n);
    }