解题思路:
首先是输入只含有9个元素的数组a[10],用for循环依次输入。接着输入插入的数字m,将m与数组元素比较。
1、当m<=a[0]时,记录t=0;
2、当m>=a[8]时,记录9;
3、当a[i]<=x<=a[i+1]时,记录x应该插入的位置t=i+1。
但是插入m之前要把元素往后移位,从后往前直到位置t,最后把m赋值给a[t],用for循环输出排好的a[10]。
注意事项:1、找插入位置时注意break退出遍历循环,不然就会出错误;
2、移位从后往前,不然从前往后会使数据丢失。
参考代码:
#include<stdio.h> int main() { int a[10],i,m,t; for(i=0;i<9;i++) { scanf("%d",&a[i]); } a[9]=0; scanf("%d",&m); if(m<=a[0]) t=0; if(m>=a[8]) t=9; for(i=0;i<9;i++) { if(m>=a[i]&&m<=a[i+1]) { t=i+1; break; } } for(i=9;i>t;i--) { a[i]=a[i-1]; } a[t]=m; for(i=0;i<10;i++) { printf("%d",a[i]); printf("\n"); } return 0; }
0.0分
48 人评分
#include<stdio.h> int main() { int a[9],b,k; for(int i=0;i<9;i++) scanf("%d",&a[i]); scanf("%d",&b); for(int i=0;i<9;i++) { if(b>a[i]) printf("%d\n",a[i]); if(b<a[i]) { k=i; printf("%d\n",b); for(i=k;i<9;i++) printf("%d\n",a[i]); break; } } return 0; }
#include<stdio.h> int main() { int i,j,x,tmp,a[10]={0}; for(i=0;i<9;i++) { scanf("%d",&a[i]); } scanf("%d",&x); a[9]=x; for(i=0;i<10;i++) { for(j=0;j<10-i-1;j++) { if(a[j]>a[j+1]) { tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; } } } for(i=0;i<10;i++) { printf("%d\n",a[i]); } return 0; }
这个好理解 ,没看懂踢我(滑稽) #include<stdio.h> int main(void) { int a[9],i,m,k; for(i=0;i<=8;i++) { scanf("%d",&a[i]); } scanf("%d",&m); for(i=0;i<=8;i++) { if(a[i]<m&&a[i+1]>m) k=i; } for(i=0;i<=k;i++) { printf("%d\n",a[i]); } printf("%d\n",m); for(i=k+1;i<=8;i++) { printf("%d\n",a[i]); } return 0; }
大帅哥 2023-11-05 16:16:35 |
为什么要i<=8呢?
大帅哥 2023-11-05 16:16:48 |
为什么要i<=8呢?
大帅哥 2023-11-05 16:16:58 |
为什么要i<=8呢?
大帅哥 2023-11-05 16:32:26 |
为什么要i<=8呢?
荆棘鸟的呼唤 2023-11-05 23:41:01 |
在哪呀 没有啊
荆棘鸟的呼唤 2023-11-05 23:42:57 |
@dotcpp0698483 没有啊
荆棘鸟的呼唤 2023-11-05 23:44:04 |
@dotcpp0698483 没有啊
23计科2班047周雯浩 2023-11-30 18:42:10 |
int main()中为什么要加void?
#include<stdio.h> int main() { int a[10]={0}; int temp=0,n; for(int i=0;i<9;i++) { scanf("%d",&a[i]); } // printf("\n"); scanf("%d",&n); a[9]=n; for(int x=0;x<10;x++) { for(int y=0;y<10;y++) { if(a[x]<a[y]) { temp=a[y]; a[y]=a[x]; a[x]=temp; } } } for(int z=0;z<10;z++) { printf("%d\n",a[z]); } return 0; }
czaire 2023-10-18 17:58:56 |
你这个改变了原规律,如果原先的数字是从大到小,你这输出来就是从小到大了,如果我说的有问题,感谢你帮我指出
简单的a+b (C语言代码)浏览:537 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:471 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1115 |
哥德巴赫曾猜测 (C语言代码)浏览:995 |
C语言程序设计教程(第三版)课后习题5.7 (Java代码)浏览:888 |
Wu-求圆的面积 (C++代码)浏览:1887 |
【金明的预算方案】 (C++代码)浏览:841 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:576 |
三角形 (C语言代码)浏览:905 |
求圆的面积 (C语言代码)浏览:1669 |