71444


データの個数を入力させ、その入力したデータとその要素の合計を順番に出力し、なおかつその百分率比（要素の合計値に対するある要素の割合「ある要素÷要素の合計値✕１００」）を表示するプログラムを作成したのですが、百分率表示の箇所をもう少し見やすくしたいのです。

**作成したプログラム**

[code]

    #include <stdio.h>
    
    /* size個 の入力された実数データを 配列の先頭から順番に格納する */
    void readDoubleArray(double a[], int size)
    {
        int i;
        for(i=0;i<size;i=i+1) {
            printf("%d 番目? ", i+1);
            scanf("%lf", &a[i]);
        }
    }
    
    /* size個 の実数データが入っている配列を 配列の先頭から順に出力する */
    void printDoubleArray(double a[], int size)
    {
        int i;
        for(i=0;i<size;i=i+1) {
            printf("%lf ", a[i]);
        }
        printf("\n");
    }
    
    //要素数size の合計値を返す．
    
    double souwa(double a[], int size)
    {
        int i;
        double s;
        s=0.0; 
        for(i=0;i<size;i=i+1) {
            s=s+a[i];
        }
        return s;
    }
    
    int main(void)
    {
        double data[1024];
        int size,i;
    
        printf("データの個数を入力してください：");
        scanf("%d",&size);
        readDoubleArray(data, size);
        printf("順番に出力:");
        printDoubleArray(data, size);
        printf("要素の合計:%lf\n", souwa(data,size));
    
        for(i=0;i<size;i=i+1){
            printf("100分比:");  printf("%lf ",(data[i]/souwa(data,size))*100);
        }   printf("\n");
    
        return 0;
    }
    
[/code]

**実行結果**

[code]

    $ ./a.out
    データの個数を入力してください：3
    1 番目? 1.1
    2 番目? 1.1
    3 番目? 1.1
    順番に出力:1.100000 1.100000 1.100000 
    要素の合計:3.300000
    100分比:33.333333 100分比:33.333333 100分比:33.333333 
    
[/code]

**期待している実行結果**

[code]

    $ ./a.out
    データの個数を入力してください：3
    1 番目? 1.1
    2 番目? 1.1
    3 番目? 1.1
    順番に出力:1.100000 1.100000 1.100000 
    要素の合計:3.300000
    100分比:33.333333 33.333333 33.333333 
    
[/code]

このように少し見やすくしたいのですが、どうすればそのような表示になりますか。


CC BY-SA 4.0
2020-10-23T03:06:45.803
71443
2020-10-24T04:57:41.203
2020-10-24T04:57:41.203
32986
41837
question
c
百分率比の表示をもう少し見やすくしたいです


コメント欄でも指摘のある通り、結果の表示する箇所を以下の様に修正すればよさそうに見えます。

[code]

        printf("100分比:");
        for(i=0;i<size;i=i+1){
            printf("%lf ",(data[i]/souwa(data,size))*100);
        }
        printf("\n");
    
[/code]

* * *

なお、過去の質問でも何度かコメントでアドバイスを残していますが、「コンパイル」とは "ソースコードを実行可能な状態にすること (a.outの生成)"
を指します。  
あなたが毎回「コンパイル結果」と書いている箇所は、正しくは「(プログラムの) 実行結果」だと思います。


CC BY-SA 4.0
2020-10-23T04:03:38.350
71444
2020-10-23T04:03:38.350
3060
71443
answer