c语言 10 - 3
1、三个值升序
#include <stdio.h> void swap(int *x, int *y) { int tmp = *x; *x = *y; *y = tmp; } void sort(int *i, int *j, int *k) { if(*i > *j) swap(i, j); if(*i > *k) swap(i, k); if(*j > *k) swap(j, k); } int main(void) { int a, b, c; puts("please input three integers."); printf("a = "); scanf("%d", &a); printf("b = "); scanf("%d", &b); printf("c = "); scanf("%d", &c); sort(&a,&b,&c); puts("\n========================="); printf("a = %d | b = %d | c = %d\n", a, b, c); return 0; }
2、三个值降序
#include <stdio.h> void swap2(int *x, int *y) { int tmp = *x; *x = *y; *y = tmp; } int sort2(int *n1, int *n2, int *n3) { if(*n1 < *n2) swap2(n1, n2); if(*n1 < *n3) swap2(n1, n3); if(*n2 < *n3) swap2(n2, n3); } int main(void) { int a, b, c; puts("please input three integers."); printf("a = "); scanf("%d", &a); printf("b = "); scanf("%d", &b); printf("c = "); scanf("%d", &c); sort2(&a, &b, &c); puts("\n=========================="); printf("a = %d | b = %d | c = %d\n", a, b, c); return 0; }
3、对数组的元素进行升序排列
#include <stdio.h> #define NUMBER 6 void swap(int *x, int *y) { int tmp = *x; *x = *y; *y = tmp; } void sort(int x[], int n) { int i, j; for(i = 0; i < n - 1; i++) { for(j = n - 1; j > i; j--) { if(x[j - 1] > x[j]) { swap(&x[j - 1], &x[j]); // 此处的函数调用给与的实参需要使用取址运算符&,因为x[j-i]和x[j]为数组元素,需要获得指向元素的指针,使用取址运算符&+对象,获得地址, //生成指针。 } } } } int main(void) { int i, a[NUMBER]; puts("please input the element of the array."); for(i = 0; i < NUMBER; i++) { printf("NO.%d = ", i + 1); scanf("%d", &a[i]); } sort(a, NUMBER); puts("\n======================"); for(i = 0; i < NUMBER; i++) { printf("a[%d] = %d\n", i, a[i]); } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律