初始化数组
数组中的每个元素初始化成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;
}