たとえば、点数をscanfで入力するプログラムで、
その値を黒画面上に棒グラフっぽく表す方法があれば教えて下さい。
あと、連続で文字を表示する場合、
例えば、**************と黒画面上に出したい場合、
<定義略>
printf(%14c,'*')
なんて書き方ありますかね?
超初心者です、
もしよければどなたか教えてください。
C初心者です。
-
box
Re:C初心者です。
> printf(%14c,'*')
>
> なんて書き方ありますかね?
私だったら、まずサンプルコードを書いて試してみます。
そうしてみる予定や余裕はありますか?
>
> なんて書き方ありますかね?
私だったら、まずサンプルコードを書いて試してみます。
そうしてみる予定や余裕はありますか?
-
ほけほけ
Re:C初心者です。
> ただ単にprintf("**************");
> と、表記して下さればできますよ
ぴよぴよさん
ありがとうございます。
ただ、レイアウトを考えて、黒画面に表示する場合、マスの数指定で表記はできないのかと思ったんです。
その場合、やはりループ処理で表記するしかないんですかね?
> と、表記して下さればできますよ
ぴよぴよさん
ありがとうございます。
ただ、レイアウトを考えて、黒画面に表示する場合、マスの数指定で表記はできないのかと思ったんです。
その場合、やはりループ処理で表記するしかないんですかね?
-
ほけほけ
Re:C初心者です。
> > printf(%14c,'*')
> >
> > なんて書き方ありますかね?
>
> 私だったら、まずサンプルコードを書いて試してみます。
> そうしてみる予定や余裕はありますか?
boxさん、ありがとうございます。
いまコンパイルができない状態にありまして、すいません。
明日試してみます。
> >
> > なんて書き方ありますかね?
>
> 私だったら、まずサンプルコードを書いて試してみます。
> そうしてみる予定や余裕はありますか?
boxさん、ありがとうございます。
いまコンパイルができない状態にありまして、すいません。
明日試してみます。
-
管理人
Re:C初心者です。
どうしてもループを使いたくないのなら、
文字列にそれぞれのスターを要素数に対応して格納しておけばどうでしょうか。
char st[10][10]={
{""},
{"*"},
{"**"},
{"***"},
{"****"},
{"*****"},
{"******"},
{"*******"},
{"********"},
{"*********"}
};
このように入れておいて、scanfで取り込んだ値を要素番号として表示すればその数だけスターが表示されます。
コレくらいしか方法は思いつきません・・。
forを使ったほうが早いかと思います。 -
管理人
Re:C初心者です。
サンプルです。エラー処理していません。
#include <stdio.h>
void main(){
int n;
char st[11][11]={
{""},
{"*"},
{"**"},
{"***"},
{"****"},
{"*****"},
{"******"},
{"*******"},
{"********"},
{"*********"},
{"**********"},
};
printf("0~10の数字を入力してください\n");
scanf("%d",&n);
printf("%s",st[n]);
}
実行結果
0~10の数字を入力してください
10
**********
-
フリオ
Re:C初心者です。
こんな方法もあります。
#include <stdio.h>
int main(void)
{
int n;
char *marks = "********************";
puts(marks);
n = 14;
printf("%.*s", n, marks);
return 0;
}
-
管理人
Re:C初心者です。
あ、その手がありますね。
質問者さん、フォーマット文字列のフォーマットについてこちら参考になります。
http://www.linux.or.jp/JM/html/LDP_man- ... ntf.3.html
質問者さん、フォーマット文字列のフォーマットについてこちら参考になります。
http://www.linux.or.jp/JM/html/LDP_man- ... ntf.3.html