ここから本文です

c言語の問題の問1を解いてください。

アバター

ID非公開さん

2020/1/713:01:30

c言語の問題の問1を解いてください。

よろしくお願いします。

問1
右の実行結果のように教科書p90 例題6.2のデータを使ってデータの合計に対する各データの構成比を求めるプログラムを作りなさい。

右の実行結果
データ 構成比
48.60 15.55%
41.50 13.28%
23.20 7.42%
18.90 6.05%
92.90 29.73%
57.00 18.24%
30.40 9.73%
合計=312.5

教科書のデータは写真でお願いします。

構成比,データ,教科書p90,48.60 15.55%,41.50 13.28%,d.txt,stdio.h&gt

閲覧数:
24
回答数:
2

違反報告

ベストアンサーに選ばれた回答

2020/1/914:20:30

課題は自分でやらないと駄目ですよ。
合計を出すだけだったら配列はいらないけど。
使ってみたら勉強にもなります。
別の投稿では標準偏差とかも出すんじゃなかったけ。
こっちは配列を使う方が良さげ。

データ入力部だけ。サンプルです。
ここでつまづく人が多いので。
このプログラム名をsampleでデータファイルをd.txtとすれば

sample < d.txtとすれば
のようにリダイレクトすればいいです。
いちいちキーボード打ち込まなくても済みます。

キーボードから入力して入力を終了するには
数字以外の文字を入力してEnterキーを打つか、
「Ctrl+Zキー そしてEnterキーを入力する」を何回かやってください。
私の所は3回でした。
(Windowsの場合はCtrl+Zキー、Linuxの場合はわかりません。
LinuxではCtrl+Zキーは一時停止らしい)
参考
https://qiita.com/toshihirock/items/bc6a9a4091afa9bb61f1

//---ここから
#define _CRT_SECURE_NO_WARNINGS // Visual Studio の場合は入れてください
#include <stdio.h>

int main(void) {
    double dat[100][2];
    int cnt = 0;

    for (;;cnt++) {
        double a, b;
        if (scanf("%lf%lf", &a, &b) != 2) break;
        dat[cnt][0] = a;
        dat[cnt][1] = b;
    }
    printf("cnt: %d\n", cnt);
    for (int i = 0; i < cnt; i++) {
        printf("%6.2f %6.2f\n", dat[i][0], dat[i][1]);
    }
}
//---ここまで

ベストアンサー以外の回答

1〜1件/1件中

meigr01さん

2020/1/717:39:42

配列を使いましょう。
配列にデータを入力しながら、合計を起算します。
入力が終わったら、配列のの初めから構成比を計算して行きます。
出力に対する要求は書かれていないので、これで終わりに。
プログラムは自分で書いてください。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる