C语言经典编程之数组

1、元素互换

定义一个整型数组num[10],随机初始化数组中元素值,然后将头尾元素两两互换,将交换后的数组值输出。

【代码】

#include <stdio.h>

int main(void)
{
    int num[10] = {}; 
    int i = 0;
    int temp;

    for(i = 0; i < 10; i++)
    {   
        scanf("%d", &num[i]);
    }   

    for(i = 0; i < 10 / 2; i++)
    {   
        temp = num[i];
        num[i] = num[9 - i]; 
        num[9 - i] = temp;
    }   

    for(i = 0; i < 10; i++)
    {   
        printf("%d ", num[i]);
    }   
    printf("\n");

    return 0;
}


2、矩阵翻转

定义一个二维数组a[3][4],随机初始化数组中的元素值,然后将a数组举证翻转后存入到b[4][3]中,并将b输出。

【分析】

输入:

3 5 1 4  

7 2 6 8 

0 9 4 6

输出:

3 7 0 

5 2 9 

1 6 4 

4 8 6

【代码】

#include <stdio.h>

int main(void)
{
    int a[3][4] = {}; 
    int b[4][3] = {}; 
    int i = 0;
    int j = 0;
    int temp;

    for(i = 0; i < 3; i++)
    {   
        for(j = 0; j < 4; j++)
        {   
            scanf("%d", &a[i][j]);
        }   
    }   
    for(i = 0; i < 3; i++)
    {   
        for(j = 0; j < 4; j++)
        {   
            b[j][i] = a[i][j];
        }   
    }   
    for(i = 0; i < 4; i++)
    {   
        for(j = 0; j < 3; j++)
        {   
            printf("%d ", b[i][j]);
        }   
        printf("\n");
    }   
    printf("\n");
    return 0;
}

3、围圈报数

有m个人围成一圈,开始报数,报到n,退出,问最后剩下的是几号。(从1号开始)

【分析】

将m个人存到一个数组a[m]中,并将其中的所有元素都记为1,当开始报数,报到n时,该人退出,即将该元素的值置为0。当报数报到数组的最后一个元素时,重新返回第一个元素报数。以此重复,直至剩下最后一个值为1的元素。

【代码】

#include <stdio.h>

int main(void)
{
    int m = 0;//人数
    int n = 0;//报数
    int a[10] = {}; 
    int i = 0, j = 0, k = 0;//k表示目前出圈的人数
//  printf("input:");
    scanf("%d %d", &m, &n);
//  printf("input:");
    for(i = 1; i <= m; i++)
    {   
        a[i] = 1;
    }   
    
    i = 1;
    while(1)
    {   
        if(a[i] == 1)
        {   
            j++;
        }   
        if(j == n)
        {   
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值