题目描述
对于输入的两个整数,按照要求输出其和差积商。
输入描述
在一行内输入两个不超过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输出为带两位小数的格式。
样例输入
6 3
样例输出
6 + 3 = 9
6 - 3 = 3
6 * 3 = 18
6 / 3 = 2
分析:本题关键以及难点在于红字部分,即如何判断能否整除以及如何输出相应的数据类型
因为要a/b存在两种情况,所以需要进行一次选择判断,使用选择结构
即
if ()
else
那么,我们试着写一下这部分选择判断的代码
if (a % b == 0)
{
c=a/b;
printf("%d / %d = %.0f\n",a,b,c);
}
else {
c=(float)(a / (b*1.0)) ;
printf("%d / %d = %.2f\n",a,b,c);
}
注意:1.C语言中=代表赋值,==代表等于
2.通过整型*1.0对整型进行强制转换,同时输出时的%d也要改成%f
3.因为输出两位小数,所以用%.2f表示
完整代码样例
#include<stdio.h>
void main()
{
int a,b;
float c;
scanf ("%d %d",&a,&b);
c=a+b;
printf("%d + %d = %.0f\n",a,b,c);
c=a-b;
printf("%d - %d = %.0f\n",a,b,c);
c=a*b;
printf("%d * %d = %.0f\n",a,b,c);
if (a % b == 0)
{
c=a/b;
printf("%d / %d = %.0f\n",a,b,c);
}
else
{
c=(float)(a / (b*1.0)) ;
printf("%d / %d = %.2f\n",a,b,c);
}
return 0;
}
结尾:“高高山顶立,深深海底行”,代码的书写,不仅需要有知识的储备还要有脚踏实地的练习。
让我们向着美好的明天一起努力吧!