C言語 繰り返し処理について

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

C言語 繰り返し処理について

#1

投稿記事 by リッド » 14年前

初めまして。さっそくですが、質問させていただきます!

画像に出ているようなプログラムを作りたいんですが、*が∞に出てきて困っています。

↓書いたプログラムです。

#include<stdio.h>

int main(void)
{
int i,j,k,n,s;

printf("直角三角をn個描きます。\n段数と個数を入力してください。\n");
printf("段数:"); scanf("%d,\n", &s);
printf("個数:"); scanf("%d,\n", &n);

for(k = s; k>0; k--){
for(i = n; i>0; k--){
for(j = (s -k + 1); j>0; j--){
printf("*");
}
for(j = k; j>0; j--){
printf(" ");
}
}
printf("\n");
}

return (0);
}

どこがいけないか、指摘お願いします!putcharを使ったほうがいいのでしょうか?

シエル

Re:C言語 繰り返し処理について

#2

投稿記事 by シエル » 14年前

一瞬しか見てないですが、
for(i = n; i>0; k--){

このループでkをデクリメントしてますが、iの間違いじゃないですか?
これだとiの値は変わらないので無限ループするとおもいますが 。

ひろ

Re:C言語 繰り返し処理について

#3

投稿記事 by ひろ » 14年前

まず参画の奴を出すプログラム考えてからそれを個数分増やすプログラムにしたらいいんじゃないですか。
#include <stdio.h>

int main(void){

int i,j;

for(i = 1; i <= 6; i++){ /*ここの6は段数の数です。*/
for(j = 1; j <= i; j++){

printf("*");
}

printf("\n");
}

return 0;
}

これを実行したら段数6の三角形が1つできてこれを個数回繰り返せるプログラムにしたらいけますよ

リッド

Re:C言語 繰り返し処理について

#4

投稿記事 by リッド » 14年前

シエルさんありがとうございます!

閉鎖

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