怎么用C语言实现给定n个整数,找出其中最大与最小的整数。
时间: 2024-05-06 18:16:35 浏览: 165
可以使用数组来存储这n个整数,然后遍历一遍数组,找出最大值和最小值即可。以下是代码示例:
```c
#include <stdio.h>
int main() {
int n, i, max, min;
printf("请输入整数的个数:");
scanf("%d", &n);
int nums[n]; // 声明一个长度为n的数组
// 输入n个整数
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
// 找出最大值和最小值
max = min = nums[0];
for (i = 1; i < n; i++) {
if (nums[i] > max) {
max = nums[i];
}
if (nums[i] < min) {
min = nums[i];
}
}
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
注意,这里假设输入的整数均为正整数,如果需要处理负数的情况,可以在输入时加上一些判断。
相关问题
编写一个c语言代码实现给定n个正整数,找出其中的众数
以下是一个实现给定n个正整数,找出其中的众数的C语言代码:
#include <stdio.h>
int main() {
int n, i, j, count, maxCount = , mode;
scanf("%d", &n);
int nums[n];
for (i = ; i < n; i++) {
scanf("%d", &nums[i]);
}
for (i = ; i < n; i++) {
count = ;
for (j = ; j < n; j++) {
if (nums[j] == nums[i]) {
count++;
}
}
if (count > maxCount) {
maxCount = count;
mode = nums[i];
}
}
printf("%d", mode);
return ;
}
用c语言实现给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
好的,这是一个经典的算法题,可以用哈希表来实现,时间复杂度为 O(n)。具体实现如下:
```c
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int* result = (int*)malloc(sizeof(int) * 2);
*returnSize = 2;
int hash[numsSize];
memset(hash, -1, sizeof(hash));
for (int i = 0; i < numsSize; i++) {
int complement = target - nums[i];
if (hash[complement] != -1) {
result[0] = hash[complement];
result[1] = i;
return result;
}
hash[nums[i]] = i;
}
return result;
}
```
其中,nums 表示整数数组, numsSize 表示数组长度, target 表示目标值, returnSize 表示返回数组的长度。函数返回一个长度为 2 的数组,表示找到的两个数的下标。
阅读全文