Skip to content

Instantly share code, notes, and snippets.

@taiki45
Created July 24, 2012 16:36
Show Gist options
  • Save taiki45/3171079 to your computer and use it in GitHub Desktop.
Save taiki45/3171079 to your computer and use it in GitHub Desktop.
C sample
#include <stdio.h>
#define N 7
int min(int* nums, int len);
int max(int* nums, int len);
int first_appear(int* nums, int len, int target);
int main(int argc, char* argv[])
{
int i, len, target;
int nums[N];
for (i = 0; i < N; i++) {
printf("input a[%d]: ",i);
scanf("%d",&nums[i]);
}
len = sizeof(nums) / sizeof(nums[0]);
printf("min : %d\n", target = min(nums, len));
printf("first min number is at %d\n", first_appear(nums, len, target));
printf("max : %d\n", target = max(nums, len));
printf("first max number is at %d\n", first_appear(nums, len, target));
return 0;
}
int first_appear(int* nums, int len, int target)
{
int i;
for (i=0; i < len; i++) {
if (target == nums[i]) {
return i;
}
}
return 0;
}
int min(int* nums, int len)
{
int* data;
int temp = nums[0];
for (data = nums; data != &nums[len]; data++) {
if (temp > *data) {
temp = *data;
}
}
return temp;
}
int max(int* nums, int len)
{
int temp = nums[0];
int* data;
for (data = nums; data != &nums[len]; data++) {
if (temp < *data) {
temp = *data;
}
}
return temp;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment