c语言求平方根

1. 输入两个数如果是大于0的数就算出评分根,小于0就输出绝对值。(用IF语句)

    平方直接两个数相乘即可。

    平方根可以通过这个数本身和0之间进行折半查找的方法,对数据进行计算。

    当两数相乘大于这个数时,重置最大值;小于这个数时,重置最小值。由于存在除不尽的数,可以加上一个精度进行判断。


    #include<stdio.h>
    #include<math.h>

    double squareFun(double x) // å¹³æ–¹
    {
        return x*x;
    }

    double sqrtFun(double x, int precision) // å¼€æ–¹
    {
        double a = 0, b = x, mid = x/2, val = pow(10, -precision);
        if (x < 0)
            return -1;
        while (true)  // å¾ªçŽ¯æŠ˜åŠæŸ¥æ‰¾
        {
            if (fabs(mid*mid-x) <= val) // è¾¾åˆ°è¿›åº¦åˆ™é€€å‡º
                break;
            if (mid*mid > x)  
                b = mid;  // é‡ç½®æœ€å¤§å€¼
            else
                a = mid;  // é‡ç½®æœ€å°å€¼
            mid = (a+b)/2;
        }
        return mid;
    }

    int main()
    {
        double d = sqrtFun(2, 15);
        printf("%.15lf\n", d);
        printf("%.15lf\n", squareFun(d));
    }

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
我有你想要的答案,全部给你吧:
1. 输入两个数如果是大于0的数就算出评分根,小于0就输出绝对值。(用IF语句)
2. #include "stdio.h"
3. #include "math.h"
4. void main()
5. {
6. int a,b,c;
7.
8. scanf("%d%d",&a,&b);
9. if(a<0&&b<0)
10. {
11. printf("%d%d",a,b);}
12. else
13. { c=a+b;
14. printf("%d",c);}
15.
16. getch();
17.
18. }
19.
20.
21.
22. 键盘输入任意的一个数字【0-5】,输出它对应的英文单词。(用swich语句)
23. void main()
24. {
25. int a;
26. scanf("%d",&a);
27. switch(a)
28. { case 0:printf("zero");break;
29. case 1:printf("one");break;
30. case 2:printf("two");break;
31. case 3:printf("three");break;
32. case 4:printf("four");break;
33. case 5:printf("five");break;
34.
35. }
36. getch();
37.
38. }
39. 用switch语句编写程序,根据键盘输入的月份,输出对应季度,如输入3,则输出“春季”
40. void main()
41. {
42. int a;
43. scanf("%d",&a);
44. switch(a)
45. {
46. case 1:printf("winter");break;
47. case 2:printf("winter");break;
48. case 3:printf("spring");break;
49. case 4:printf("spring");break;
50. case 5:printf("spring");break;
51. case 6:printf("summer");break;
52. case 7:printf("summer");break;
53. case 8:printf("summer");break;
54. case 9:printf("autumn");break;
55. case 10:printf("autumn");break;
56. case 11:printf("autumn");break;
57. case 12:printf("winter");break;
58. default:printf("Please enter the digital\n \nsingle-digit");
59.
60. }
61. getch();
62.
63. }
64. 编写计算器程序。用户输入运算数和四则运算符,输出计算结果。(用swith语句,需要3个变量,一个是字符型变量存放运算符,两个用于运算的整型变量)
65. void main()
66. {
67. int a,b,d;
68.
69. char c;
70. printf("Please input operator\nFor example '+' '-' '*' '/'\n");
71. scanf("%c",&c);
72. printf("Please input number\n");
73. scanf("%d%d",&a,&b);
74. switch(c)
75. {
76. case '+':
77. d=a+b;break;
78. case '-':
79. d=a-b;break;
80. case '*':
81. d=a*b;break;
82. case '/':
83. d=a/b;break;
84. default: break;
85. }
86.
87. printf("%d",d);
88. getch();
89.
90. }
简单版以下的计算器:
void main()
{
int a,b,d;
char c;

scanf("%c",&c);
scanf("%d%d",&a,&b);
switch(c)
{case '+': d=a+b; ;break;
case '-': d=a-b; ;break;
case '*': d=a*b; ;break;
case '/': d=a/b; ;break;
default: break;
}
printf("%d",d);
getch();
}

91. 编写程序,要求:输入学生某科成绩,输出其等级。成绩【90,100】为A等,成绩【80,89】为B等,成绩【60-79】为C等,60分以下为D等。
92. void main()
93. {
94. int a;
95. scanf("%d",&a);
96. switch(a/10)
97. { case 6: printf("C") ;break;
98. case 7: printf("c") ;break;
99. case 8: printf("B") ;break;
100. case 9: printf("A") ;break;
101. case 10: printf("A") ;break;
102. default: printf("Not qualified D "); break;
103. }
104.
105. getch();
106. }

全部自己做的。本回答被提问者采纳
第2个回答  2012-02-28
#include<stdio.h>
#include<math.h>
void main()
{
int a,b;
scanf("a,b=%d%d",&a,&b);
if(a<0&&b<0)
printf("a的绝对值=%d,b的绝对值=%d",fabs(a),fabs(b));
else if(a>0&&b>0)
printf("a,b的平方根是:%f",sqrt(a*b));
else printf("others");
}
第3个回答  2011-12-07
#include "stdio.h"
#include "math.h"
void main()
{
int n;
double x;
printf("请输入个整数");
scanf("%d",&n);
if(n<0)
{x=abs(n);
printf("%lf",x);}
else
{x=sqrt(n);
printf("%lf",x);}

}
第4个回答  2008-04-23
已经通过编译和运行
#include<stdio.h>
#include<math.h>

void main()
{
double n;
for(n=1;n<82;n=n+1)
{
printf("num:%lf\t",n);
printf("sqrt:%lf\t,square:%lf\n",sqrt(n),pow(n,2));
}
}
相似回答