From eaa1811ce777ebde7c7c2842ca9fc17f0948a65e Mon Sep 17 00:00:00 2001 From: smallkun <smallerkun@foxmail.com> Date: Tue, 25 Mar 2025 19:00:16 +0800 Subject: [PATCH] Auto commit --- 最后一舞/C语言基础进阶合集版编程题.md | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/最后一舞/C语言基础进阶合集版编程题.md b/最后一舞/C语言基础进阶合集版编程题.md index d2c7f96..e779034 100644 --- a/最后一舞/C语言基础进阶合集版编程题.md +++ b/最后一舞/C语言基础进阶合集版编程题.md @@ -112,6 +112,53 @@ int main(){ 输出样例:1 0 2 0 3 5 6 8 ``` + ```c + #include <stdio.h> + void change(int a[], int n){ + int i, j, t, index=0; + + for(i=1;i<n;i++){ + if(a[0] > a[i]){//i当前遍历的元素下标 如果当前下标值小于中间值则进入 + index++;//存储位置后移 + t = a[i];//备份当前位置的值 + j = i;//将当前位置的下标存储 + while(j > index){//如果当前遍历位置下标大于存储位置下标则元素整体后移 + a[j] = a[j-1]; + j--; + } + a[index] = t;//元素整体后移后再赋值操作 + } + } + for(i=0;i<n-1;i++){ + if(a[i] > a[i+1]){ + t = a[i]; + a[i] = a[i+1]; + a[i+1] = t; + } + } + } + + int main(){ + int len, i; + int a[100]; + + scanf("%d", &len); + for(i=0;i<len;i++){ + scanf("%d", a+i); + } + + change(a, len); + + for(i=0;i<len;i++){ + printf("%d ", a[i]); + } + printf("\n"); + + return 0; + } + + ``` + ### 4 数组逆序