- 给定两个整形变量的值,将两个值的内容进行交换。
第一种
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a, b, temp = 0;
printf(“输入两个数的值:\n”);
scanf("%d %d", &a, &b);
temp = a;
a = b;
b = temp;
printf(“a=%d\nb=%d\n”, a, b);
system(“pause”);
return 0;
}
第二种
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a, b, temp = 0;
int *p1 = &a;
int *p2 = &b;
printf(“输入两个数的值:\n”);
scanf("%d %d",&a,&b);
temp = *p1;
*p1 = *p2;
*p2 = temp;
printf(“a=%d\nb=%d\n”, a, b);
system(“pause”);
return 0;
} - 不允许创建临时变量,交换两个数的内容(附加题)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a, b;
printf(“输入两个数的值:\n”);
scanf("%d %d", &a, &b);
a = a^b; //a=a+b; a=a*b;
b = a^b; //b=a-b; b=a/b;
a = a^b; //a=a-b; a=a/b;
printf(“a=%d\nb=%d\n”, a, b);
system(“pause”);
return 0;
}
3.求10 个整数中最大值。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define N 10
int main(){
int i, a[N], Max;
printf(“输入十个数:\n”);
for (i = 0; i < N; ++i)
scanf("%d", &a[i]);
Max = a[0];
for (i = 1; i < N; ++i){
if (Max < a[i]){
Max = a[i];
}
}
printf(“最大的数字为:%d\n”, Max);
system(“pause”);
return 0;
}
4.将三个数按从大到小输出。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a, b, c;
printf(“输入三个数:\n”);
scanf("%d %d %d", &a, &b, &c);
if (a > b){
if (a > c){
if (b > c)
printf("%d %d %d\n", a, b, c);
else printf("%d %d %d\n", a, c, b);
}
}
if (b > a){
if (b > c){
if (a > c)
printf("%d %d %d\n", b, a, c);
else printf("%d %d %d\n", b, c, a);
}
}
if (c > a){
if (c > b){
if (a > b)
printf("%d %d %d\n", c, a, b);
else printf("%d %d %d\n", c, b, a);
}
}
system(“pause”);
return 0;
}
5.求两个数的最大公约数。(两个或多个整数共有约数中最大的一个)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(){
int a, b, c, temp;
printf(“输入两个数:\n”);
scanf("%d %d", &a, &b);
if (a > b){
temp = a;
a = b;
b = temp;
}
c = b%a;
if (c != 0){
b = a;
a = c;
c = b%a;
}
printf(“最大公约数是:%d\n”,a);
system(“pause”);
return 0;
}
关于C的一些较简单的问题!(交换及其排序)
最新推荐文章于 2023-12-23 13:52:47 发布