一维数组
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
int a=5;
//在内存中开辟了一块4字节空间。
int arr[5];
//在内存中开辟了连续的5个空间,每一个空间是4字节,数组的名称是arr。
//格式:数据类型 数组名[长度]
//长度:必须是常量表达式
//给数组如何赋值?
//1.初始化(赋初值)
//1>全部赋值
int arr1[5]={1,2,3,4,5};
//数组不能一次性输出
//引用数组元素:下标 格式:数组名[下标] 下标:可以是常量、变量、表达式
// printf("%d\n",arr1);
// 2>部分赋值
int arr2[5]={1,2,3};
printf("%d\n%d\n",arr2[0],arr2[4]);
// 3>特殊赋值
int arr3[]={1,2,3,4,5};
// 4>初始化为空
int arr4[5]={};
// 2.先定义,后赋值
// arr[0]=1;
// arr[1]=2;
// arr[2]=3;
// arr[3]=4;
// arr[4]=5;
//利用循环赋值——遍历数组
// int arr5[5];
// printf("请输入5个整数:");
// for (int i=0; i<5; i++) {
// scanf("%d",&arr5[i]);
// }
// printf("数组中5个元素分别为:\n");
// for (int i=0; i<5; i++) {
// printf("%d\n",arr5[i]);
// }
//数组越界
// int arr6[5];
// arr6[5]=10;
// printf("%d\n",arr1[0]);
//计算占多少个字节;
// printf("%lu\n%lu\n",sizeof(arr),sizeof(int [5])); // sizeof(arr):数组名 sizeof(int[5])数组元素;
}
return 0;
}
import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
// 1》对一个长度为5的整型数组赋初值,并输出数组元素。
// int arr[5] = {1,2,3,4,5};
// printf("数组元素为:\n");
// for (int i=0; i<5; i++) {
// printf("%d ",arr[i]);
// }
// 2》对一个长度为5的浮点型数组赋值,并逆序输出数组元素。
// float arr[5];
// printf("请输入5个小数:");
// for (int i=0; i<5; i++) {
// scanf("%f",&arr[i]);
// }
//
// printf("数组元素为:");
// for (int i=4; i>=0; i--) {
// printf("%.2f ",arr[i]);
// }
// 3》求5个同学的总成绩、平均成绩、最高成绩、最低成绩。
// float score[5],sum=0,avg,max,min;
// printf("请输入5个成绩:\n");
// //循环遍历数组
// for (int i=0; i<5; i++) {
// printf("请输入第%d个成绩:",i+1);
// scanf("%f",&score[i]);//输入成绩
// sum+=score[i]; //求出总成绩
// }
// avg=sum/5; //求出平均成绩
// max=min=score[0]; //将第一个成绩赋值给最大最小的变量、
// //遍历数组
// for (int i=1; i<5; i++) {
// //比较求出最大值
// if (max<score[i]) {
// max=score[i];
// }
// //比较求出最小值
// if (min>score[i]) {
// min=score[i];
// }
// }
// //输出最终结果
// printf("总成绩为:%.2f\n平均成绩为:%.2f\n最高成绩为:%.2f\n最低成绩为:%.2f\n",sum,avg,max,min);
// 4》输入10个数,打印出所有低于平均数的数。
// int arr[10],sum=0;
// float avg;
// printf("请输入10个整数:");
// for (int i=0; i<10; i++) {
// scanf("%d",&arr[i]);
// sum+=arr[i];
// }
// avg = sum/10.0;
// for (int i=0; i<10; i++) {
// if (arr[i]<avg) {
// printf("%d ",arr[i]);
// }
// }
// 5》对一个长度为5的整型数组赋值,并将数组中的元素逆序
int arr[5];
printf("请输入5个整数:");
for (int i=0; i<5; i++) {
scanf("%d",&arr[i]);
}
//遍历数组:只遍历一半,因为数组元素前后都要交换。
for (int i=0; i<5/2; i++) {
//交换前后元素
int t = arr[i];
arr[i]=arr[5-1-i]; // 5 2 3 4 1
arr[5-1-i]=t;
}
printf("数组元素如下:");
for (int i=0; i<5; i++) {
printf("%d ",arr[i]);
}
}
return 0;
}