1,给定两个整型数组,要求找出两者共有的元素。
输入格式:
分两行输入,每行输入N个整数(N<=20),以-1结束输入,其间以空格分隔。
输出格式:
顺序输出是两数组共有的元素,数字间以空格分隔。保证至少存在一个这样的数字。
#include<stdio.h>
int main()
{
//int a[5] = { 1,3,4,8,12 }, b[7] = { 0,1,2,3,4,5,6 };
int a_count = 0, b_count = 0;
int a[20], b[20];
printf("请输入第一个数组的元素,小于20个元素并以-1结束输入:\n");
for (int i = 0; i < 20; i++)
{
scanf_s("%d", &a[i]);
if (a[i] == -1)
{
a[i] = 0;
a_count = i;
break;
}
}
printf("请输入第二个数组的元素,小于20个元素并以-1结束输入:\n");
for (int i = 0; i < 20; i++)
{
scanf_s("%d", &b[i]);
if (b[i] == -1)
{
b[i] = 0;
b_count = i;
break;
}
}
int i, j;
printf("两者共有的元素有:\n");
for (i = 0; i < a_count; i++)
{
for (j = 0; j < b_count; j++)
{
if (a[i] == b[j])
{
printf("%d ", a[i]);
break;
}
}
}
printf("\n");
return 0;
}
2,创建一个长度为10的随机整数数组,调整数组中的值,将数组中所有的偶数放在数组的前部,所有的奇数放在数组的后部。
**如:**
数组的值为:{12,31,17,45,68,40,57,43,25,78}
调整后数组的值为:{12,78,40,68,45,17,57,43,25,31}
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, j,k=9, a[10], b[10];
srand(time(NULL));
printf("a数组:\n");
for (i = j = 0; i < 10; i++)
{
a[i] = rand() % 101;
printf("%4d", a[i]);
if (a[i] % 2 == 0)
b[j++] = a[i];
else
b[k--] = a[i];
}
printf("\nb数组:\n");
for (i = 0; i < 10; i++)
{
printf("%4d", b[i]);
}
return 0;
}