本人初学c语言还未掌握指针 所以方法可能比较复杂。
//将数组A中的内容和数组B中的内容进行交换。(数组一样大)
#include <stdlib.h>
#include <stdio.h>
//将数组A中的内容和数组B中的内容进行交换。(数组一样大)
int main()
{
int arr1[] = { 1, 2, 3, 4, 5 };
int arr2[] = { 5, 4, 3, 2, 1 };
int sz = sizeof(arr1) / sizeof(arr1[0]);//定义一个变量SZ存放数组的长度
int i, a;
for (i = 0; i < sz; i++)
{
a = arr1[i];
arr1[i] = arr2[i];
arr2[i] = a;
}
printf("arr1[]=");
for (i = 0; i < sz; i++)
{
printf("%d ",arr1[i]);
}
printf("\narr2[]=");
for (i = 0; i < sz; i++)
{
printf("%d ", arr2[i]);
}
system("pause");
return 0;
}
运用for循环将两个数组对应位置元素进行交换,再用两个for循环分别输出两个数组。
//获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
int main()
{
int arr[32];
int a;
scanf("%d", &a);
int i;
for (i = 0; i < 32; i++)
{
if (i % 2 == 0) //判断是否是偶数位
{
if (a & 1 == 1)
{
arr[(32 + i) / 2] = 1;//从第17个元素开始倒记偶数位
}
else
{
arr[(32 + i) / 2] = 0;
}
}
else if (a & 1 == 1)
{
arr[(i - 1) / 2] = 1;//从第一个元素倒记奇数位
}
else
{
arr[(i - 1) / 2] = 0;
}
a = a >> 1;
}
printf("奇数位=");
for (i = 15; i >= 0; i--)
{
printf("%d ", arr[i]);
}
printf("\n偶数位=");
for (i = 31; i >= 16; i--)
{
printf("%d ", arr[i]);
}
system("pause");
return 0;
}
int main()
{
int arr[3];
for (int i = 0; i < 3; i++)
{
scanf("%d", &arr[i]);
}
int i, j, m;
for (j = 0; j < 3; j++)
{
for (i = 0; i < 3-1; i++)
{
if (arr[i] < arr[i + 1])
{
m = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = m;
}
}
}
for (i = 0; i < 3; i++)
{
printf("%d ", arr[i]);
}
system("pause");
return 0;
}
//求两个数的最大公约数。
int main()
{
int a, b,c=1;
scanf("%d %d", &a, &b);
if (a < b)
{
while (c != 0)
{
c = b%a;
b = a;
a = c;
}
printf("最大公约数=%d ", b);
}
else
{
while (c != 0)
{
c = a%b;
a = b;
b = c;
}
printf("最大公约数=%d ", a);
}
system("pause");
return 0;
}