- 给定两个整形变量的值,将两个值的内容进行交换。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 10;
int b = 20;
int c = 0;
c = a;
a = b;
b = c;
printf("a = %d b = %d\n", a, b);
system("pause");
}
- 不允许创建临时变量,交换两个数的内容(附加题)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 10;
int b = 20;
a = a + b;
b = a - b;
a = a - b;
printf("a = %d b = %d\n", a, b);
system("pause");
}
3.求10 个整数中最大值。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10];
int i, j, max;//用j代表最大元素的下标,max代表最大数
printf("请输入十个数字\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &a[i]);//输入十个整数
}
max = a[0];//假定第一个元素是最大的
j = 0;//对最大元素下标进行初始化
for (i = 1; i < 10; i++)
{
if (max < a[i])
{
max = a[i];
j = i;
}
}
printf("a[%d] = %d",j,max);
system("pause");
}
4.将三个数按从大到小输出
利用冒泡法去求.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[3];
int i, j, t;
printf("请输入三个数字\n");
for (i = 0; i < 3; i++)
{
scanf("%d",&a[i]);
}
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2 - i; j++)
{
if (a[j] < a[j + 1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
for (i = 0; i < 3; i++)
{
printf("%d ", a[i]);
}
system("pause");
}
5.求两个数的最大公约数。
利用辗转相除法可以求得两个数的最大公约数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, c;
printf("请输入两个数\n");
scanf("%d %d",&a, &b);
if (a < b)
{
c = a;
a = b;
b = c;
}
while (c != 0)
{
c = a % b;
a = b;
b = c;
}
printf("%d\n", a);
system("pause");
}