以下の問題が解けません。
わかる方、教えていただけないでしょうか?
・問題
int型の変数i,j,k,m,n,double型の変数a,bに,下に示す式の結果を代入し結果を
i = ...
a = ...
j = ...
b = ...
k = ...
m = ...
n = ...
と出力せよ(int型の変数は%d,double型の変数は%lfで変換すること)。プログラムコードの下にコメントとして,各演算結果がそのようになる理由を書き入れて提出せよ。とくにk,m,nに対応する式は,ある特定の意味を持っている。それぞれどのような意味を持つ式であるかということに言及すること。
i = 11/17*8 + 27/13;
a = 11/17*8 + 27/13;
j = 11.0/17*8 + 27/13;
b = 11.0/17*8 + 27/13;
k = 281 - 281/47*47;
m = 263.0/47+0.5;
n = 293.0/47+0.5;
No.2ベストアンサー
- 回答日時:
// Test1.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdio.h"
int main(int argc, char* argv[])
{
int i, j, k, m, n;
double a, b;
i = 11 / 17 * 8 + 27 / 13;
printf("i = %d\n", i);
// 11 / 17 は除数・被除数とも整数であるから
// 整数の範囲で計算が行われ、答えは0である
// 27 / 13も同様に答えは2である
// 従って, 11 / 17 * 8 + 27 / 13の式の値は2である
// 2がそのままintに代入されiは2となる
a = 11 / 17 * 8 + 27 / 13;
printf("a = %lf\n", a);
// 11 / 17 は0である
// 27 / 13も同様に答えは2である
// どちらも理由はiの場合を参照のこと
// 従って, 11 / 17 * 8 + 27 / 13の式の値は2である
// 2がdoubleに代入されaの値は2.0となる
j = 11.0 / 17 * 8 + 27 / 13;
printf("j = %d\n", j);
// 11 / 17 は除数・被除数の片方が浮動小数点なので
// 浮動小数点で計算が行われ、答えは0.647...である
// 0.647.... * 8 の場合も乗数・被乗数の片方が浮動小数点であるから
// 浮動小数点演算が行われる。5.176...となる
// 27 / 13の答えは2である(理由はaの場合を参照のこと)
// 従って, 11 / 17 * 8 + 27 / 13の式の値は7.176...である
// 7.176...が整数に代入される際小数点以下は切り捨てられ
// jの値は7となる
b = 11.0 / 17 * 8 + 27 / 13;
printf("b = %lf\n", b);
// 11.0 / 17 * 8は5.176...である
// (理由はjの場合を参照のこと)
// 27 / 13の答えは2である(理由はaの場合を参照のこと)
// 従って, 11 / 17 * 8 + 27 / 13の式の値は7.176...である
// 7.176...がそのままdoubleに代入される
k = 281 - 281 / 47 * 47;
printf("k = %d\n", k);
// 281 / 47は5となる
// 除数・被除数とも整数であるためである
// 5 * 47は235である
// よってkの値は46である
m = 263.0 / 47 + 0.5;
printf("m = %d\n", m);
// 263.0 / 47 は5.59....である
// これに0.5を加えるので263.0 / 47 + 0.5は6.09...となる
// mはintなので小数点以下が切り捨てられ6が代入される
// 5.59をいわゆる"四捨五入"した結果になっている
// 0.5を加えてから切り捨てる技法は"四捨五入"の算法として
// 良く用いられる
// これは、一般によく知られた"四捨五入"の定義に一致するが
// いわゆるJIS丸めとは異なることに注意を払う必要がある
n = 293.0 / 47 + 0.5;
// 293.0 / 47 は6.23....である
// これに0.5を加えるので293.0 / 47 + 0.5は6.79...となる
// nはintなので小数点以下が切り捨てられ6が代入される
// 6.23を四捨五入している
return 0;
}
No.5
- 回答日時:
> 下に示す式の結果を代入し
「式」とは、
> i = 11/17*8 + 27/13;
等の代入式のことでしょうか? だとすると、これをどこに代入するのでしょうか?
ちなみに、副作用完了点の間で同じ変数を複数回更新しようとした場合の動作は未定義ですので、
i = (i = 11/17*8 + 27/13);
とはできません。
temp = (i = 11/17*8 + 27/13);
i = temp;
なら可能です。
> double型の変数は%lfで変換すること
ということはC99ですね?
> 出力せよ
どこに出力するのでしょうか?
> k,m,nに対応する式は
対応するとは?
No.1
- 回答日時:
他の「課題」の関連からすると、
int i;
i = 11/17*8 + 27/13;
printf("i = %d", i);
のようなことをしろって意味だと思うけど、「課題」製作者の意図がはっきりとわからないから、
ここで聞くよりも「課題」製作者にはっきりと「わからない」と言って説明してもらうべきだと思う。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# (C言語)めちゃくちゃな値になってしまいます。 5 2022/08/13 11:55
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- 高校 対数方程式につきまして 4 2022/05/05 07:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
C言語 列挙型(enum型)変数について
-
[VBS]変数を定数に変換する方法...
-
EXCEL/VBA 変数の値をクリップ...
-
processing エラーで、 "cannot...
-
Variant型で宣言してるのにEmpt...
-
python の 連鎖代入の文法
-
jsp~jspにhiddenを使って変数...
-
変数にオフセットが付いている...
-
テキストボックスの値を変数に...
-
i++と++i ってどう違うのですか?
-
代入ができない。(undefined)
-
【JAVA】 計算の順番について...
-
2進数→10進数への変換 また...
-
プログラミングで変数と関数の...
-
マクロでの複素関数の計算
-
整数xxxが大き過ぎますというエ...
-
コマンドプロンプト バッチ|結...
-
JAVA初学者の悩み: if else 式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
EXCEL/VBA 変数の値をクリップ...
-
C言語 列挙型(enum型)変数について
-
テキストボックスの値を変数に...
-
Variant型で宣言してるのにEmpt...
-
[VBS]変数を定数に変換する方法...
-
python の 連鎖代入の文法
-
エラーの意味は? Lvalue req...
-
jsp~jspにhiddenを使って変数...
-
processing エラーで、 "cannot...
-
整数xxxが大き過ぎますというエ...
-
プログラミングで変数と関数の...
-
構造体からレコードセットへの代入
-
コマンドプロンプト バッチ|結...
-
stdpicture型の変数に、、
-
無名関数のメリットがよくわか...
-
i++と++i ってどう違うのですか?
-
DataTableの値を変数に代入したい
-
Accessコンボボックスにレコー...
-
VBA 1行で複数の代入を行った...
おすすめ情報