c言語の図形について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
KA

c言語の図形について

#1

投稿記事 by KA » 9年前

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;
}

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

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

#2

投稿記事 by みけCAT » 9年前

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;
}
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

KA

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

#3

投稿記事 by KA » 9年前

解説付きで教えてくださってありがとうございます
無事成立させることができました

閉鎖

“C言語何でも質問掲示板” へ戻る