Description
Input two integers A and B (0<A,B<1000, A<B), then prints the square root of all integers between A and B (including A and B).
Example Input
0 5
Example Output
Number SquareRoot
0 0.0000
1 1.0000
2 1.4142
3 1.7321
4 2.0000
5 2.2361
*The last line is a newline character.
You should set the width of print field of each column to 12, set the precision of floating-point numbers to 4 and fixed, justify the output to the right.
作业记录。
这题比较坑的是sqrt要直接塞进printf里面输出不然随机测试会给你弄点莫名其妙的误差出来。
凡是随机测试出现偶尔有最后一个位的数误差,
1.可以更改数据类型,比如double,float等试试。
2.可以新定义一个变量,初始化为要输出的值,或者直接将要输出的值(比如直接整函数返回值、某个计算公式)放在printf里面输出。
3.有时候用pow函数做幂运算和用循环做幂运算的结果会产生些许不同。
4.……
#include<stdio.h>
#include<math.h>
int main(){
int a,b;
scanf("%d %d",&a,&b);
printf(" Number SquareRoot\n");
for(int i=a;i<=b;i++){
printf("%12d%12.4f\n",i,sqrt(i));
}
printf("\n");
return 0;
}