11-09-26

来源:互联网 发布:iphone手机摄影软件 编辑:程序博客网 时间:2024/05/13 23:42
 

right.c

#include <stdio.h>
int main ()
{
        double x,y;
        printf("Enter X :\n");
        scanf("%lf",&x);
        y=-1/(2*x);
        if (x>=0)
                if (x>0)
                        y=1/x;
                else
                        y=0;
        printf("x=%f,y=%f\n",x,y);
}

运行结果:

Enter X :
15
x=15.000000,y=0.066667

wrong.c

#include <stdio.h>
int main ()
{
        double x,y;
        printf("Enter X :\n");
        scanf("%f",&x);
        y=-1/(2*x);
        if (x>=0)
                if (x>0)
                        y=1/x;
                else
                        y=0;
        printf("x=%f,y=%f\n",x,y);
}

运行结果:

Enter X :
15
x=2.164124,y=0.462081

这是否说明,当使用double类型变量的时候,使用scanf函数输入的时候,格式说明需要说明为长整型,

否则会导致数据溢出?
而改用float类型变量后,则运行结果正常。

使用switch语句的时候,如果不使用break,那么,执行的不止是case语句,包括default后的语句也会执

行。


int a=1,b=2,c;
c=a;
a=b;
b=c;

a=a+b;
b=a-b;
a=a-b;


求最大公约数除了使用辗转相除法还可以使用辗转相减法。