知能情報工学演習I 第9回( C言語第3回) 課題の回答

Slides:



Advertisements
Similar presentations
知能情報工学演習 I 第 12 回( C 言語第6 回) 課題の回答 岩村雅一
Advertisements

オブジェクト指向言語・ オブジェクト指向言語演習 中間試験回答例. Jan. 12, 2005 情報処理技術基礎演習 II 2 オブジェクト指向言語 中間試験解説 1  (1) 円柱の体積(円柱の体積 = 底面の円の面積 x 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
コンピュータープログラミング(C言語)(3) 1.関数と分割コンパイル (復習) 2.キーボード入力
ポインタ プログラミング入門2 第10回 芝浦工業大学情報工学科 青木 義満
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
1.1 C/C++言語 Hello.ccを作りコンパイルしてa.outを作り出し実行する
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
基礎プログラミングおよび演習 第9回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室.
第13回 プログラミングⅡ 第13回
知能情報工学演習I 第7回( C言語第1回) 課題の回答
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
第2回 Microsoft Visual Studio C++ を使ってみよう
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
プログラミング応用 printfと変数.
第10回関数 Ⅱ (ローカル変数とスコープ).
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
プログラミング演習I 2003年6月25日(第10回) 木村巌.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
知能情報工学演習I 第12回(後半第6回) 課題の回答
今までの練習問題の復習.
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
知能情報工学演習I 第9回(後半第3回) 課題の回答
第13章 文字の取り扱い方 13.1 文字と文字型関数 13.2 文字列 13.3 文字型配列への文字列の代入
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
高度プログラミング演習 (02).
知能情報工学演習I 第8回( C言語第2回) 課題の回答
知能情報工学演習I 第7回( C言語第1回) 課題の回答
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
知能情報工学演習I 第7回(後半第1回) 課題の回答
知能情報工学演習I 第11回( C言語第5回) 課題の回答
第13章 文字の取り扱い方 13.1 文字と文字型変数 13.2 文字列 13.3 文字型配列への文字列の代入
ファイルの読み込み, ファイルからのデータの取り出し, ファイルの書き出し
C言語講座 制御(選択) 2006年 計算技術研究会.
標準入出力、変数、演算子、エスケープシーケンス
知能情報工学演習I 第8回(後半第2回) 課題の回答
cp-3. 計算 (C プログラミング演習,Visual Studio 2019 対応)
第4章 double 小数型の変数;.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
知能情報工学演習I 第12回( C言語第6回) 課題の回答
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
第3回簡単なデータの入出力.
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
printf・scanf・変数・四則演算
知能情報工学演習I 第11回(後半第5回) 課題の回答
知能情報工学演習I 第9回(後半第3回) 課題の回答
C言語講座 四則演算  if ,  switch 制御文.
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
知能情報工学演習I 第10回( C言語第4回) 課題の回答
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

知能情報工学演習I 第9回( C言語第3回) 課題の回答 岩村雅一 masa@cs.osakafu-u.ac.jp

【注意】 〆切以降に提出されたレポートは見ません!

課題1 10進数の整数を入力し、8進数と16進数を出力するプログラムを作りなさい。 #include<stdio.h> int main(void){ int a; printf(“10進数を入力: "); scanf("%d",&a); printf("8進数: %o\n",a); printf("16進数: %x\n",a); return 0; } 10進数の整数を入力し、8進数と16進数を出力するプログラムを作りなさい。

課題1:実際にあった間違い ファイル名がおかしい! 値を入力させない。 dviファイルが提出されていない 学籍番号などが書いてない 0618_10901070??.c 値を入力させない。 dviファイルが提出されていない 学籍番号などが書いてない dviファイルが文字化け。

課題2 double型なので 角度を入力させ、その余弦(cosine)を返すプログラムを作りなさい。 #include<stdio.h> #include<math.h> int main(void){ double deg, rad; printf("角度を入力してください\n"); scanf("%lf", &deg); rad=deg*M_PI/180.0; printf("cos(%f°)=%fです。\n",deg, cos(rad)); return(0); } 角度を入力させ、その余弦(cosine)を返すプログラムを作りなさい。 #include <math.h>のM_PIを使うことができる。 double型だけど

課題2:実際にあった間違い(その1) コンパイルが通らない(その1) コンパイルが通らない(その2) c=cos(double b); コンパイルが通らない(その2) eturn 0; float型の変数の入力に”%d”を使っている。 float a,b,c; printf("please input angles\n"); scanf("%d",&a);

課題2:実際にあった間違い(その2) ラジアンの計算に失敗。 ソースの提出に失敗している。(ただし、dviファイルにはソースあり) rad=angle*M_PI/360; ソースの提出に失敗している。(ただし、dviファイルにはソースあり)

課題3 身長、体重、名前を入力し、名前とBMIを返すプログラムを作りなさい。 出力例:「◯◯さんのBMIは◯◯です。」 #include<stdio.h> int main(void) { float h, w; char name[100]; printf("名前: "); scanf("%s", name); printf("身長(m): "); scanf("%f", &h); printf("体重(kg): "); scanf("%f", &w); printf("%sさんのBMIは%fです。\n", name, w/(h*h)); return 0; } 身長、体重、名前を入力し、名前とBMIを返すプログラムを作りなさい。 出力例:「◯◯さんのBMIは◯◯です。」

課題3:実際にあった間違い(その2) BMIの計算が間違っている。 文字列をdouble型で扱っている。 BMI = weight / height * height; 文字列をdouble型で扱っている。 double a,b,c; printf("Input a name:"); scanf("%s",&c);

課題3:実際にあった間違い(その1) 名前を入力させない。 文字列の表示に失敗。 float a,b,c,d; char n[30]; printf("%sのBMIは%f",c);

課題3:コメントについて getsとscanfの順番を逆にするとうまくいきませんでした。getsはscanfのときのリターンキーを読み込んでしまうのでしょうか。 おそらく(未確認) man getsより gets() は、改行文字か EOF までの 1行を stdin から読み込み s が指すバッファに格納する (末尾の改行文字や EOF は ‘\0’ に置き換えられる)。 バッファオーバーランの問題があるので、本来ならば、getsの代わりにfgetsを使うべき。

課題4 float int 整数を入力し、10の位を四捨五入するプログラムを作りなさい。 例:123を入力すると、100を返す。789を入力すると、800を返す。 回答例1: float型で入力 回答例2: int型で入力 #include<stdio.h> int main(void) { float a; printf("Input: "); scanf("%f",&a); printf("%dの四捨五入は%d\n", (int)a, (int)(a/100.0+0.5)*100); return 0; } #include<stdio.h> int main(void) { int a; printf("Input: "); scanf("%d",&a); printf("%dの四捨五入は%d\n", a, (a+50)/100*100); return 0; } float int 123.0 / 100.0 + 0.5  1.73 123 + 50  173 173 / 100  1 1.73  1

課題4:実際にあった間違い 課題3の回答がそのまま提出された。