(1) scanf を用いて、5個の数を入力すると合計と平均を計算し出力するプログラムを作成せよ。
(2) 1990年比 温室効果ガス排出量を25%削減する事を目標とするとする。
以下は1990年の排出量を入力すると目標値を計算するプログラムであるが
正しく動かない。正しく動くよう修正せよ。
#include <stdio.h>
int main()
{
double co2_amount_in_1990;
double co2_amount_target;
puts("1990年時の温室効果ガス排出量は何トン?");
scanf("%lf",&co2_amount_in_1990);
co2_amount_target=((100-25)/100)*co2_amount_in_1990;
printf("目標値は %f トンです",co2_amount_target);
}
(3)
消費税を5%とする。
2個の物を買うときに一緒に買う場合と、別々に会計をする場合と
消費税の1円未満の切り捨てにより、値段が変わることがある。
(例: 税抜き価格 30円の物と50円の物を一緒に買うと、84円だが、
別々に会計すると、31円+52円=83円となる。)
2個の物の税抜き価格をそれぞれ入力して、
一緒に買う場合と、別々に会計をする場合の税込み合計価格を
表示するプログラムを作成せよ。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
とりあえず(1)だけ作ってみました。
コメントはあえて入れていないので、自分で解析してください。
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <stdbool.h>
#include <assert.h>
#include <float.h>
#define STR(x) STR_(x)
#define STR_(y) #y
#define N 255
bool input(long double *p)
{
char buf[N+1];
bool result = false;
if (scanf("%" STR(N) "s", buf) < 1)
goto error_exit;
char *endptr;
long double value;
errno = 0;
value = strtold(buf, &endptr);
if (errno != 0 || *endptr != '\0')
goto error_exit;
assert(p != NULL);
*p = value;
result = true;
error_exit:
scanf("%*[^\n]%*c");
return result;
}
int main(void)
{
long double sum = 0;
for (int i = 0; i < 5; )
{
long double value;
if (input(&value))
{
if (sum > 0 && value > 0 || sum < 0 && value < 0)
{
if (LDBL_MAX - fabsl(sum) < fabsl(value))
{
fputs("overflow\n", stderr);
return EXIT_FAILURE;
}
}
sum += value;
++i;
}
else
{
fputs("エラー\n", stderr);
}
}
printf("合計 = %Lf\n", sum);
printf("平均 = %Lf\n", sum/5);
return EXIT_SUCCESS;
}
No.2
- 回答日時:
>誰かこの課題やってくれませんか?
嫌だ。
課題の丸投げ行為は、一番嫌われる行為。
どこまでやって、どこがわからないのか、動かないのかを自分で作ったソースを提示して質問するのが基本。
でないと、どこがどうわかっていないのか、こちらが判断できない。
ヒントだけ。
1.
取得した値を加算していけば合計は求められる。
求めた合計を取得した回数で割れば平均が求められる。
2.
#1のとおり。
3.
提示されている例をそのまま初期値として使用し、
「合計してから」と「個別」を算出する。
No.1
- 回答日時:
丸投げをやってくれる人はあまりいないと思います。
自分である程度プログラムしてそのコードをのせるとほぼ回答がつきます。
とりあえず(2)のヒントだけ
(100-25)/100
の部分は整数演算のため少数以下が切り捨てられ、結果0となります。
ここを少数になるように変えればいいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- 消費税 消費税の納税額の計算 1 2023/02/19 18:12
- 農林水産業・鉱業 産業Aと産業Bは、それぞれ年間200トン、合計400トンの温室効果ガスを排出している。政府は、産業A 1 2022/07/12 15:50
- 投資・株式の税金 サラリーマン投資家(海外FX)の節税目的のマイクロ法人設立について 2 2022/09/19 18:37
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# C言語(構造体) 3 2022/07/05 20:08
- 消費税 来年からのインボイス、国が消費税を取り過ぎるケースも? 4 2022/11/10 22:23
- 不動産業・賃貸業 建物、土地一括売却時の按分 2 2023/06/01 09:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
float型とdouble型の変数の違い...
-
プログラムでの数字につく”f”の...
-
C 開放してるのにエラー(doubl...
-
C言語を実行すると-infが出てき...
-
たくさんの数の平均を求める方...
-
doubleの変数にintとintの割り...
-
2次方程式の解を求めるプログ...
-
C言語
-
三角形OABの面積を求めるプ...
-
C言語 関数プロトタイプ宣言の...
-
c言語のプログラミングについて...
-
c言語で、繰り返し文の中で、0....
-
関数におけるif文とreturn文に...
-
C言語の型による処理速度の違い
-
c言語のコンパイルエラー canno...
-
C言語で直角三角形の斜辺を求め...
-
C++で外積
-
double型とint型で三分の一乗の...
-
EXE1→DLL→EXE2数値を受け渡す方法
-
C言語初心者 構造体 課題について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
float型とdouble型の変数の違い...
-
doubleの変数にintとintの割り...
-
C言語を実行すると-infが出てき...
-
C 開放してるのにエラー(doubl...
-
至急です! マクロ定義で #defi...
-
c言語で、繰り返し文の中で、0....
-
関数におけるif文とreturn文に...
-
C言語 関数プロトタイプ宣言の...
-
C言語初心者 構造体 課題について
-
C言語の型による処理速度の違い
-
Cで3乗根を求める方法
-
C言語で-23乗を取り扱うには
-
2分法で方程式の複数の解を自...
-
doubleは常に%lfとするべきなのか
-
c言語のコンパイルエラー canno...
-
C言語で直角三角形の斜辺を求め...
-
C言語のプログラムで#include<m...
-
int とdoubleの比較
-
C++で外積
おすすめ情報