C语言,编写程序,依次输入某位学生的数学、英语和计算机课程的成绩,计算并输出该生3门课程的平均分

【输入形式】输入成绩(整数)
【输出形式】输出成绩(浮点数,结果保留2位小数)
【样例输入】math=87 eng=72 comp=93
【样例输出】average=84.00
【样例说明】
输入输出语句的“=”两边无空格。输入各成绩之间有1个空格。
英文字母区分大小写。必须严格按样例输入输出。
我的程序:
#include<stdio.h>
int main(void)
{
int En,Ma,Co;
double average;
printf("math=");
scanf("%d",&Ma);
printf("eng=");
scanf("%d",&En);
printf("comp=");
scanf("%d",&Co);
average=(En+Ma+Co)/3;
printf("average=%.2f\n");
return 0;
}
困难:输入各成绩之间有1个空格不会,自己写的程序有问题……求帮助

第1个回答  2014-03-30
printf("eng=");改成printf("'\40'eng=");试试后面几个也都这样

‘\40’代表ascii码 40,空格
第2个回答  2014-03-30
输入之后不换行,可以用getche()来实现,输入字符再转换成数字
不过题目应该没要求这样
第3个回答  2014-03-30
你只是想多两个空格的话,就在printf里加呗。printf(" eng=");//在eng前加上空格就行。是这个意思不?追问

我的程序目前是输入一门成绩后就换行了,想要他不换行,但是空一格继续输入

追答

scanf只能用回车代表输入结束,最后一行改printf("average=%.2f\n",average);

本回答被提问者采纳
相似回答