- 締切済み
流れ図からプログラムに直してください!【C言語】
その流れ図をC言語のプログラムに直してくれませんか? 処理2はscanf(..);って感じの内容です。 入口 処理1 for(処理2; 判断; 処理4){ 処理3 } 出口 って感じかなって思ったんですが、for文の中にscanfの文を入れてもいいのかわからずに悩んでます。 ループ文なのでwhile文、for文、do..while文のどれかかな?って思ったんですが違う気もして、わかるかたいらっしゃいませんか?
- xX_Devil_Xx
- お礼率0% (0/8)
- C・C++・C#
- 回答数2
- ありがとう数0
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- f272
- ベストアンサー率46% (8021/17145)
入口 処理1 for(処理2; 判断; 処理4){ 処理3 } 出口 だと処理2はループの外で1回しか実行されません。流れ図の通りにするのなら素直に#1さんのようにすべきです。
- f272
- ベストアンサー率46% (8021/17145)
入口 処理1 for(処理2; 判断; 処理4){ 処理3 } 出口 だと処理2はループの外で1回しか実行されません。流れ図の通りにするのなら素直に#1さんのようにすべきです。
- asuncion
- ベストアンサー率33% (2126/6288)
>for文の中にscanfの文を入れてもいいのかわからず 問題ありません。 scanf文ではなくてscanf関数ですけど。 #include <stdio.h> int main(void) { // 必要な変数を適切に定義する 処理1; while (1) { 処理2; if (判断1) break; 処理3; 処理4; } return 0; }
関連するQ&A
- C言語のプログラムについて
C言語のプログラムについて 3桁の自然数の中で、自分自身を含めた約数が奇数になるものがいくつあるかを求めるプログラムを作りたいのですが、swich文を使って、6通りの方法で出そうとしていまして、 while 文、 for文、 do while文に加え、 for文のを、1つの関数として独立させたもの、 さらに、for文のを重ループ部分のそれぞれのループに対応して、2つの関数として独立させたもの、 そして、この2つの関数のどちらともをループを用いずに再帰呼び出しを用いたもの の6通りで出したいのですが、swich文を使うところは自力でできたのですが、あとの6つそれぞれのプログラムの組み方がわかりません。 教えていただけないでしょうか?ややこしい書き方をしてすいません・・・。
- 締切済み
- C・C++・C#
- C言語について…
C言語についてですが… while文とdo while文はどう違うんですか?プログラムの書き方が違うくらいでしょうか? またwhile文とdo while文のどちらかしか使えない場合、どちらを使いますか?理由もお願いします。
- ベストアンサー
- その他(学問・教育)
- C言語プログラム
C言語プログラム ある数を入力して、入力された数を一辺とする図形を描くプログラムを作りたいんです。 分かりやすくすると、 入力された数が5だった時、画面には ***** ***** ***** ***** ***** ↑こう出力させたいんです。 四角だけじゃなくて、 * ** *** **** ***** ↑こういう三角とか、逆三角とか、 * * ** *** *** ***** ** *** * * こんなかんじでいろんな形を描けるようにしたいんです。 C言語で、for文の二重ループを使うようにとのことなんですが、 どうすればいいでしょうか。 こういうのってズルですけど、何かヒントでも貰えればと思っています...。
- ベストアンサー
- その他(プログラミング・開発)
- C言語について。
今、C言語に関する問題をやっているんですが、いまいちわかりません。 その問題というのは↓ ≪問題5 (繰り返し) 例題をもとに、次のような九九の表を出力するプログラムを作成しなさい。 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 ~(略) ≫ という問題です。それで、その例題というのは↓ ≪例題4 (for文、do while文) 次のプログラムは、入力された整数を一辺とする正方形を出力するプログラムである。動作確認をしなさい。 4 (←入力) **** (←出力) **** **** **** /* 正方形 */ #include <stdio.h> void main() { int hen, i, j; do{ printf("数字(2~9)を入力してください : "); scanf("%d", &hen); if( hen < 2 || hen > 9 ) printf("入力エラーです!\n"); }while( hen < 2 || hen > 9); for( i = 1 ; i <= hen ; i++) { for( j = 1 ; j <= hen ; j++) printf("*"); putchar('\n'); } } ≫ ≪例題5 (for文、do while文) 次のプログラムは、入力された整数を一辺とする二等辺三角形を出力するプログラムである。動作確認しなさい。 4 (←入力) * (←出力) ** *** **** /* 二等辺三角形 */ #include <stdio.h> void main() { int hen, i, j; do{ printf("数字(2~9)を入力してください : "); scanf("%d", &hen); if( hen < 2 || hen > 9 ) printf("入力エラーです!\n"); }while( hen < 2 || hen > 9 ); for( i = 1 ; i <= hen ; i++ ) { for( j = 1 ; j <= i ; j++ ) printf("*"); putchar('\n'); } } ≫ 以上の二つが例題です。 わかりづらかったらすみませんm(_ _)m わかる方(問題5を)教えてくださるとありがたいです。
- ベストアンサー
- C・C++・C#
- C言語のプログラムの質問です
C言語で負の値が入力されたときに処理を終了する条件でキーボードから繰り返し入力するためにはどのようなプログラムにしたらいいですか? (FOR文を使い、FOR文の繰り返し条件を入れないで繰り返す)
- 締切済み
- 情報工学
- c言語のプログラムで
c言語で 2つの整数を読み込んで小さいほうの数以上で大きいほうの数以下の整数をすべて加えた値を表示するプログラム で最後の表示の仕方がわかりません。 実行結果は 整数1:37 整数2:28 28以上37以下の全整数は325です。と表示されるはずです。 この表示の3行目の28と37の表示がどうやればよいのかわかりません。 #include <stdio.h> int main(void) { int a, b; int sum=0; printf("整数1:"); scanf("%d",&a); printf("整数2:"); scanf("%d",&b); if(a>b) do{ sum=sum+b; b=b+1; }while(b<=a); else do{ sum=sum+a; a=a+1; }while(a<=b); printf("%d以上%d以下の全整数の和は%dです。",a,b,sum); return(0); } 全整数の表示はできます。 do文の中でa=cとかにしてやってみましたが、うまくいきませんでした。 お願いします。
- ベストアンサー
- その他(プログラミング・開発)
- C言語のプログラムを作りました。
以下のプログラムは動くかどうか、確認して頂けませんか? おかしい部分があれば指摘して下さい。 また、自分で考えたのですが、このプログラムはどのように考えられたのか、作成方針は考えられますでしょうか? なぜ聞くかというと、皆さんが考えられるように自分も考えているのかどうか、作成方針を聞くことにより判断したいのです。 →作成方針を記述の上、プログラムについてご指摘の方、よろしくお願い致します。 #include<stdio.h> main() { int a,b,c; b=0; c=1; printf("a="); scanf("&d",&a); do{ c=c+1; b=a%c; }while(!(b==0)); if(c==a); printf("sosu-desu n); }else{ printf("sosu-denai n); } }
- 締切済み
- C・C++・C#
- C言語で分からないところがあるのですが……
C言語で分からないところがあるのですが…… すみません。C言語の課題で分からないところがあり、質問しに来ました。 ユーザから数を受けて、そこまでのフィボナッチ数列を表示させるというプログラムです。 下のソースコード(でいいんですよね?)は正しいやつです。 for文を使って、繰り返しの作業を行うことに成功しましたが、doとwhileに書き換える作業がうまくできません。 どなたか助けてください。 #include<stdio.h> fib(int n) { if(n == 1)return(1); else{ if(n == 2) return (1); else return fib(n-1) + fib(n-2); } } main() { int n, i ; printf("INPUT the number. : "); scanf("%d",&n); for(i=1; i<=n; i++){ printf("F%d = %d\n",i, fib(i)); } }
- ベストアンサー
- C・C++・C#