代码练习 :3

要求:

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

ex.不允许创建临时变量,交换两个数的内容(附加题)

#include<stdio.h>
int select(){
	int a, b,choice;
	printf("输入两个数(例如2 3):");
	scanf("%d %d", &a, &b);
	Choice:
	printf("请选择有无临时变量(虽然结果相同)\n");
	printf("1.有\n");
	printf("2.无\n");
	scanf("%d", &choice); 
	if (choice == 1 || choice == 2){
		switch (choice){
		case 1:
		{
				  int temp;    //临时变量
				  temp = a;
				  a = b;
				  b = temp;
				  printf("交换后为%d和%d\n", a, b);
				  break;

		}
		case 2:
		{
				  a = a + b;   //利用和来交换
				  b = a - b;
				  a = a - b;
				  printf("交换后为%d和%d\n", a, b);
		}
		}
	}
	else
	{
		printf("输入错误,重新选择\n");
		goto Choice;
	}
}

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

#include<stdio.h>
int select2(){
	int a[10],max;
	for (int i = 0; i < 10; i++){
		printf("输入第%d个数", i + 1);
		scanf("%d",&a[i]);
	}
	max = a[0];
	for (int j = 0; j < 10; j++){
		
		if (a[j]>max){
			max = a[j];
		}
	}
	printf("最大的数是:%d\n", max);
}

3. 将三个数按从大到小输出。

#include <stdio.h>
int select3()
{
	int a[3],t;
	for (int i = 0; i < 3; i++)
	{
		printf("输入第%d个数:\n", i + 1);
		scanf("%d", &a[i]);
	}
	for (int j = 0; j < 2; j++)
	{
		for (int i = 0; i < 2 - j; i++)
		{
			if (a[i] < a[i + 1])
			{
				t = a[i];
				a[i] = a[i + 1];
				a[i + 1] = t;
			}
		}
	}
	printf("输出%d %d %d\n", a[0], a[1], a[2]);
}

4. 求两个数的最大公约数

#include<stdio.h>
int select4(){
	int x, y, temp;
	printf("输入两个数:\n");
	scanf("%d %d", &x, &y);
	if (x < y){
		temp = y;
		y = x;
		x = temp;
	}
	while (y != 0)
	{
		temp = x%y;
		x = y;
		y = temp;
	}
	printf("为%d\n", x);
}

四个要求分四个函数实现,函数之间可利用多文件进行储存,在主函数之间直接声明即可使用。利用main()函数来完成选择菜单。

EX. main()函数

#include<stdio.h>
#include<stdlib.h>
extern int select();
extern int select2();
extern int select3();
extern int select4();
int main(){
	int choice;
	printf("1.给定两个整形变量的值,将两个值的内容进行交换。\n");
	printf("2.求10 个整数中最大值。\n");
	printf("3.将三个数按从大到小输出。\n");
	printf("4.求两个数的最大公约数。\n");
	printf("输入想要的功能\n");
	scanf("%d", &choice);
	if (choice > 0 && choice < 5)
	{
		switch (choice)
		{
		case 1:{
				   select();
				   break;
		}
		case 2:{
				   select2();
				   break;
		}
		case 3:{
				   select3();
				   break;
		}
		case 4:select4();
		}
	}
	else{
		printf("error");
	}
	system("pause");
}

猜你喜欢

转载自blog.csdn.net/weixin_42394840/article/details/88628470
今日推荐