分支和循环练习2(数字的交换,求最大公约数,求素数,打印乘法口诀表,查找数组的最大值)

分支和循环练习2(数字的交换,求最大公约数,求素数,打印乘法口诀表,查找数组的最大值),第1张

分支和循环练习2(数字的交换,求最大公约数,求素数,打印乘法口诀表,查找数组的最大值)

总结:

数字的交换:1.在进行数字交换时,需要定义第三个变量来进行存放交换

2.scanf输入时,双引号里面尽量只用占位符,否则容易出错

求最大公约数:利用的方法是辗转相除法

1. 将两个数相除得到商和余数,将除数放到被除数中,将余数放到除数中,然后利用循环 直到余数为0为止,此时的除数便是最大的公约数(求余数的方法是取模)

例:(r=m%n;m=n;n=r)

求素数:利用的方法是试除法 求素数:例如求100-200之间的素数 先求100是不是素数,只需要确定2-99之间的数是否有能被100整除的有则不是素数 那么就可以利用for循环遍历100-200;然后再用一个循环遍历某个数是不是素数;

方案改进: 因为任何一个不是素数的数都可以写成n=a*b的形式,而如果能从2-n-1中找到一个数小于sqrt(n)的数n=a*b满足那么它一定能被n整除,那么它不是素数,如果一直遍历2-99,遍历的数已经大于sqrt(n)了,那么它便一定是素数

查找数组中最大的值: 注意事项: 先假定一个最大值,该最大值为数组的第一个元素

int main() {
	int a = 0;
	int b = 0;
	int c = 0;
		scanf("%d%d%d", &a, &b, &c); //scanf小括号中不能加入别的符号 
		if (a < b) {
			int temp = 0;
			temp = a;
			a = b;
			b = temp;
		}
		if (a < c) {
			int temp = 0;
			temp = a;
			a = c;
			c = temp;
		}
		if (b < c) { 
			int temp = 0;
			temp = b;
			b = c;
			c = temp;

		}
		printf("%d%d%d", a, b, c);
		return 0;
}

 //求最大公约数: 辗转相除法
int main() {

	int m = 0;
	int n = 0;
	int r = 0;
	scanf("%d%d", &m, &n);
	
	while (r = m % n) {
		
		m = n;
		n = r;
	}
	printf("%d", n);

	return 0;
}

// 求素数的方法

int main() {
	int count = 0;
	for (int i = 100; i <= 200; i++) {
		int j = 0;
		for (j=2; j <= sqrt(i); j++) {
			if (i % j == 0) {
				break;
			}
			
		}
		if (j>sqrt(i)) {
				count++;
				printf("%d ", i);
				
			}	

	}
	printf("%d", count);
	return 0;
}

int main() {
	int i = 0;
	int count = 0;
	for (i = 100; i <= 200; i++)
	{
		int j = 0;
		for (j = 2; j <= sqrt(i); j++)
		{
			if (i % j == 0)
			{
				break;

			}

		}
	}

}



 找出数组中的最大值
int main() {
	int arr[] = { 1,2,3,4,5,6,7,8,9 };
	int max = arr[0];
	
	for (int i = 1; i < sizeof(arr) / sizeof(arr[0]); i++) {
		if (arr[i] > max) {
			max = arr[i];
		}

	}
	printf("max=%d", max);
}

 打印乘法口诀表
int main() {

	for (int i = 1; i <= 9; i++) {
		for (int j = 1; j <= i; j++) {
		
			printf("%d*%d=%dt", i, j,i*j); //%2d 只打印两位 不足用空格补齐

		}
		printf("n");

	}
	


}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5691781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存