① 【c语言】输出金字塔问题
因为你的输出是printf("*");所以第一行是输出2个空格,第二行1个空格,第三行没有空格。
如果是 6-2*i,则输出应该是printf("* ");(要有一个空格)
另外,复制代码贴出来,更为方便检查,还可以直接调试。
② C语言输出一组数,为什么成阶梯状分布
看输出,你是把%12ld的字母"l"打成数字"1"了,导致每个数字输出占121个位置,到边缘后换行
前20项不超过10000,用%5d就够了,把printf那行改成
printf("%5d%5d",a,b);