0
点赞
收藏
分享

微信扫一扫

巩固数组的一些练习题(含参考代码)

字符串

#include<stdio.h>

char str[55];

int main(){
    scanf("%s", str);
    for(int i = 0; str[i]; i++){
        if(str[i] <= 'z' && str[i] >= 'a' || str[i] <= 'Z' && str[i] >= 'A'){
            if(str[i] == 'z' || str[i] == 'Z') str[i] -= 25;
            else ++str[i];
        }
    }
    printf("%s\n", str);

    return 0;
}

字符反转

#include<stdio.h>
#include <stdlib.h>
#include <string.h>

char str[55];

int main(){
    scanf("%s", str);
    int len = strlen(str);
    for(int i = len - 1; i >= 0; i--){
        printf("%c", str[i]);
    }
    printf("\n");

    return 0;
}

字符串中A的数量

#include<stdio.h>

char str[105];

int main(){

    scanf("%s", str);

    int cnt = 0;
    for(int i = 0; str[i]; i++){
        if(str[i] == 'A') ++cnt;
    }
    printf("%d\n", cnt);

}

抽奖

#include<stdio.h>

int num[105];

int main(){
    int n, i = 0;
    scanf("%d", &n);
    for(i = 0; i < n; i++) scanf("%d", &num[i]);
    int x, flag = 0;
    scanf("%d", &x);
    for(i = 0; i < n; i++){
        if(num[i] == x){
            flag = 1;
            break;
        } 
    }
    if(flag){
        printf("%d\n", i + 1);
    } else {
        printf("0");
    }


    return 0;
}

校门外的树

#include<stdio.h>

int arr[100005];

int main(){
    int l, m, cnt = 0;
    scanf("%d%d", &l, &m);

    for(int i = 0; i <= l; i++){
        arr[i] = 1;
    }

    while(m--){
        int x, y;
        scanf("%d%d", &x, &y);
        for(int i = x; i <= y; i++){
            arr[i] = 0;
        }
    }

    for(int i = 0; i <= l; i++){
        if(arr[i]) ++cnt;
    }

    printf("%d\n", cnt);

    return 0;
}

方阵对角线


#include<stdio.h>

int arr[35][35];

int main(){
    int n;
    scanf("%d", &n);
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            scanf("%d", &arr[i][j]);
        }
    }
    
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            if(i == j){
                printf("%d\n", arr[i][j]);break;
            }
        }
    }

    return 0;
}

矩阵旋转

#include<stdio.h>

int arr[205][205];

int main(){
    int n, m;
    scanf("%d%d", &n, &m);

    for(int i = 0; i < n; i++)
        for(int j = 0; j < m; j++)
            scanf("%d", &arr[i][j]);

    for(int i = 0; i < m; i++){
        for(int j = n - 1; j >= 0; j--){
            j == n - 1 || printf(" ");
            printf("%d", arr[j][i]);
        }
        printf("\n");
    }

    return 0;
}

队列行平均数

#include<stdio.h>

int main(){
    int n, m;
    scanf("%d%d", &n, &m);

    int sum = 0;
    for(int i = 0; i < n; i++){
        sum = 0;
        for(int j = 0; j < m; j++){
            int x;
            scanf("%d", &x);
            sum += x;
        }
        printf("%.6lf\n", 1.0 * sum / m);
    }

    return 0;
}

队列列求和

#include<stdio.h>

int arr[35][35];

int main(){
    int n,m;
    scanf("%d%d", &n, &m);

    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            scanf("%d", &arr[i][j]);
        }
    }

    int sum = 0;
    for(int i = 0; i < m; i++){
        sum = 0;
        for(int j = 0; j < n; j++){
            sum += arr[j][i]; 
        }
        printf("%d\n", sum);
    }

    return 0;
}

回形方阵

#include<stdio.h>

int num[10][10];

int main(){
    int n, x = 1;
    scanf("%d", &n);

    for(int i = 1, I = (n + 1) / 2; i <= I; i++){
        for(int j = i; j <= n - i + 1; j++){
            for(int k = i; k <= n - i + 1; k++){
                    num[j][k] = x;
            }
        }
        ++x;
    }

    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            j == 1 || printf(" ");
            printf("%d", num[i][j]);
        }
        printf("\n");
    }

    return 0;
}
举报

相关推荐

0 条评论