用双重for循环打印星号三角形,行数由键盘输入的整数决定
请问我的代码哪里错了?
#include <stdio.h>
int main(){
int n,i,j;
printf("输入行数:");
scanf("%d",&n);
for(i=n;i>0;i--){
for(j=0;j<=n-j;j++)printf("* ");
printf("\n");
}
}
j<=n-j?
应该是j<=n-i吧
另,为啥不用i++,而要写i--,你这整个逻辑都是个反的,负负得正了属于
#include <stdio.h>
int main() {
int n,i,j;
printf("输入行数:");
scanf("%d",&n);
for(i=n; i>=0; i--)
{
for(j=0; j<i; j++)
printf("* ");
printf("\n");
}
}
#include <stdio.h>
int main(){
int n,i,j;
printf("输入行数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
printf("*");
printf("\n");
}
}
第七行有问题
#include"stdafx.h"
#include <stdio.h>
int main() {
int n, i, j;
printf_s("输入行数:");
scanf_s("%d", &n);
for (i = n; i>0; i--) {
for (j = 0; j < i; j++)printf_s("* ");
printf_s("\n");
}
getchar();
getchar();
return 0;
}
j=0;j<=n-j;j++,
当j=4时,4<6-4不成立,所以每行打印4个星号,应该用j<=n-i