1215787625 发表于 2023-11-10 21:30:02

为什么输出值不对

#include<stdio.h>
int main{       
for(c=0;c<m;c++){
                if(d>=d&&c!=m){
      t = d;
      printf("%d\n",t);
                d=d;
                d=t;
                c=0;
                }
        }
return 0;
}

isdkz 发表于 2023-11-10 21:30:16

您的代码存在一些问题,首先是 int main{ 应该是 int main(){ ,括号是必须的。其次,循环中使用的变量 c 和 m 没有进行声明和赋值,这会导致编译错误。另外, d 数组也没有被定义。最后, return 0; 应该是 return 0; ,分号是多余的。

如果您想要对数组进行冒泡排序,可以使用以下代码作为参考:

#include <stdio.h>

int main() {
    int d[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
    int n = sizeof(d) / sizeof(int);

    for (int i = 0; i < n - 1; i++) {
      for (int j = 0; j < n - i - 1; j++) {
            if (d > d) {
                int temp = d;
                d = d;
                d = temp;
            }
      }
    }

    for (int i = 0; i < n; i++) {
      printf("%d\n", d[ i]);
    }

    return 0;
}


这段代码会对数组 d 进行冒泡排序,并输出排序后的结果。
页: [1]
查看完整版本: 为什么输出值不对