- 締切済み
C言語に詳しい方・得意な方!!!
#include<stdio.h> #include<conio.h> void main() { int i=1,sum=0; char c='m'; while(c!='e') { sum=sum+i; printf("\n1 kara %d madewo tasuto %d desu.\n",i,sum); i++; printf("nanikakeywo oshitekudasai.owaru tokiha'e'\n"); c=getch(); } printf("loopwo nukemashita\n"); getch(); } C++はわかるのですが、Cは全くわけがわかりません!!上のプログラムまでは何とか実行してうまくできたのですが、下の問題はさっぱりわけがわかりません。教えてください? *1 うえのプログラムで使用しているgetch()の代わりにscanf()を使って整数値を入力させる。負の値を入力されたら終了。それ以外の数値が入力されたときは、「tsugino suuchiwo nyuryokuseyo」とメッセージをだして、また次の数値の入力を要求し、負の数が入力されるまで終わらないプログラム。 *2 *1のプログラムに、入力された正の数値をすべて加算していき、ループ終了後にその合計を出力するプログラム。 *3 *2のプログラムで、101以上の数値は加算しないようにするプログラム。 *4 *3のプログラムでいくつ数値が入力されたかをループ終了後に表示するプログラム。 *5 あるクラスのテストの点数(0から100点)の平均をだすプログラム。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- diov
- ベストアンサー率75% (3/4)
C/C++ について基本的な事を勉強された方が宜しいでしょう。
- sng
- ベストアンサー率20% (8/40)
*1について 宣言でchar cとしているところがひとつのヒントです。 charは文字列の宣言ですが、intと同じように使えます。大きさは1バイトでマイナスも使えるということですので(unsigned charなら0~255までの数値を扱える)扱える数値は-127~128となります。 またこのプログラムのループはgetch()で"e"が入力されると抜けますがcは値としては16進数の65が入っているということでもあります。 以上簡単にヒントでした。 がんばってください!