- ベストアンサー
C言語でキーボードから整数と実数を入力し、Sの値を求めるプログラムを作成
- C言語で、キーボードから整数と実数を入力し、S=Σ(n=0からmまで)1/2n+1×(x-1/x+1)^2n+1の値を求めるプログラムを作成した。
- プログラムは正常に動作し、入力した整数と実数を使用してSの値を計算することができる。
- 作成したプログラムは正確な結果を返すため、正しい処理が行われていると言える。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>論理的なエラーについては修正をしていません。悪しからず。 記述が悪かったようですが、私の気づいた範囲では、 これ以上、間違いは無いように思います。 不安でしたら、幾つか例を試してみれば良いかと。
その他の回答 (4)
提示のソースコードをfoo.cとし、 gcc -Wall -o foo foo.c -lm としてコンパイルした結果です。 foo.c:5: 警告: return type defaults to ‘int’ foo.c: In function ‘main’: foo.c:6: error: stray ‘\357’ in program foo.c:6: error: stray ‘\274’ in program foo.c:6: error: stray ‘\235’ in program foo.c:6: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before numeric constant foo.c:6: 警告: statement with no effect foo.c:9: error: stray ‘\’ in program foo.c:9: error: " 文字での終端を欠いています foo.c:10: error: stray ‘\’ in program foo.c:10: error: " 文字での終端を欠いています foo.c:11: error: stray ‘\’ in program foo.c:11: error: " 文字での終端を欠いています foo.c:12: error: stray ‘\’ in program foo.c:12: error: " 文字での終端を欠いています foo.c:14: error: expected expression before ‘for’ foo.c:14: error: stray ‘\357’ in program foo.c:14: error: stray ‘\274’ in program foo.c:14: error: stray ‘\235’ in program foo.c:14: error: stray ‘\357’ in program foo.c:14: error: stray ‘\274’ in program foo.c:14: error: stray ‘\235’ in program foo.c:16: error: stray ‘\357’ in program foo.c:16: error: stray ‘\274’ in program foo.c:16: error: stray ‘\235’ in program foo.c:16: error: stray ‘\342’ in program foo.c:16: error: stray ‘\210’ in program foo.c:16: error: stray ‘\222’ in program foo.c:18: error: stray ‘\’ in program foo.c:18: error: " 文字での終端を欠いています foo.c:19: 警告: passing argument 1 of ‘printf’ makes pointer from integer without a cast foo.c:19: 警告: passing argument 1 of ‘scanf’ makes pointer from integer without a cast foo.c:19: 警告: passing argument 1 of ‘printf’ makes pointer from integer without a cast foo.c:19: error: expected declaration or statement at end of input foo.c:7: 警告: unused variable ‘x’ foo.c:7: 警告: unused variable ‘m’ foo.c:7: 警告: unused variable ‘i’ foo.c:19: 警告: control reaches end of non-void function 所々に全角文字(イコール,バックスラッシュなど)が含まれているのと、 行末のセミコロンが抜けているためのエラーが多数報告されます。 また、文字列を囲むダブルクォートは、バックスラッシュによるエスケープは不要です。 それらの書き方のミスを修正して再びコンパイルします。 foo.c:5: 警告: return type defaults to ‘int’ foo.c: In function ‘main’: foo.c:10: 警告: format ‘%lf’ expects type ‘double *’, but argument 2 has type ‘int *’ foo.c:12: 警告: format ‘%lf’ expects type ‘double *’, but argument 2 has type ‘int *’ foo.c:18: 警告: format ‘%d’ expects type ‘int’, but argument 2 has type ‘double’ foo.c:19: 警告: control reaches end of non-void function main関数の戻り値、変数xの型、 及び、scanf,printfのフォーマットを修正します。 以上の修正を施したものが、次のソースコードです。 論理的なエラーについては修正をしていません。悪しからず。 #include<stdio.h> #include<math.h> int main() { double y=0; int i,m; double x; printf(" Input m: "); scanf("%d", &m); printf(" Input x: "); scanf("%lf", &x); for(i=0; i<=m; i++) { y += 1/(2*i+1)*pow((x-1)/(x+1),2*i+1); } printf(" S = %f\n", y); return 0; }
- zwi
- ベストアンサー率56% (730/1282)
>都合上整えれません。 無料で使えるコンパイラも導入できないということでしょうか? それだと、こちら側からの手助けは難しいですね。 なお、C/C++に関しては別のカテゴリがありますので、ここは締め切ってそちらで質問されることをお勧めします。
- asuncion
- ベストアンサー率33% (2127/6289)
> 整っていないです。 では、まずコンパイルできる環境を整えてください。 ソースコードを書いただけでコンパイルできない状態では、 そのソースコードが正しいかどうかご自分のところでわからないため、 学習する上で効率がよくないです。
補足
都合上整えれません。
- asuncion
- ベストアンサー率33% (2127/6289)
> あってるかどうかわかりますか? 合っていないです。 コンパイルするための環境は整っていないですか?
補足
整っていないです。 ¥はいらないです。
補足
ありがとうございました。でもこのままだと問題の解答としてはあっていないということですよね?