一位数组的定义和打印方式
//方式1
int arr[10];
for (int i = 0; i < 10; i++)
{
arr[i] = i;
printf("%d ", arr[i]);
}
//方式2
int arr[] = { 1,2,3,4,5,6 };
int len = (int)sizeof(arr) /sizeof(*arr);
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
// 方式3
int arr[6]= { 1,2,3,4,5,6 };
for (int i = 0; i < 6; i++)
{
scanf("%d", &arr[i]);
}
for (int i = 0; i < 6; i++)
{
printf("%d ", arr[i]);
}
数组求最大最小值 并返回下标
int main()
{
int arr[6] = { 3,6,8,0,9,22 };
int max = arr[0];
int min = arr[0];
int index = 0;
for (int i=0; i < 6; i++)
{
if (max < arr[i])
{
index = i;
max =arr[i];
}
}
printf("max=%d , index=%d\n", max, index);
for (int i = 0; i < 6; i++)
{
if (min > arr[i])
{
index = i;
min = arr[i];
}
}
printf("min=%d, index=%d\n", min,index);
system("pause");
return 0;
}
数组逆置
//方法1
int main()
{
int arr[6] = { 3,6,8,0,9,1 };
int i;
for (i = 0; i < 3; i++)
{
int tmp = arr[i];
arr[i] = arr[5 - i];
arr[5 - i] = tmp;
}
for (i = 0; i < 6; i++)
{
printf("%d", arr[i]);
}
system("pause");
return 0;
}
//方法2
int main()
{
int min = 0;
int max = 5;
int arr[6] = { 3,6,8,0,9,1 };
while (min < max)//二头堵模型
{
int tmp = arr[min];
arr[min] = arr[max];
arr[max] = tmp;
min++;
max--;
}
for ( int i = 0; i < 6; i++)
{
printf("%d", arr[i]);
}
system("pause");
return 0;
}
求数组的平均数且输出所有大于平均数的数
int main()
{
int arr[] = { 2,6,6,0,2,2 };
int len = (int)sizeof(arr) / sizeof(*arr);
int sum = 0;
int average;
for (int i = 0; i < 6; i++)
{
sum += arr[i];
}
average = sum / len;
printf("%d \n", average);
for (int i = 0; i < 6; i++)
{
if (arr[i] > average)
printf("%d ", arr[i]);
}
printf("hello");
system("pause");
return 0;
求水仙花数
int i ;
for (i = 100; i < 1000; i++)
{
int a = i % 10;
int b = i / 10 % 10;
int c = i / 100;
if (a*a*a + b*b*b + c*c*c == i)
printf("%d ", i);
}
求所有奇数的和
int arr[7] = { 3,4,5,6,7,8,9 };
int sum = 0;
int i;
for ( i = 0; i < 7; i++)
{
if (arr[i] % 2 == 1)
{
sum += arr[i];
}
}
printf("sum=%d\n", sum);
求1-100所有素数
int i;
for (i = 3; i < 100; i++)
{
int value = 0;
for (int j = 2; j < i; j++)
{
if ((i%j) == 0)
{
value = 1;
break;
}
}
if (value == 0)
{
printf("%d ", i);
}
}
二维数组初始化和打印行列值
int arr[2][3];//定义
// int arr[1][2] = 0;//给1行2列赋值
int arr[2][3] = { {1,2,3},{4,5,6} };//定义一个2维数组的同时,初始化成员
//int arr[2][3] = { 0 };//初始化每一个都是0
int i, j;
int sum =0;
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
{
sum += arr[i][j];
}
printf("%d ", sum);
}