ページ 11

c言語の図形について

Posted: 2016年6月01日(水) 20:57
by KA
c言語で最上段*のみ、次の段から空白と*を入力して7の形の図形を書くという宿題が出たので書いてみましたが途中で詰まります
どこが原因か教えてもらえないでしょうか?

コード:

#include <stdio.h>

int main(void)
{
	int p,q,i, j,n;
	scanf("%d",&n);

	for(p=1; p<2; p++){
	for(q=1;q<=n;q++) printf("*");
	}
	printf("\n");
	
	for(i=1; i<=n-1; i++){
	for(j=1; j<=n-2; j++) printf(" ");
	n--;
	printf("*");
	printf("\n");
	}
	
	return 0;
}

Re: c言語の図形について

Posted: 2016年6月01日(水) 21:45
by みけCAT
nをデクリメントしてしまっているのがいけないと思います。
nを直接書き換えず、jを動かす範囲をiに従って減らすといいかもしれません。

コード:

#include <stdio.h>

int main(void)
{
	int p,q,i, j,n;
	scanf("%d",&n);

	for(p=1; p<2; p++){
		for(q=1;q<=n;q++) printf("*");
	}
	printf("\n");
	
	for(i=1; i<=n-1; i++){
		for(j=i; j<=n-2; j++) printf(" "); /* jの初期値を1ではなくiに */
		/* デクリメントを削除 */
		printf("*");
		printf("\n");
	}
	
	return 0;
}

Re: c言語の図形について

Posted: 2016年6月01日(水) 21:50
by KA
解説付きで教えてくださってありがとうございます
無事成立させることができました