ページ 1 / 1
for文とswitch文の問題
Posted: 2019年1月20日(日) 03:39
by Nir
forとswitchとprintf("なま"); printf("むぎ"); printf("ごめ"); printf("たまご");を使い、「なまむぎなまごめなまたまご」を表示させるプログラムを作りたいのですがよくわからないので教えていただけると嬉しいです。
for文
Posted: 2019年1月20日(日) 03:41
by Nir
forとprintf("#");とprintf("%d", i);を使って
#1
##2
###3
####4
#####5
こんな感じに文字が並ぶプログラムを組みたいです。
入力した文字を並べるまでは出来たのですが、そこからが全くわからなく困っています。
#include<stdio.h>
int main()
{
int i;
int num;
scanf("%d",&i);
for(num=0;num<i;num++){
printf("*");
}
return 0;
}
Re: for文とswitch文の問題
Posted: 2019年1月20日(日) 08:31
by Math
#1
む、新種のクイズでしょうか。
C++Builder (C++17対応)使用
cx.bat
コード:
"C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\bcc32" main.cpp
dir main.exe
main.exe
pause
main.c
コード:
#include <stdio.h>
int main(void){
for (int i=0; i<6; i++){
switch(i){
case 0:
case 2:
case 4:
printf("なま");
break;
case 1:
printf("むぎ");
break;
case 3:
printf("ごめ");
break;
case 5:
printf("たまご");
break;
}
}
return 0;
}
cx.bat をダブルクリック
http://www2.koyoen.birdview.co.jp/~abcx ... 20-01-.PNG
Re: for文とswitch文の問題
Posted: 2019年1月20日(日) 08:58
by Math
#2
main.c
コード:
#include <stdio.h>
int main(void){
int i;
int num;
scanf("%d",&i);
for (int j=1; j<=i; j++){
for(num=0;num<j;num++){
printf("*");
}
printf("%d\n",j);
}
return 0;
}
http://www2.koyoen.birdview.co.jp/~abcx ... 20-02-.PNG
Re: for文とswitch文の問題
Posted: 2019年1月20日(日) 15:02
by Nir
実行する順番をcaseで順番通りに書けばよかったんですね!
ありがとうございます。
Re: for文とswitch文の問題
Posted: 2019年1月20日(日) 15:55
by Math
そうですね。
最近の処理系は for文の中で変数を宣言出来るので
for (int i=0; i<6; i++){
と書いてあります。
Re: for文とswitch文の問題
Posted: 2019年1月20日(日) 18:48
by かずま
解答は一つとは限りません。こんな風にも書けます。
コード:
#include <stdio.h>
int main(void)
{
for (int i = 0; i < 3; i++) {
printf("なま");
switch (i) {
case 0: printf("むぎ"); break;
case 1: printf("ごめ"); break;
default: printf("たまご");
}
}
}
Re: for文とswitch文の問題
Posted: 2019年1月20日(日) 21:09
by Math
[雑談] 参考
C++Buiderは
著名な「Borland C++Compiler 5.5」BCC55 の後継であり
システム環境変数「Path」の変数値の編集をしておけば
同じ命令 bcc32 でコンパイルできます (^^;
ここではソースと同じ場所に varset.bat を置き最初に実行する。
http://8cmp.blog.fc2.com/blog-entry-10.htmlなどのソースを参考に
http://www2.koyoen.birdview.co.jp/~abcx ... 20-03-.PNG
とすればよい。
Re: for文とswitch文の問題
Posted: 2019年1月20日(日) 21:29
by Math
varset.bat は
コード:
set path=%path%;"C:\Program Files (x86)\Embarcadero\Studio\20.0\bin"
です。
Re: for文とswitch文の問題
Posted: 2019年1月20日(日) 22:14
by Math
もちろん Embarcadero C++ Compiler bcc32c も
「Embarcadero C++ Compiler」の最新版 Clang 互換の bcc32x も余計な制限なしに使える。
https://forest.watch.impress.co.jp/docs ... 21005.html
Re: for文
Posted: 2019年1月21日(月) 00:10
by かずま
Nir さんが書きました: ↑6年前
forとprintf("#");とprintf("%d", i);を使って
#1
##2
###3
####4
#####5
printf("#");とprintf("%d", i);を使わないといけないん
ですよね。for文 1個で書いてみました。
コード:
#include <stdio.h>
int main(void)
{
int n, i, j;
scanf("%d", &n);
for (i = j = 1; i <= n; j++)
i < j ? printf("%d", i), printf("\n"), i++, j = 0 : printf("#");
}
Re: for文とswitch文の問題
Posted: 2019年1月21日(月) 06:36
by Math
[雑談] 参考
C++Builder は
viewtopic.php?f=3&t=20503
の#3で書いたように C# とは双子のようなもので C++ では 唯一の RAD 環境である。
C++17に対応し Clang互換を追求したEmbarcadero C++ Compilerを内包し
マルチプラットフォーム開発ができ iPhone,Android スマホのプログラムが開発出来る。
C++Bilder10.3 Rio Community は無料です。
なおVS2017ではC++でXAML(ザムル)が使えるようにはなっている。