栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言入门的简易程序3

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言入门的简易程序3

目录
  • 一、将三个从大到小输出
    • 1.思路
    • 2.代码如下
    • 3.结果图
  • 二、求两个数的最大公约数
    • 1.思路
    • 2.代码如下
    • 结果图
  • 三、不允许创建临时变量,交换两个数的内容(数组大小相同)
    • 1.思路
    • 2.代码如下
    • 3.结果图


一、将三个从大到小输出 1.思路

这个题是比较简单的,我们需要将这三个数依次进行比较,将较大的数替换到前面即可,详情请看代码。


2.代码如下
#include
int main()
{
	int i ,j;
	int arr[3] = { 0 };
	for (i = 0; i < 3; i++)
	{
		scanf("%d", &arr[i]);
	}
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 3 - i; j++)
		{
			int tmp = 0;
			if (arr[j] < arr[j + 1])
			{
				tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
	}
	for (i = 0; i < 3; i++)
	{
		printf("%d ", arr[i]);
	}
	return 0;
}

3.结果图

如图所示:


二、求两个数的最大公约数 1.思路

这个题的解法有几种,我这里用的是辗转相除法,又叫欧几里得法,如有两个数a,b,要求这两个数的最大公约数,可以把这两个数相除然后取余数,如果余数不为0,则把除数和所得到的余数继续相除求余数,直到其余数为0是,其除数就是最大公约数。
例:求84和63的最大公约数,步骤如下:
  84/63=1(余21)
  63/21=3(余0)
  即最大公约数为21
提示:还有另一种算法叫更相减法,思路都是差不多的,感兴趣的可以试试。


2.代码如下
#include
int main()
{
	int a, b;
	printf("请输入两个数字:");
	scanf("%d%d", &a, &b);
	int tmp;
	tmp = a % b;
	while (tmp)
	{
		a = b;
		b = tmp;
		tmp= a % b;
	}
	printf("最大公约数为:%d",b);
	return 0;
}

结果图

如图所示:


三、不允许创建临时变量,交换两个数的内容(数组大小相同) 1.思路

这个题目我想到了五种解法,第一种:空瓶倒,也就是再创建一个新的数组,去实现两个数组的互换;第二种和第三种:不用创建新的数组,利用上篇文章中的第二题,使用for循环对数组中的元素进行逐个替换;
第四种:可以利用指针对数组进行操作,从而达到替换的目的,第五种:可以利用strcpy这个函数实现替换。
注:这里只展现第二种和第三种方法,如对其他方法感兴趣的话,可以自主尝试。


2.代码如下
#include
int main()
{
	int a[10];
	int b[10];
	printf("请输入数组a的内容:n");
	int i;
	for (i = 0; i < 10; i++)
	{
		scanf("%d", &a[i]);
	}
	printf("请输入数组b的内容:n");
	for (i = 0; i < 10; i++)
	{
		scanf("%d", &b[i]);
	}
	for (i = 0; i < 10; i++)
	{
		
		
		a[i] = a[i] + b[i];
		b[i] = a[i] - b[i];
		a[i] = a[i] - b[i];
	
	}
	printf("数组a的内容为:");
	for (i = 0; i < 10; i++)
	{
		printf("%d ", a[i]);
	}
	printf("数组b的内容为:");
	for (i = 0; i < 10; i++)
	{
		printf("%d ", b[i]);
	}
	return 0;
}

3.结果图

如图所示:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号