简单的整型数组操作:构造一个包含n个元素的一维整型随机数组(0≤n≤100) ,其中无重复元素。完成表10-1的操作。 1. 使用下标法输出数组元素值 2. 使用指针法输出数组元素值 3. 对数组中所有偶数求和 4. 对数组中所有奇数求和 5. 将数组中的所有数扩大k倍 6. 把数组中所有偶数位置的元素加起来 7. 找出数组中的最大值 8. 找出数组中的最小值 9. n在数组中搜索指定元素,看其是否存在
时间: 2023-05-21 11:07:16 浏览: 161
答案:
1.构造随机数组:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n, i, j, temp, flag;
int arr[100];
srand((int)time(NULL)); //用系统时间初始化rand()函数
printf("请输入n的值:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
flag = 1;
temp = rand() % 100 + 1; //生成1-100内的随机数
for (j = 0; j < i; j++) {
if (arr[j] == temp) { //如果与已生成的元素重复,重新生成
flag = 0;
break;
}
}
if (flag) {
arr[i] = temp;
}
else {
i--;
}
}
printf("生成的随机数组为:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
2.使用指针法输出数组元素值:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int* p;
for (p = arr; p < arr + 5; p++) {
printf("%d ", *p);
}
printf("\n");
return 0;
}
3.对数组中所有偶数求和:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, sum = 0;
for (i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
sum += arr[i];
}
}
printf("所有偶数的和为%d\n", sum);
return 0;
}
4.对数组中所有奇数求和:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, sum = 0;
for (i = 0; i < n; i++) {
if (arr[i] % 2 == 1) {
sum += arr[i];
}
}
printf("所有奇数的和为%d\n", sum);
return 0;
}
5.将数组中的所有数扩大k倍:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, k;
printf("请输入k的值:");
scanf("%d", &k);
for (i = 0; i < n; i++) {
arr[i] *= k;
}
printf("扩大%d倍后的数组为:\n", k);
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
6.把数组中所有偶数位置的元素加起来:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, sum = 0;
for (i = 0; i < n; i += 2) {
if (arr[i] % 2 == 0) {
sum += arr[i];
}
}
printf("偶数位置的元素加起来为%d\n", sum);
return 0;
}
7.找出数组中的最大值:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, max = arr[0];
for (i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
printf("数组中的最大值为%d\n", max);
return 0;
}
8.找出数组中的最小值:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, min = arr[0];
for (i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
printf("数组中的最小值为%d\n", min);
return 0;
}
9.n在数组中搜索指定元素,看其是否存在:
#include <stdio.h>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i, x;
printf("请输入要搜索的元素:");
scanf("%d", &x);
for (i = 0; i < n; i++) {
if (arr[i] == x) {
printf("%d存在于数组中\n", x);
return 0;
}
}
printf("%d不存在于数组中\n", x);
return 0;
}
阅读全文