c语言编程题

1.已知某大学期末考试学分绩的计算公式为:学分绩 =(工科数学 * 5 + 英语 * 1.5 + 线性代数 * 3.5) / 10
请编程从键盘按顺序输入某学生的工科数学、英语和线性代数成绩,计算并输出其学分绩。
以下为程序的运行结果示例:
Input math1, English and math2:80,70,100↙
Final score = 85.50

输入提示信息:"Input math1, English and math2:"
输入格式: "%d,%d,%d"
输出格式:"Final score = %.2f\n"
2.我国古代著作《庄子》中记载道:“一尺之捶,日取其半,万世不竭”。其含义是:对于一尺的东西,今天取其一半,明天取其一半的一半,后天再取其一半的一半的一半总有一半留下,所以永远也取不尽。请编写一个程序,使其可以计算出一条长为m的绳子,在n天之后剩下的长度。

运行结果示例1:
Input length and days:12,5↙
length=0.37500

运行结果示例2:
Input length and days:57.6,7↙
length=0.45000

输入提示信息:"Input length and days:"
输入格式: "%f,%d"
输出格式:"length=%.5f\n"
3. 某网上购物网站对用户实行优惠,买家购物货款p越多,则折扣越多。今天正值该网站优惠折扣日,买家可以获得8%的折扣。请编程从键盘输入买家购物货款p,计算并输出买家折扣后实际应付出的价钱。
注:程序中的数据类型为float。
程序的运行结果示例1:
Input payment p:300↙
price = 276.0

程序的运行结果示例2:
Input payment p:1299.8↙
price = 1195.8

输入提示信息:"Input payment p:"
输入格式: "%f"
输出格式:"price = %.1f\n" (注:等号左右均有空格)
4.编程从键盘任意输入两个时间(例如4时55分和1时25分),计算并输出这两个时间之间的间隔。要求不输出时间差的负号。
程序的运行结果示例1:
Input time one(hour, second):4,55↙
Input time two(hour, second):1,25↙
3 hour 30 second
程序的运行结果示例2:
Input time one(hour, second):1,56↙
Input time two(hour, second):3,25↙
1 hour 29 second

输入提示信息:"Input time one(hour, second):"
"Input time two(hour, second):"
输入格式:"%d,%d"
输出格式:"%d hour %d second\n"

这么多啊,现在还需要吗追问

恩呢...如果能够给出正确答案 感激不尽呀!!!

追答

您好,答案如下

【第一题】

#include <stdio.h>
int main()
{ int grade1,grade2,grade3;
float sum;
printf("Input math1, English and math2:");
scanf("%d,%d,%d",&grade1,&grade2,&grade3);
sum=(grade1*5+grade2*1.5+grade3*3.5)/10;
printf("Final score = %.2f\n",sum);
}

【第二题】

#include <stdio.h>
int main()
{ float m;
int n,i;
printf("Input length and days:");
scanf("%f,%d",&m,&n);
for(i=1;i<=n;i++)
m=m/2;
printf("length=%.5f\n",m);
}

【第三题】

#include <stdio.h>
int main()
{ float price;
printf("Input payment p:");
scanf("%f",&price);
price=price*(1-0.08);
printf("price = %.1f\n",price);
}

【第四题】

#include <stdio.h>
#include <math.h>
int main()
{ int h1,s1,h2,s2,sum1,sum2,sum3,h3,s3;;
printf("Input time one(hour,second):");
scanf("%d,%d",&h1,&s1);
printf("Input time two(hour,second):");
scanf("%d,%d",&h2,&s2);
sum1=h1*60+s1;
sum2=h2*60+s2;
sum3=abs(sum1-sum2);
h3=sum3/60;
s3=sum3-h3*60;
printf("%d hour %d second\n",h3,s3);
}

采纳哦~

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-06-26
这个是因为你的语法错误
if
{
语句
}
else
{
语句

}
要这种方式,你的是if(a<=1000) b= sqrt(a);这句判断就结束了,和后面的else没有关系了。要用{}把后面的语句括起来才可以。本回答被网友采纳
相似回答