PTA作业笔记——简单的计算
- 7-10 整数算术运算
- 7-11 猫是液体
- 7-11 猫是液体
- 7-13 计算4个整数的平均值
- 7-14 公元前后日期格式化
- 7-15 A除以B
- 7-18 出租车计价
7-10 整数算术运算
本题要求编写程序,计算并输出2个正整数的和、差、积、商与余数。题目保证输入和输出全部在整型范围内。
本题需注意的是输出格式,最好是原样赋值题目要求输出
#include<stdio.h>
int main()
{int a, b;scanf("%d %d", &a, &b);printf("%d + %d = %d\n", a, b, a + b);printf("%d - %d = %d\n", a, b, a - b);printf("%d * %d = %d\n", a, b, a * b);printf("%d / %d = %d\n", a, b, a / b);printf("%d %% %d = %d", a, b, a % b);return 0;
}
7-11 猫是液体
#include<stdio.h>
int main()
{int a,b,c;scanf("%d %d %d",&a,&b,&c);printf("%d",a*b*c);return 0;
}
7-11 猫是液体
#include<stdio.h>
int main()
{int a;scanf("%d",&a);printf("Celsius = %d",5*(a-32)/9);return 0;
}
7-13 计算4个整数的平均值
从键盘读入4个整数,输出平均值。
小贴士:所有符号是中文状态,Average中A是大写 ,除号不要写反了,/和\是不一样的。
#include<stdio.h>
int main()
{double a,b,c,d;scanf("%lf %lf %lf %lf",&a,&b,&c,&d);printf("Average为(%.0lf+%.0lf+%.0lf+%.0lf)/4=%.2lf",a,b,c,d,(a+b+c+d)/4);return 0;
}
7-14 公元前后日期格式化
本题目要求读入一个日期,格式为:年/月/日,输出它是公元前还是公元后年-月-日,如果年份>0表示公元后,年份<0表示公元前。月和日必须输出2位,不足以0补齐。
输出格式:
输出此日期是公元前还是公元后某年某月某日,月和日必须输出2位数,不足以0补齐。年份按实际输出。
本题中开始涉及到了另一个头文件:math.h,这个头文件中包含了很多数学函数,本题使用的fbs函数用来取绝对值
除了使用函数外还可以将负数取相反数,作用是一样的
#include<stdio.h>
#include<math.h>
int main()
{int year,mon,day;scanf("%d/%d/%d",&year,&mon,&day);if(year<0)printf("公元前%d年%02d月%02d日",abs(year),mon,day);elseprintf("公元后%d年%02d月%02d日",year,mon,day);return 0;
}
7-15 A除以B
真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。
输入格式:
输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。
输出格式:
在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error。输出的商应保留小数点后2位。
需要注意的是要求除完了出现小数,但原本数字又需要整数输出,可以采用强制转换的方法,将变量转换过来。
#include<stdio.h>
int main()
{int a,b;scanf("%d %d",&a,&b);if(b==0)printf("%d/%d=Error",a,b);else if(b<0)printf("%d/(%d)=%.2lf",a,b,a/(double)b);elseprintf("%d/%d=%.2lf",a,b,a/(double)b);return 0;
}
7-18 出租车计价
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
起步里程为3公里,起步费10元;
超起步里程后10公里内,每公里2元;
超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
输入格式:
输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。
输出格式:
在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。
#include<stdio.h>
#include<math.h>
int main()
{double x, y, q;int t,a;scanf("%lf %d", &x, &t);if (x <= 3)y = 10;else if (x > 3 && x <= 10)y = 2 * x + 4;elsey = 3 * x - 6;q = 2 * (t / 5);a = round(y + q);//用于四舍五入到最接近的//返回最接近的整数值x,中途情况从零舍入。printf("%d",a);return 0;
}