|
发表于 2022-8-9 10:39:41
|
显示全部楼层
本帖最后由 柿子饼同学 于 2022-8-9 10:43 编辑
看看别的吧 qwq
这代码太阴间了
帮你改了 排版 , 以后照着别人的代码写 , 不要再这样写了
你这个主要问题是那个 for 循环如果没加大括号就只执行最近的一个语句
即使有语句在它下面也不会执行
另外 , 你的 main 的 int 没加 , 后面 return 0; 没加
建议以后看到循环就加大括号 , 至少清楚一点
千万不要 不要 不要 这么写代码了
- #include<stdio.h>
- int main(){
- int i, j, p, q, s, n;
- int a[11] = {127, 3, 6, 28, 54, 68, 87, 105, 162, 18};
- for(i = 0; i < 10; i++){
- p = i;
- q = a[i];
- for(j = i+1; j < 10; j++){
- if(q < a[j]){
- p = j;
- q = a[j];
- }
- }
- if(p != i){
- s = a[i];
- a[i] = a[p];
- a[p] = s;
- }
- printf("%d ",a[i]);
- }
- printf("\ninput number:\n");
- scanf("%d", &n);
- for(i = 0; i < 10; i++){
- if(n > a[i]){
- for(s = 9; s >= i; s--){
- a[s+1] = a[s];
- }
- break; // 你现在知道为什么了吧
- }
- }
- a[i] = n;
- for(i = 0; i <= 10; i++){
- printf("%d ", a[i]);
- }
- printf("\n");
- return 0;
- }
复制代码 |
|