C程序设计基础——水仙花数和迭代法的计算

来源:互联网 发布:哪里有淘宝店铺出租 编辑:程序博客网 时间:2024/05/17 22:08

这里有两个程序,记录一下。

#include<stdio.h>int main0(){    int n, a, b, c;    printf("水仙花数是\n");    for (n = 100; n < 1000; n++)    {        a = n / 100;        b = n % 100 / 10;            //改进:b=n/10-i*10.   三位数化为两位数,求两位数的十位数        c = n - a*100 - b*10;         //改进:c=n%10        if (n == a*a*a + b*b*b + c*c*c)            printf("%d,", n);    }    printf("\n");    return 0;}//迭代法求x=sqrt(a),公式: Xn+1=0.5(Xn+a/Xn)//便于处理,用x0,x1代表,可设置x0初值,进行计算#include<math.h>int main1(){    float a,x0,x1;          //有意思x0    printf("enter a positive number:");    scanf_s("%f", &a);    /*x0 = a / 2;    do    {        x1 = (x0 + a / x0)/2;          x0 = x1;    } while (fabs(x1 - x0 )>= 1e-5);  //while 是直到的意思    */    //这里是自己减自己了,修正如下:    x0 = a / 2;    x1 = (x0 + a / x0) / 2;    do    {    x0 = x1;    x1 = (x0 + a / x0) / 2;    } while (fabs(x1 - x0) >= 1e-5);    printf("the square of %5.2f is %8.5f\n", a, x1);    return 0;}