标题:新人求教啊
只看楼主
寻竹而过
Rank: 1
等 级:新手上路
帖 子:25
专家分:3
注 册:2012-10-14
得分:0 
(%.2f\n有单括号吗,没得话我也试过,但没用
2012-10-25 18:37
寻竹而过
Rank: 1
等 级:新手上路
帖 子:25
专家分:3
注 册:2012-10-14
得分:0 
但输入-5,结果没出现(-5)*(-5)=25
2012-10-25 18:40
寻竹而过
Rank: 1
等 级:新手上路
帖 子:25
专家分:3
注 册:2012-10-14
得分:0 
#include<stdio.h>
#include<math.h>
int main()
{
    double a;
    int t;
    char c1,c2;
    c1=40;
    c2=41;
    while(scanf("%lf",&a)!=EOF)
    {
    t=(int)a;
    if(t-a==0)
    printf("%d*%d=%d\n",t,t,t*t);
    else
    {
        if(a>0)
        printf("%f*%f=%.2f\n",a,a,a*a);
            else
        printf("%c%f%c*%c%f%c=%.2f\n",c1,a,c2,c1,a,c2,a*a);
    }
    }
return 0;
}这样为什么也不行啊
2012-10-25 18:45
寻竹而过
Rank: 1
等 级:新手上路
帖 子:25
专家分:3
注 册:2012-10-14
得分:0 
恩,知道了,是前面逻辑错误,都运行到第一个if上了
2012-10-25 20:27
寻竹而过
Rank: 1
等 级:新手上路
帖 子:25
专家分:3
注 册:2012-10-14
得分:0 
正解
#include<stdio.h>
#include<math.h>
int main()
{
    double a;
    int t;
    while(scanf("%lf",&a)!=EOF)
    {
        t=(int)a;
        if(t-a==0 && a>=0)
        printf("%d*%d=%d\n",t,t,t*t);
        else
        {
        if(a>=0)
        printf("%g*%g=%g\n",a,a,a*a);
        else
        printf("(%d)*(%d)=%g\n",t,t,a*a);     
        }
    }
return 0;
}
2012-10-25 20:49
超级菜鸟手
Rank: 3Rank: 3
来 自:太阳系
等 级:论坛游侠
帖 子:34
专家分:109
注 册:2012-10-24
得分:0 
2012-10-25 22:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-384401-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.328692 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved