初始化数组;给指定的元素赋值;寻找素数;遍历数组,寻找数组中的某个值的位置

本文详细介绍了使用C语言进行数组操作的方法,包括数组初始化、指定元素赋值、素数查找及数组搜索等实用技巧,适合初学者和有一定基础的开发者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初始化数组

数组中的每个元素初始化成0;

#include<stdio.h>
int main(){
      const int number=10;
      int count[number]={0};
      for(int i=0;i<number;i++){
            printf("%d\n",count[i]);
      }
      return 0;
}
输出的结果为:0000000000


给指定的元素赋值:

#include<stdio.h>
int main(){
      const int number=10;
      int count[number]={[1]=2,4,[5]=6};
      for(int i=0;i<number;i++){
            printf("%d",count[i]);
      }
      printf("\n");
      return 0;
}

寻找素数

#include<stdio.h>
int main(){
      const int maxnumber=25;
      int isPrime[maxnumber];
      int i;
      int x;
      for(i=0;i<maxnumber;i++){
            isPrime[i]=1;
      }
      for(x=2;x<maxnumber;x++){
            if(isPrime[x]){
                  for(i=2;i*x<maxnumber;i++){
                        isPrime[i*x]=0;
                  }
            }
      }
      for(i=2;i<maxnumber;i++){
            if(isPrime[i]){
                  printf("%d\t",i);
            }
      }
      return 0;
}

遍历数组,寻找数组中的某个值的位置

#include<stdio.h>
int search(int key,int a[],int len){
      int ret=-1;
      for(int i=0;i<len;i++){
            if(key==a[i]){
                  ret=i;
                  break;
            }
      }
      return ret;
}


int main(){
      int a[]={2,3,4,5,9,9,};
      int r=search(3,a,sizeof(a)/sizeof(a[0]));
      printf("%d\n",r); //r是-1表示我们没有找到,r不是-1,表示找到了,并且在哪
      return 0;
      
}

在这里插入图片描述

#include<stdio.h>
int amount[]={1,5,10.15,25,50};
char *name[]={"penny","nickel","dime","quarter","half-dollar"};


int search(int key,int a[],int len){
      int ret=-1;
      for(int i=0;i<len;i++){
            if(key==a[i]){
                  ret=i;
                  break;
            }
      }
      return ret;
}


int main(){
      int k=10;
      int r=search(k,amount,sizeof(amount)/sizeof(amount[0]));
      if(r>-1){       //meaning have a number
            printf("%s\n",name[r]);
      }
      printf("%d\n",r); //r是-1表示我们没有找到,r不是-1,表示找到了,并且在哪
      return 0;
}

如果不写成两个数组:
#include<stdio.h>
//int amount[]={1,5,10.15,25,50};
//char *name[]={"penny","nickel","dime","quarter","half-dollar"};

struct{
      int amount;
      char *name;
}coins[]={
      {1,"penny"},
      {5,"nickel"},
      {10,"dime"},
      {25,"quarter"},
      {50,"half-dollar"},
};

int search(int key,int a[],int len){
      int ret=-1;
      for(int i=0;i<len;i++){
            if(key==a[i]){
                  ret=i;
                  break;
            }
      }
      return ret;
}


int main(){
      int k=5;
      //int r=search(k,amount,sizeof(amount)/sizeof(amount[0]));
      for(int i=0;i<sizeof(coins)/sizeof(coins[0]);i++){
            if(k==coins[i].amount){
                  printf("%s\n",coins[i].name);
                  break;
            }
      }
      //if(r>-1){       //meaning have a number
            //printf("%s\n",name[r]);
      //printf("%d\n",r); //r是-1表示我们没有找到,r不是-1,表示找到了,并且在哪
      return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值