//
// Created by 86184 on 2024/8/15.
//
//1.输入3个整数,按由小到大输出
void swap(float *p1, float *p2);
int main() {
float num1 = 0.0f, num2 = 0.0f, num3 = 0.0f;
scanf("%f%f%f", &num1, &num2, &num3);
float *p1, *p2, *p3;
p1 = &num1;
p2 = &num2;
p3 = &num3;
if (*p1 > *p2) {
swap(p1, p2);
}
if (*p1 > *p3) {
swap(p1, p3);
}
if (*p2 > *p3) {
swap(p2, p3);
}
printf("三个数从小到大为:%.0f %.0f %.0f", num1, num2, num3);
return 0;
}
void swap(float *p1, float *p2) {
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
//
// Created by 86184 on 2024/8/15.
//
//2.输入三个字符串,按从小到大的顺序排列
void swap(char *, char *);
int main() {
//设置较大的数组长度,以供copy
char s1[100] = "abc", s2[100] = "abcdef", s3[100] = "abce";
char *p1, *p2, *p3;
p1 = s1;
p2 = s2;
p3 = s3;
if (strcmp(p1, p2) > 0) swap(p1, p2);
if (strcmp(p1, p3) > 0) swap(p1, p3);
if (strcmp(p2, p3) > 0) swap(p2, p3);
printf("从小到大排列为:\n");
printf("%s\n%s\n%s", p1, p2, p3);
return 0;
}
void swap(char *p1, char *p2) {
char p[20];
strcpy(p, p1);
strcpy(p1, p2);
strcpy(p2, p);
}
//功能:strcmp 函数用于比较两个字符串。
//参数:str1 和 str2 是要进行比较的两个字符串。
//返回值:根据比较结果,strcmp 返回整数值:
//函数用于比较两个字符串的大小关系。
//它按照从左到右的顺序逐个比较两个字符串中的字符,直到遇到第一个不同的字符,
// 然后根据字符的 ASCII 码值来确定两个字符串的大小关系。
//如果 str1 等于 str2,则返回 0。
//如果 str1 小于 str2,则返回负数。
//如果 str1 大于 str2,则返回正数。
//函数原型:char* strcpy(char* dest, const char* src);
//参数说明:
//dest:目标字符串,即将被复制到的字符串。
//src:源字符串,即将被复制的字符串。
//
// Created by 86184 on 2024/8/15.
//
//3.输入10个整数,将其中最小的数与第一个数对换,把最大的与最后一个数对换
// 写三个函数:
// 输入十个数
// 进行处理
// 输出十个数
void input(int *number) {
printf("请输入10个数:");
fflush(stdout);
for (int i = 0; i < 10; ++i) {
scanf("%d", &number[i]);
}
}
void exchange(int *number) {
int *min, *max, *p;
int temp = 0;
min = max = number; //指向数组第一个元素
for (p = number + 1; p < number + 10; p++)
if (*p > *max) max = p;
else if (*p < *min) min = p;
temp = number[0];
number[0] = *min;
*min = temp;
temp = number[9];
number[9] = *max;
*max = temp;
}
void output(int number[]) {
int *p;
for (p = number; p < number + 10; p++) {
printf("%d ", *p);
}
printf("\n");
}
int main() {
int number[10];
input(number);
exchange(number);
output(number);
return 0;
}