数组暂存

第1题(教材第10章“编程练习”的第3题):
#include <stdio.h>
#define N 110 
int a[N];

int main() {
	int maxx = -10000;
	int n;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &a[i]);
		if (a[i] > maxx)maxx = a[i];
	}
	printf("%d\n", maxx);
}

第2题(教材第10章“编程练习”的第4题):
#include <stdio.h>
#define N 110 
double a[N];

int main() {
	double maxx = -10000;
	int n;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		scanf("%lf", &a[i]);
		if (a[i] > maxx)maxx = a[i];
	}
	printf("%f\n", maxx);
}

第3题(教材第10章“编程练习”的第10题):
#include <stdio.h>
#define N 110 
int a[N];
int b[N];
int c[N];
int main() {
	int n;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &a[i]);
	}
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &b[i]);
		c[i] = a[i] + b[i];
	}
	for (int i = 0; i < n; i++)
	{
		printf("%d ", c[i]);
	}
	
}

第4题(教材第10章“编程练习”的第13题):
#include<stdio.h>

double a[3][5];

int average(double a[][5], int index)
{
	double s = 0;
	for (int i = 0; i < 5; i++)
	{
		s += a[index][i];
	}
	return s;
}
int main() {
	double maxx = -10000;
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 5; j++)
		{
			scanf("%lf", &a[i][j]);
			if (maxx < a[i][j])maxx = a[i][j];
		}
	}
	int s = 0;
	for (int i = 0; i < 3; i++)
	{
		double x = average(a, i);
		printf("%f\n", x/5.0);
		s = s + x;
	}
	printf("%f\n", s / 15.0);
	printf("%f\n", maxx);
}

第5题( 教材第12章“编程练习”的第5题):
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
const int N = 110;
int a[N];
void swap(int* a, int* b)
{
	int temp = *a;
	*a = *b;
	*b = temp;
}

void Build_max_heap(int a[], int start, int end)
{
	int cur = start;
	int l = 2 * cur + 1;
	for (; l <= end; cur = l, l = 2 * cur)
	{
		if (l < end&& a[l] < a[l + 1])l++;
		if (a[l] > a[cur])swap(&a[l], &a[cur]);
		else break;
	}
}

void HeapSort(int a[], int size)
{
	for (int i = size / 2; i >= 0; i--)
	{
		Build_max_heap(a, i, size - 1);
	}
	for (int i = size - 1; i > 0; i--)
	{
		swap(&a[0], &a[i]);
		Build_max_heap(a, 0, i - 1);
	}

}

int main()
{
	srand(time(0));
	for (int i = 0; i < 100; i++)
	{
		int x = rand() % 10 + 1;
		a[i] = x;
	}
	HeapSort(a, 100);
	for (int i = 0; i < 100; i++)
	{
		printf("%d ", a[i]);
	}
}






posted @ 2024-11-04 22:17  某朝  阅读(17)  评论(0)    收藏  举报