1.给定两个整形变量的值,将两个值的内容进行交换。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int Exchange(int x, int y) {
int i ;
i = x;
x = y;
y = i;
printf("交换后两数为:%d,%d\n", x, y);
return 0;
}
int main ( ) {
int m ;
int n ;
printf ("请输入两个整数:") ;
scanf ("%d %d", &m, &n) ;
Exchange(m, n);
system ("pause") ;
return 0;
}
2.不允许创建临时变量,交换两个数的内容(附加题)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int Exchange(int x, int y){
x = x + y;
y = x - y;
x = x - y;
printf("%d %d\n", x , y );
return 0;
}
int main ( ) {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
Exchange(a, b);
system("pause");
return 0;
}
3.求10 个整数中最大值。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main( ) {
int array[10] ;
int p ;
int i;
printf("请输入十个整数:");
scanf("%d %d %d %d %d %d %d %d %d %d", &array[0], &array[1], &array[2], &array[3], &array[4], &array[5], &array[6], &array[7], &array[8], &array[9]);
for (i = 0; i < 10; i++) {
if (array[0] > array[i + 1]) {
p = array[0];
}
else {
p = array[i + 1];
}
array[0] = p;
}
printf("最大整数为%d\n", p);
system("pause");
return 0;
}
4.将三个数按从大到小输出。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main ( ) {
int array[3];
int i, j, p;
printf("请随意输入三个整数:");
scanf("%d %d %d", &array[0], &array[1], &array[2]);
for (i = 0; i < 3 - 1; i++) {
for (j = 0; j < 3 - 1; j++) {
if (array[j] < array[j + 1]) {
p = array[j];
array[j] = array[j + 1];
array[j + 1] = p;
}
}
}
printf("排序后的数字是:%d >= %d >= %d\n", array[0], array[1], array[2]);
system("pause");
return 0;
}
5.求两个数的最大公约数。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
//这里用辗转相除法求两个数的最大公约数
int main ( ) {
int a, b, x;
printf("请任意输入两个整数:");
scanf("%d %d", &a, &b);
if (a > b) { //判断a是否大于b,如果大于则取a除以b的余数并赋给x;
x = a % b;
}
else { //如果a小于b,则先将a,b的值调换再取余;
x = a;
a = b;
b = x;
x = a % b;
}
while (x != 0) { //用辗转相除法求最大公约数
a = b;
b = x;
x = a % b;
}
printf("两数的最大公约数是%d\n", b); //输出
system("pause");
return 0;
}
.