いま、私はあるプログラムの問題でこまっています。
その問題は、「キーボードから正の整数 n と 正の実数 uplim を受け取る. n 以上 100 以下の整数について, その指数関数の値が uplim 以下の場合には, その整数およびその指数関数の値をともに表示するプログラムを for 文を用いて作成せよ」という問題です。そして、次が自分のその問題のソースプログラムです。
#include <stdio.h>
#include <math.h>
int main(void)
{
//(E4_1) キーボードから正の整数 n と 正の実数 uplim を受け取る.
int n;
scanf("%d",&n);
float uplim;
scanf("%f",&uplim);
int i;
scanf("%d",&i);
double y;
//n 以上 100 以下の整数について, その指数関数の値が uplim 以下の場合には,
//その整数およびその指数関数の値をともに表示するプログラムを for 文を用いて作成せよ
for(i=0;n<=i<=100;i++){
if( i<=uplim ){
printf("整数は%d,指数関数はy=exp(i)",i);
}
}
return 0;
}
このソースプログラムでコンパイルして1を5回ぐらい入力すると”整数は%d,指数関数はy=exp(i)"
という言葉が何回も出てきてコンパイラが応答しなくなりました。ちなみに、ソースプログラムのエラーは出てこなかったです。どこがおかしいのでしょうか。回答よろしくおねがいします。
No.3ベストアンサー
- 回答日時:
おかしい点を修正しました。
//追加 //修正 //削除のコメントを付けています。------------------------------------------------------
#include <stdio.h>
#include <math.h>
int main(void)
{
//(E4_1) キーボードから正の整数 n と 正の実数 uplim を受け取る.
int n;
printf("n=>"); //追加 なくても良いがオペレータが何を入力すべきかが判ったほうが良い
scanf("%d",&n);
float uplim;
printf("uplim=>"); //追加 同上の理由で追加
scanf("%f",&uplim);
int i;
//scanf("%d",&i); //削除 iは入力する必要なし
double y;
//n 以上 100 以下の整数について, その指数関数の値が uplim 以下の場合には,
//その整数およびその指数関数の値をともに表示するプログラムを for 文を用いて作成せよ
for(i=n;i<=100;i++){ //修正
y = exp(i); //追加 指数関数の値を求める
if( y<=uplim ){ //修正 その値がuplim以下なら
printf("整数は%d,指数関数はy=exp(i)の値は%f \n",i,y); //修正
}
}
return 0;
}
---------------------------------------------
以下、実行結果です。
n=>2
uplim=>10000.0
整数は2,指数関数はy=exp(i)の値は7.389056
整数は3,指数関数はy=exp(i)の値は20.085537
整数は4,指数関数はy=exp(i)の値は54.598150
整数は5,指数関数はy=exp(i)の値は148.413159
整数は6,指数関数はy=exp(i)の値は403.428793
整数は7,指数関数はy=exp(i)の値は1096.633158
整数は8,指数関数はy=exp(i)の値は2980.957987
整数は9,指数関数はy=exp(i)の値は8103.083928
No.2
- 回答日時:
もっと正確にいうと
for(i=0;n<=i<=100;i++)
のところが間違ってる... というか, それ以外にもおかしいところはある.
・n<=i<=100 が C でどういう意味なのか調べてみよう.
・「指数関数の値が uplim 以下の場合」という条件はどこに書いてありますか?
・「指数関数の値」を表示しないのはなぜ?
・「コンパイラが」応答しなくなった, わけじゃないよね.
・「エラーがない」というのは単に「文法的には間違っていない」というだけで「プログラムがあなたのやりたいことをしている」とか「与えられた問題の解答になっている」ということは保証しない.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハッシュテーブル(連想配列)が...
-
Excel VBAのリストボックスの値...
-
power BI クエリエディター 〇...
-
PysimpleGUIでデータベースを作る
-
Matlabで複数のデータから最大...
-
マクロで奇数と偶数の値を2か所...
-
Excel VBA 複数選択したリスト...
-
ポインタのプログラムについて
-
ユーザーフォームの入力をシー...
-
エクセルVBAでコンボボックスの...
-
MATLABの極値を順に求める
-
Active Serve PagesにおけるSes...
-
[VBA]選択範囲の下から上に処理...
-
変数に代入してある数値を表示...
-
エディットボックスの数値を他...
-
VBAの計算で@が出てしまう件
-
TODAY()で設定したセルの日付...
-
For Nextマクロの高速化につい...
-
特定のセルが空白だったら、そ...
-
実行時エラー438 オブジェクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
マクロ 特定のセル値のみクリ...
-
VB.NETでコンボボックスの1行目...
-
変数名の取得
-
値を返さないコード パス
-
Excel VBAのリストボックスの値...
-
VB初心者。小数点以下の表示で...
-
ハッシュテーブル(連想配列)が...
-
textboxとLabelを動的に変更する
-
PL/SQLでのTO_DATEの時間取得に...
-
VB.NETでアクティブなformを知...
-
Excel vba ユーザーフォームテ...
-
マクロで奇数と偶数の値を2か所...
-
DataTableに対するLINQについて
-
【C++/CLI.NET】コンボボックス...
-
[VBA]選択範囲の下から上に処理...
-
範囲が指定されている乱数について
-
[VB.net] DataGridViewのコンボ...
-
変数に代入してある数値を表示...
-
vbscriptを使いexcelを参照して...
おすすめ情報