アプリ版:「スタンプのみでお礼する」機能のリリースについて

プログラムがうまくいきません。教えてください。

#include <stdio.h>
int main(void){
int a, b, c, d, f;
printf("国語=");
scanf("%d", &a);
printf("算数=");
scanf("%d", &b);
printf("理科=");
scanf("%d", &c);
printf("社会=");
scanf("%d", &d);
f = ((a>90)?1:0)+((b>90)?1:0)+((c>90)?1:0)+((d>90)?1:0);
printf("\n合計[%d],平均[%.2f]\n",(a+b+c+d),((double)(a+b+c+d)/4.0));
printf("国語[%d],[%.3f%%],[%d]\n",a,((double)a/1.5),((a>90)?1:0));
printf("算数[%d],[%.3f%%],[%d]\n",b,((double)b/1.5),((b>90)?1:0));
printf("理科[%d],[%.3f%%],[%d]\n",c,((double)c/1.5),((c>90)?1:0));
printf("社会[%d],[%.3f%%],[%d]\n",d,((double)d/1.5),((d>90)?1:0));
printf("総合判定[%d],\n", ((f>=3)?1:0));
return (0);
}
と入力したのですが、実行結果の国語から社会までの[]部分を上下揃えたいのですが揃いません。このプログラムにどのようなことを追加すれば揃えることができますか?教えてください!

A 回答 (2件)

とりあえずプログラムが見づらいです


一応直しましたが、ダブルのところが一桁になるとなんかおかしいです
これが精一杯

#include "stdio.h"
int main(void){
 int a, b, c, d, f;
 printf("各科目の点数を入力してください\n");
 printf("国語="); scanf("%d", &a);
 printf("算数="); scanf("%d", &b);
 printf("理科="); scanf("%d", &c);
 printf("社会="); scanf("%d", &d);

 f = ((a>90)?1:0)+((b>90)?1:0)+((c>90)?1:0)+((d>90)?1:0);

 printf("\n合計[%3d],平均[%2.2lf]\n",a+b+c+d,(double)(a+b+c+d)/4.0);
 printf("国語[%3d],[%2.3lf%%],[%d]\n",a,(double)a/1.5,(a>90)?1:0);
 printf("算数[%3d],[%2.3lf%%],[%d]\n",b,(double)b/1.5,(b>90)?1:0);
 printf("理科[%3d],[%2.3lf%%],[%d]\n",c,(double)c/1.5,(c>90)?1:0);
 printf("社会[%3d],[%2.3lf%%],[%d]\n",d,(double)d/1.5,(d>90)?1:0);
 printf("総合判定[%d],\n", ((f>=3)?1:0));
 return 0;
}

人にプログラムを見てもらうときはもう少し見やすい工夫をしましょう
    • good
    • 0
この回答へのお礼

ありがとうございます。
これからは見やすいように工夫をしておきます。

お礼日時:2010/05/11 02:37

>と入力したのですが、実行結果の国語から社会までの[]部分を上下揃えたいのですが揃いません。


>このプログラムにどのようなことを追加すれば揃えることができますか?教えてください!

科目名の後の"[%d]"を"[%3d]"とか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!