几个C语言程序 @
一、如何 交换整形变量的内容?
1.给定两个整形变量的值,将两个值的内容进行交换。
#include<stdio.h>
int main()
{
int a, b, c;
a = 20;
b = 10;
c = 0; //创建一个临时变量c
printf("a=%d,b=%d\n", a, b);
c = a;
a = b;
b = c;
printf("a=%d,b=%d\n" ,a, b);
system("pause");
return 0;
}
- 不允许创建临时变量,交换两个数的内容
#include<stdio.h>
int main()
{
int a, b, c;
a = 20;
b = 10;
printf("a=%d,b=%d\n", a, b);
a = a + b; // 将a与b的和赋值给a
b = a - b; //两数的和减去b相当于a,再赋值给b,此时变量b中的数据就是原来的a
a = a - b; //两数的和减去存储着原来a值的b,结果相当于原来的b,再赋值给a,至此整形变量的内容交换成功。
printf("a=%d,b=%d\n" ,a, b);
system("pause");
return 0;
}
二、求MAX值
3.求10 个整数中最大值。
#include <stdio.h>
int main()
{
int num[10] = { 2,3,5,7,9,12,6,1,10,4 };
int max = num[0];
int i = 0;
for (i = 0; i < 10; i++)
{
if (num[i] > max)
max = num[i];
}
printf("%d\n", max);
system("pause");
return 0;
}
4.将三个数按从大到小输出。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main( )
{
int a, b, c, n;
printf("请输入三个数");
scanf("%d%d%d", &a, &b, &c);
if (a < b)
{
n = a; a = b; b = n;
}
if (b < c)
{
n = b; b = c; c = n;
}
if (a < b)
{
n = a; a = b, b = n;
}
printf("从大到小:%d %d %d", a, b, c);
system("pause");
return 0;
}
三、求最大公约数
5.求两个数的最大公约数。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a, b;
printf("输入两个数字求最大公约数:");
scanf("%d%d", &a, &b);
while (a != b)
{
if (a > b)
a = a - b;
else
b = b - a;
printf("最大公约数为:%d\n", a);
}
system("pause");
return 0;
}