【C语言---1】一些练习题

给定两个整形变量的值,将两个值的内容进行交换:

#include<stdio.h>
#include<stdlib.h>

int main()
{
	int a = 0;
	int b = 1;
	int c;
	c = a;
	a = b;
	b = c;
	printf("%d %d", a, b);
	system("pause");
	return 0;
}

给定两个整形变量的值(不创建临时变量)将两个值的内容进行交换:

#include<stdio.h>
#include<stdlib.h>
int main()

{
	int a = 10;	 //01010
	int b = 20;	 //10100
	a = a^b;	 //a=11110 b=10100
	b = a^b;	 //b=01010 a=11110
	a = a^b; 	 //a=10100
	printf("a=%d\nb=%d\n", a, b);
	system("pause");
	return 0;
}

求10个整数中最大值:

思路分析:创建一个临时变量max,数组遍历出的每一个数都与max比较,如果比max大就赋给max,最终输出的max就是数组中最大的数

代码示例:

#include<stdio.h>
#include<stdlib.h>

int main()
{
	int arr[10] = { 1, 9, 5, 48, 52, 64, 98, 7505, 944, 10 };
	int max = 0;
	for (int i = 0; i < 11; ++i)
	{
		if (arr[i]>max)
		{
			max = arr[i];
		}
	}
	printf("%d\n", max);
	system("pause");
	return 0;
}

将三个数从大到小输出:

思路分析:把两个数先比较得出一个较大值与一个较小值,在把第三个数与之分别相比,如果比较大值大,说明第三个字是最大的,如果比较小值小,说明第三个数最小,如果处于中间,说明第三个数是中间的数字

代码示例:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h> 

int main()
{
	int a ;
	int b ;
	int c ;
	scanf("%d %d %d", &a, &b, &c);
	int max, min;
	if (a>b)
	{
		max = a;
		min = b;
	}
	if (a < b)
	{
		max = b;
		min = a;
	}
	if (c>max)
	{
		printf("%d %d %d", c, max, min);
	}
	if (c < min)
	{
		printf("%d %d %d", max, min, c);
	}
	else printf("%d %d %d", max, c, min);
	system("pause");
	return 0;
}

求两个数的最大公约数:

思路分析:短除法的代码体现
反思:函数命名不规范

代码示例:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h> 

int zuidagongyueshu(int x, int y)
{
	 if (x%y == 0)
	 {
		  return y;//80%40==0,80和40的最大公约数就是40
	 }//80%70==10,此时继续求70和10的最大公约数,结果为10
	  //那么,10就是80和70的最大公约数
	 else return zuidagongyueshu(y, x%y);
}

int main()
{
	 int a, b;
	 scanf("%d %d", &a, &b);
	 int c=zuidagongyueshu(a, b);
	 printf("%d", c);
	 system("pause");
	 return 0;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值