325 发表于 2012-9-15 19:58

谁再来帮我看看c代码吧

#include<stdio.h>
int main()
{
    float a,b,t;
        scanf("%f,%f",&a,&b);
        if(a>b)
        {
                t=a;
                a=b;
                b=t;
        }
        printf("%5.2f,%5.2f\n",a,b);
        return 0;
}

实现两个数的交换,哪错了?







#include<stdio.h>
int main()
{
        int year,leap;
        printf("enter year:");
        scanf("%d\n",&year);
        if((year%4==0&&year%100!=0)||(year%400==0))
                leap=1;
        else leap=0;
        if(leap)
                printf("是闰年");
        else
                printf("不是闰年");
        return 0;
}
为什么这样写就是错的,而把第6行\n去掉就是对的?

谢谢了!!!!!!!!!!!!!!!!!!!!!!!!!!!!

wangluzhu 发表于 2012-9-15 20:48

上面的那个程序可以实现输入两个数字,并且按照从小到大的顺序输出,所以只有当第一个数字比第二个数字大时才会交换
第二个程序,scanf本来就不需要\n的

cyg0810 发表于 2012-9-15 21:33

scanf里面为什么还加个\n? 这个表示的是换行。scanf是从缓冲区中读入数据,printf才是向屏幕写数据。建议楼主找本基础的C语言教程看看。

325 发表于 2012-9-16 12:34

非常感谢!!!!
页: [1]
查看完整版本: 谁再来帮我看看c代码吧