7.24 数组

1.定义一个整形数组arr,长度为5,终端输入5个数,依次存入数组中

#include<stdio.h>
int main(int argc, char const *argv[])
{
    int arr [5]={0};
    for (int i=0;i<5;i++)
    { 
        printf("请输入第%d个元素:",i+1);
        scanf("%d",&arr[i]);
    }
    return 0;
}

2.定义整形数组arr,长度为5,终端输入5个数,依次存入数组中,终端再输入一个数字num,判断是否存在此数组中,在的话,打印存在,不在打印不存在

#include<stdio.h>
int main(int argc, char const *argv[])
{
    int arr [5]={0};
    for (int i=0;i<5;i++)
    { 
        printf("请输入第%d个元素:",i+1);
        scanf("%d",&arr[i]);
    }
    int num=0;
    printf("输入你要查找的元素:");
    scanf("%d",&num);
    int flag=0;
    for (int i=0;i<5;i++)
    { 
        if(num==arr[i])
        {
            flag=1;
        }
    }
    if(flag==1)
    {
        printf("存在\n");
    }else
    {
        printf("不存在\n");
    }
    
    return 0;
}

f2cf8126cd104549a3162e4ffbca52ff.png

3.定义整形数组arr,长度为len,终端输入len个数,依次存入数组中,求平均值、最小值、最大值、和

#include<stdio.h>
int main(int argc, char const *argv[])
{
    int len=0;
    printf("请输入要输入的元素个数\n");
    scanf("%d",&len);
    int arr [100]={0};
    for (int i=0;i<len;i++)
    { 
        printf("请输入第%d个元素:",i+1);
        scanf("%d",&arr[i]);
    }
    int sum=0;
    float avr=0;
    for (int i=0;i<len;i++)
    { 
        sum+=arr[i];
        avr=(float)sum/len;
    }
    printf("平均值为%.2f\n",avr);
    int max=arr[0];
    for (int i=0;i<len;i++)
    { 
        if(max<arr[i])
        {
            max=arr[i];
        }
    }
    printf("最大值为%d\n",max);
    int min=arr[0];
    for (int i=0;i<len;i++)
    { 
        if(min>arr[i])
        {
            min=arr[i];
        }
    }
    printf("最小值为%d\n",min);
    printf("和为%d\n",sum);
    return 0;
}

9c762386c1be4385bdf41866efabc108.png

4.有 1、2、3、4个数字,能组成多少互不相同且无重复的三位? 都是多少?

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int arr[4] = {1, 2, 3, 4};
    int brr[30] = {0};
    int num = 0;
    int n = 0;
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 4; j++)
        {
            if (j != i)
            {
                for (int k = 0; k < 4; k++)
                {
                    if (i != j && i != k&&j!=k)
                    {
                        printf("%d%d%d  ", arr[i],arr[j],arr[k]);
                        n++;
                    }
                }
            }
        }
    }
    printf("\n");
    printf("共%d个数\n",n);
    return 0;
}

163b793e5db34db483906195cb30851f.png5.百钱买百鸡问题:我国古代数学家张丘建在《算经》一书中曾提出过著名的 “百钱买百鸡” 问题,

该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?

#include<stdio.h>
int main(int argc, char const *argv[])
{
    int a=5,b=3;
    float c=1;
    float sum=0;
    for(int i=0;i<=20;i++)
    {
        for (int j=0;j<=33;j++)
        {
            for(int k=0;k<=33;k++)
            {
                sum=a*i+b*j+c*k;
                if(sum==100&&(i+j+3*k)==100)
                {
                    printf("公鸡%d只,母鸡%d只,小鸡%d只\n",i,j,3*k);
                }
            }
        }
    }
    return 0;
}

2bebb326db994166a0a4df24f6a24d30.png

6.数组的逆置 示例: int arr[4] = {1,2,3,4}; 输出 4,3,2,1;

#include <stdio.h>
int main(int argc, char const *argv[])
{
    
    int len=0;
    printf("请输入要输入的元素个数\n");
    scanf("%d",&len);
    int arr[len] ;
    for (int i=0;i<len;i++)
    { 
        printf("请输入第%d个元素:",i+1);
        scanf("%d",&arr[i]);
    }
    
    for (int i = 0; i < len/2; i++)
    {
        int temp = arr[i];
        arr[i] = arr[len-1 - i];
        arr[len-1 - i] = temp;
    }
    printf("逆序后的元素为:\n");
    for (int i = 0; i < len; i++)
    {
        printf("%d ", arr[i]);
    }

    return 0;
}

632ce20902184f99b2cde64b99a636ed.png

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值