day 9_24

  1. 给定两个整形变量的值,将两个值的内容进行交换。
#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a = 10;
	int b = 20;
	int c = 0;
	c = a;
	a = b;
	b = c;
	printf("a = %d b = %d\n", a, b);
	system("pause");
}
  1. 不允许创建临时变量,交换两个数的内容(附加题)
#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a = 10;
	int b = 20;
	a = a + b;
	b = a - b;
	a = a - b;
	printf("a = %d b = %d\n", a, b);
	system("pause");
}

3.求10 个整数中最大值。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a[10];
	int i, j, max;//用j代表最大元素的下标,max代表最大数
    printf("请输入十个数字\n");
	for (i = 0; i < 10; i++)
	{
		scanf("%d", &a[i]);//输入十个整数
	}
	max = a[0];//假定第一个元素是最大的
	j = 0;//对最大元素下标进行初始化
	for (i = 1; i < 10; i++)
	{
		if (max < a[i])
		{
			max = a[i];
			j = i;
		}
	}
	printf("a[%d] = %d",j,max);
	system("pause");
}

4.将三个数按从大到小输出
利用冒泡法去求.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a[3];
	int i, j, t;
	printf("请输入三个数字\n");
	for (i = 0; i < 3; i++)
	{
		scanf("%d",&a[i]);
	}
	for (i = 0; i < 2; i++)
	{
		for (j = 0; j < 2 - i; j++)
		{
			if (a[j] < a[j + 1])
			{
				t = a[j];
				a[j] = a[j + 1];
				a[j + 1] = t;
			}
		}
	}
	for (i = 0; i < 3; i++)
	{
		printf("%d ", a[i]);
	}
	system("pause");
}

5.求两个数的最大公约数。
利用辗转相除法可以求得两个数的最大公约数

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
	int a, b, c;
	printf("请输入两个数\n");
	scanf("%d %d",&a, &b);
	if (a < b)
	{
		c = a;
		a = b;
		b = c;
	}
	while (c != 0)
	{
		c = a % b;
		a = b;
		b = c;
	}
	printf("%d\n", a);
	system("pause");
}

猜你喜欢

转载自blog.csdn.net/busybox1587/article/details/82833654