ページ 11

教えてください。part3

Posted: 2009年11月12日(木) 09:58
by good!!
以下の問題のC言語のプログラミングがわかりません。教えてください。
・「アスタリスクの数(*)」を読み込んで、その数だけアスタリスクを表示するプログラムを作成せよ。
以下のプロントタイプ宣言により

示される関数を作成し、これを用いること。
void draw_star(int number);
ここで関数 draw_starは、アスタリスクの数numberを受け取り、その数だけアスタリスクを表示する関数である。

Re:教えてください。part3

Posted: 2009年11月12日(木) 11:03
by たかぎ
> その数だけアスタリスクを表示するプログラムを作成せよ。

処理系が不明ですので、表示するための一般的な方法は存在しません。

> 以下のプロントタイプ宣言により

プロントタイプ宣言とは?

Re:教えてください。part3

Posted: 2009年11月12日(木) 11:48
by たかぎ
分からない部分は勝手に解釈して作ってみました。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <limits.h>

void draw_star(int number)
{
	while (number-- > 0)
		fputs("アスタリスク", stdout);
}

int main(void)
{
	int number = 0;
	int c;

	while ((c = getchar()) != '\n')
	{
		if (!isdigit(c)) abort();
		if (number > INT_MAX / 10) abort();
		number = number * 10 + (c - '0');
	}
	draw_star(number);
}
こんな感じでどうでしょうか?

Re:教えてください。part3

Posted: 2009年11月12日(木) 12:24
by good!!
ありがとうございました。