- 给定两个整形变量的值,将两个值的内容进行交换
int main() {
int a = 10, b = 20 ;
int c;
c = a;
a = b;
b = c;
printf("%d\n%d\n", a, b);
}
- 不允许创建临时变量,交换两个数的内容
int main() {//以a为中间量,b=10+20-20,a=10+20-(10+20-20)即为所求
int a = 10, b = 20;
a = a + b ;
b = a - b ;
a = a - b ;
printf("%d\n%d\n", a, b);
}
3.求10 个整数中最大值
int main( ) {//用第一个数作为最大数,后面的数依次和他比较,把大数赋值给max即可。
int arr[10], i, max ;
printf("请输入十个整数: ");
for (i = 0; i < 10; i++)
scanf("%d", &arr[i]);
max = arr[0];
for (i = 1; i < 10; i++) {
if (arr[i] > max)
max = arr[i];
}
printf("max = %d\n", max);
system("pause");
return 0;
}
4.将三个数按从大到小输出。
int main( ) { //比较三次把大的依次放进数组,然后依次输出即可
int i, arr[3],a;
printf("请输入三个整数:");
for (i = 0; i < 3; i++)
scanf("%d", &arr[i]);
if (arr[0] < arr[1]) {
a = arr[0];
arr[0] = arr[1];
arr[1] = a;
}
if (arr[0] < arr[2]) {
a = arr[0];
a/rr[0] = arr[2];
arr[2] = a;
}
if (arr[1] < arr[2]) {
a = arr[1];
arr[1] = arr[2];
arr[2] = a;
}
printf("排序后为:");
for (i = 0; i < 3; i++)
printf("%3d", arr[i]);
printf("\n");
system("pause");
return 0;
}
5.求两个数的最大公约数。
int main() {//用遍历的方法解决
int a, b,m,i;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
if (a > b)
m = b;
else m = a;
for (i = m; i > 1; i--) {
if(a % i == 0 && b % i == 0) {
printf("最大公约数是:%d\n", i);
break;
}
}
if(i == 1)
printf("最大公约数是:1\n");
return 0;