找出两段长度为n的数组中相同的数字,并计数,C语言,不使用函数
时间: 2024-09-26 22:07:17 浏览: 34
在C语言中,如果你想要找出两个长度为n的数组中相同的数字并计数,但不允许使用函数,你可以通过遍历和比较的方式来实现。这里是一个简单的示例,使用嵌套循环来逐个比较每个元素:
```c
#include <stdio.h>
#define MAX_NUM 100
int main() {
int arr1[MAX_NUM], arr2[MAX_NUM], common_count = 0; // 声明两个数组和一个计数变量
int n;
printf("请输入第一个数组的长度:");
scanf("%d", &n);
// 输入第一个数组
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个元素:", i + 1);
scanf("%d", &arr1[i]);
}
printf("\n请输入第二个数组的长度:");
scanf("%d", &n); // 验证两次输入的长度是否一致
if (n != sizeof(arr1) / sizeof(arr1[0])) {
printf("两个数组的长度不一致,无法继续。\n");
return 0;
}
// 比较两个数组中的元素
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) { // 内层循环从当前元素开始避免重复计数
if (arr1[i] == arr2[j]) {
common_count++; // 如果找到相同的数字,计数器加一
break; // 一旦找到就跳出内层循环,防止重复计数
}
}
}
printf("两个数组中有 %d 个相同的数字。\n", common_count);
return 0;
}
```
在这个程序中,我们首先获取用户输入的两个数组长度,然后分别读取数组元素并进行逐一比较。如果发现相同的数字,我们会增加`common_count`的值,同时使用`break`来跳过后续对这个已知相同数字的检查。
阅读全文