c语言判断素数_c语言基础笔记(六)

135c728fe1675ba8cecfbcff536171f4.png

7. 数组(这个章节在c语言中算是重难点了,请大家好好学!!!)

数组的本质就是可以一次定义多个类型相同的变量,同时一个数组中所有的元素在内存中都是顺序存放的。

但要记得在C语言中如果定义了如下数组:

Char s[100] ;//s[0] – s[99],切记没有s[100]这个元素,而且C语言编译器不会帮你检查数组的下标是否有效。

Char array[2][3][4] = {};//原则,数组维数越多,代码的可读性就越差,所以要尽可能的用维数少的数组

7.1 一维数组定义与使用

int array [10]; //定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的。

array[0] = 20 ;

array[1] = 30 ;

array[9] = 90 ;

//array[10] = 100 ; //错误,没有array[10]这个元素。

7.2 数组在内存的存储的方式

数组在内存中就是一段连续的空间,每个元素的类型是一样的。

7.3 一维数组初始化

int array[10] = {1,2,3,4,5,6,7,8,9,10} ;//定义数组的同时为数组的成员初始化值

int array[10] = {3,4,5} ;//将数组的前三个元素赋值,其余元素置为0

int array[10] = {0} ;//将数组所有的元素都置为0

int i;

for (i = 0; i < 10; i++)

{

array[i] = 0 ;//通过循环遍历数组的每个元素,将元素的值置为0

//scanf(“%d”,&array[i]);

}

求数组中最大元素的值

int main()

{

int array[10] = {32,5,67,98,12,54,8,78,457,10};

int max = 0;

int i;

for (i = 0; i < 10; i++) //想找最大的值,一定要把数组先遍历一遍

{

if(max < array[i])

max = array[i];

}

printf(“max = %dn”,max);

return 0;

}

求数组中最小元素的值,和最小值对应的数组下标

int main()

{

int array[10] = {32,5,67,98,12,54,8,78,457,10};

int min = array[0];

int index = 0; //在没有遍历数组之前,默认数组的第0号元素就是最小的元素

int i;

for (i = 1; i < 10; i++) //想找最小的值,一定要把数组先遍历一遍

{

if(min > array[i])

{

index = i;

min = array[i];

}

}

printf(“min = %d index = %dn”, min , index);

return 0;

}

求数组中所有元素的和

int main()

{

int array[10] = {1,2,3,4,5,6,7,8,9,10};

int i;

int sum = 0;//存放数组和的变量

for (i = 0; i < 10; i++) //想找最大的值,一定要把数组先遍历一遍

{

sum += array[i];

}

printf(“sum = %dn”,sum);

return 0;

}

将数组元素逆置

int main()

{

int array[10] = {32,5,67,98,12,54,8,78,457,10};

/*

int tmp = array[1]; //中间变量实现两个值的互换

array[1] = array[0];

array[0] = tmp;

*/

int min = 0; //数组最小下标

int max = 9; //数组最大下标

while (min < max) //两头往中间堵

{

int tmp = array[min];

array[min] = array[max];

array[max] = tmp;

min++;

max--;

}

printf(“max = %d min = %dn”, max , min);

return 0;

}

求100到999之间的水仙花数

int main()

{

int i;

for(i = 100 ;i < 1000 ;i++)

{

Int i1=i%10; //

Int i2=i/10%10; //

Int i3=i/100; //

If((i1*i1*i1+i2*i2*i2+i3*i3*i3) = = i)

Printf(“%dn”,i);

}

return 0;

}

求一个int数组中,所有奇数元素的和

int main()

{

int array[10] = {1,2,3,4,5,6,7,8,9,10};

int i;

int sum = 0;

for (i = 0; i < 10; i++)

{

if((array[i]%2) = = 1)

{

sum += array[i];

}

}

printf(“sum = %dn”,sum);

return 0;

}

求从3到100之间所有素数打印出来 3 5 7 11 13 17 ……

int main()

{

int i; //素数是除了1和自己以外,不能被其他整数整除的整数

for (i = 3; i < 100; i++)

{

int j;

int ststus = 0;

for(j =2 ;j < i ; j++) //判断i是否为素数

{

if((i %j) = = 0)

{

status = 1;

break;

}

}

if(status= = 0) //代表这是个素数

{

printf(“%dn”,i);

}

}

return 0;

}

7.4 二维数组定义与使用

int array[2][3];//定义了一个二维数组,有两个array[3]

int array[2][3] = { {1,2,3},{4,5,6} };//定义一个二维数组的同时初始化成员。

7.5 二维数组初始化

int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};

int array[2][3] = {0};//将二维数组中每个元素的值都初始化为0

int array[2][3] = { {1,2,3},{4,5,6} };

int i,j;

for(j=0;j<3;j++)

{

int sum=0;

for(i=0;i<2;i++)

{

sum += array[i][j];

}

printf("%dn",sum);//打印列的和

}

#include<stdio.h>

int main()//冒泡排序

{

int array[10] = {34,14,8,54,23,89,56,4,45,22};

int i;

int j;

for(i = 0;i < 10; i++)

{

for(j = 1; j < 10 - i; j++)

{

if(array[j-1] > array[j])//如果前面的元素大于后面的元素,那么就让这两个元素交换位置

{

int tmp = array[j];

array[j] = array[j - 1];

array[j-1] = tmp;

}

}

}

for(i=0;i<10;i++)

{

printf("array[%d]=%dn",i,array[i]);

}

return 0;

}

写在最后:最近和朋友一起在微信公众号做一些自己热爱的东西,并有许多的干货分享,大家多多关注啊!!

公众号 [越陌的数字生活]

————————————————

版权声明:本文为CSDN博主「moneypine」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:c语言基础笔记(7.数组)_c#,编程语言_moneypine的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值