一、给定两个整形变量的值,将两个值的内容进行交换。
//给定两个整形变量的值,将两个值的内容进行交换。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 3;
int b = 4;
int c;//创建临时变量c。
c = a;//将a的值赋给临时变量c。
a = b;//将a,b的值互换。
b = c;
printf("a=%d,b=%d", a, b);
system("pause");
return 0;
}
二、不允许创建临时变量,交换两个数的内容
//不允许创建临时变量,交换两个数的内容。
//利用按位异或法。
//运算规则:num1^num2^num1=num2; num1^num2^num2 = num1;
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 3;//3的二进制=011。
int b = 4;//4的二进制=100。
a = a^b;//a=a^b=3^4=011^100=111
b = a^b;//b=a^b=3^4^4=111^100=011
a = a^b;//a=a^b=3^4^3=111^011=100
printf("a=%d,b=%d", a, b);
system("pause");
return 0;
}
三、求10 个整数中最大值。
//求10个整数中最大值。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[10] = { 1, 2, 5, 6, 58, 584, 45, 25, 23, 36 }; //定义一个数组。
int i;
int max=a[0];//假设第一个数为最大值。
for (i = 1; i < 10; i++)
{
if (a[i]>max)//比较其他数与max的大小。
max = a[i];//将最大值重新赋给max。
}
printf("max=%d", max);//输出最大数max。
system("pause");
return 0;
}
四、将三个数按从大到小输出。
//4.将三个数按从大到小输出。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
int j;
int k;
int num=0;
printf("请依次输入i,j,k\n");
scanf("%d%d%d", &i, &j, &k);
if (i < j)//将较大值放入i中。
{
num = i;
i = j;
j = num;
}
if (i< k)//将最大值放入i中。
{
num = i;
i = k;
k = num;
}
if (j < k)//将最小值放入k中。
{
num = j;
j = k;
k = num;
}
printf("%d,%d,%d", i, j, k);
system("pause");
return 0;
}
五、求两个数的最大公约数
//求两个数的最大公约数。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b;
printf("请分别输入a,b\n");
scanf("%d %d", &a, &b);
int n = a;
if (a > b)
{
n = b;
}
for (n; n > 0; n--)//从大到小找公约数。
{
if (a%n == 0 && b%n == 0)//如果n能被a和b整除 则说明n为最大公约数。
{
printf("最大公约数为%d", n);
break;//终止循环。
}
}
system("pause");
return 0;
}