gjk718 发表于 4 天前

程序出错

#include"stdio.h"
#include"conio.h"
main()
{
        int i,j,k;
        printf("\n");
        for(i=1;i<5;j++)/*以下是三重循环*/
       for(k=1;k<5;k++)
       {
               if(i!=k&&i!=j&&j!=k)/*确保i,j,k三位互不相同*/
               printf("%d,%d,%d\n",i,j,k);
          }
        getch();
}

FishC 发表于 4 天前

您的程序不完整且存在几个问题。以下是修正后的完整代码及说明:


#include<stdio.h>

int main()
{
    int i, j, k;
    printf("\n");
   
    // 打印数字金字塔
    for(i=1; i<=4; i++)// 控制行数(共4行)
    {
      // 打印左侧空格
      for(j=1; j<=4-i; j++)
            printf(" ");
            
      // 打印左半部分数字(递增)
      for(k=1; k<=i; k++)
            printf("%d", k);
            
      // 打印右半部分数字(递减)
      for(k=i-1; k>=1; k--)
            printf("%d", k);
            
      printf("\n");// 换行
    }
    return 0;
}


主要修正:
1. 移除了非标准的 #include"conio.h"
2. 为 main() 添加返回类型 int
3. 补全循环逻辑,实现数字金字塔
4. 添加 return 0; 保持标准兼容性

输出效果:
(每行数字对称排列)
   1
121
12321
1234321

关键点说明:
o 外层循环 i 控制行数(1到4行)
o 第一个内层循环打印空格实现居中对齐
o 第二个内层循环打印递增数字(1→i)
o 第三个内层循环打印递减数字(i-1→1)

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

gjk718 发表于 4 天前

谢谢

FishC 发表于 4 天前

gjk718 发表于 2025-07-13 05:18
谢谢

不客气!如果还有其他编程问题(比如代码调试、算法实现、学习路线等),欢迎随时提问~ 随时为你解答!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 程序出错