1. 给定两个整形变量的值,将两个值的内容进行交换。
#include<stdio.h>
int main(){
int a = 10;
int b = 20;
printf("原为a=%d,b=%d\n",a,b);
int c;
c = a;
a = b;
b = c;
printf("现在a=%d,b=%d\n",a,b);
system("pause");
return 0;
}
2. 不允许创建临时变量,交换两个数的内容
#include<stdio.h>
int main(){
int a = 30;
int b = 20;
printf("原:a=%d,b=%d\n",a,b);
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>
main(){
int a[10];
int b = 0;
printf("请输入十个数:");
for (int i = 0; i < 10; i++){
scanf("%d",&a[i]);
}
for (int j = 1; j < 10; j++){
if (a[j - 1]>a[j]){
b = a[j - 1];
a[j - 1] = a[j];
a[j] = b;
}
}
printf("最大值为:%d",b);
system("pause");
return 0;
}
4.将三个数按从大到小输出。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
main(){
int a, b, c, d;
printf("请输入三个数:\n");
scanf("%d%d%d",&a,&b,&c);
if (a < b){
d = b;
b = a;
a = d;
}
if (a < c){
d = a;
a = c;
c = d;
}
if (b < c){
d = c;
c = b;
b = d;
}
printf("%d %d %d",a,b,c);
system("pause");
return 0;
}
5.求两个数的最大公约数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
main(){
int a, b,c;
printf("请输入两个整数:\n");
scanf("%d%d",&a,&b);
if (a<b){
c = a;
a = b;
b = c;
}
if (a%b == 0){
printf("最大公约数为:%d", b);
}
else {
c = a%b; //辗转相除法
a = b;
b = c;
printf("最大公约数为:%d\n", b);
}
system("pause");
}