こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

プログラミング、C言語について・・・

プログラミング、C言語について・・・
大学の宿題でわからないところがありまして・・・

課題は、 キーボードから入力した数だけ、*(アスタリスク)を表示するようなプログラミングを作成せよ
また、表示を見やすくするため*が10個表示されるたびに改行を入れよ。

なんですが
とくにキーボードから入力した数だけ、*(アスタリスク)を表示するようなプログラミング
がわからなくて困ってます。

あとこのプログラミングではforではなくてwhileでお願いします。

わがまま多いですがよろしくお願いします。

投稿日時 - 2010-05-24 00:35:23

QNo.5917238

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

#include <stdio.h>

int main(void){
int i = 0;
int asterisk = 0;
printf("アスタリスクを何個表示させますか?\n");
scanf("%d", &asterisk);
while( i < asterisk){
printf("*");
i++;
if(i % 10 == 0){
printf("\n");
}
}
}

簡単に書いてみました

投稿日時 - 2011-06-07 22:08:10

ANo.4

1. まず、for を使って書いてみる。(動作確認する)
2. テキストの while のところに、90% ぐらいの確率で、「というわけで、whle を for で書き直すと……」という解説がある
3. その解説を見ながら、for を while に翻訳する。

というステップで書けそうな気がする。

投稿日時 - 2010-05-24 09:25:59

ANo.3

#2 です
ちょっとタイプミスです。
× fputchar()
   ↓
○ putchar()
です。

投稿日時 - 2010-05-24 06:09:50

ANo.2

#include <stdio.h>

void main()
{
int num;
int amari;

fscanf("%d", &num);
amari = num % 10;

while (num) {
fputchar('*');
num--;
if (num % 10 == amari) {
fputchar('\n');
}
}
}

投稿日時 - 2010-05-24 06:07:24

ANo.1

まずはFor文で書いてみたら?
それで出てこないな重傷ですね。
課題なんて素直にやめちゃいましょう。

あとは、Printf()で改行するかしないかの設定だけ。

投稿日時 - 2010-05-24 00:43:04

あなたにオススメの質問