7-14 算术入门之加减乘除(10 point(s))
对于输入的两个整数,按照要求输出其和差积商。
输入格式:
在一行内输入两个不超过100的非负整数a和b,中间以一个空格间隔,且保证b不为0。
输出格式:
共四行,格式是:
[a] + [b] = [a+b]
[a] - [b] = [a-b]
[a] * [b] = [a*b]
[a] / [b] = [a/b]
其中,带有方括号的内容(如[a]、[b]、[a+b]等)表示相应整数或运算结果的值,在输出时要用实际的值代替。
并且:如果a能够被b整除,那么a/b应输出为整数格式,否则a/b输出为带两位小数的格式。
提示:注意表达式中的空格。
输入样例1:
6 3
输出样例1:
6 + 3 = 9
6 - 3 = 3
6 * 3 = 18
6 / 3 = 2
输入样例2:
8 6
输出样例2:
8 + 6 = 14
8 - 6 = 2
8 * 6 = 48
8 / 6 = 1.33
算法:
和=输入的两个数相加
差=输入的两个数相减
积=输入的两个数相乘
商=输入的两个数相除(会有两种情况即能整除或者不能,需要用到判断语句if,能整除的情况执行一种输出,否则执行另外一种)
数据结构:
输入两个整数:int a,b;
输出的和差积都为int
输出的商分两种情况,如果能被整除输出为int,否则将输出为double或者float,即%.2f或者%.2lf
#include<stdio.h>
int main()
{
int a,b;
double c;
scanf("%d %d",&a,&b);
if(a%b==0)
{
printf("%d + %d = %d\n%d - %d = %d\n%d * %d = %d\n%d / %d = %d\n",a,b,a+b,a,b,a-b,a,b,a*b,a,b,a/b);
}else
{
c=(double)a/b;
printf("%d + %d = %d\n%d - %d = %d\n%d * %d = %d\n%d / %d = %.2lf\n",a,b,a+b,a,b,a-b,a,b,a*b,a,b,c);
}
return 0;
}
在这里有一个小问题,是关于两个int相除想得到两位小数的,因为a/b得到的必为整数,因此想要得到小数,必须强制转换,double c; c=double(a/b); 只有这样才可以。