| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 595 人关注过本帖
标题:新人求教啊
取消只看楼主 加入收藏
寻竹而过
Rank: 1
等 级:新手上路
帖 子:25
专家分:3
注 册:2012-10-14
结帖率:60%
收藏
已结贴  问题点数:10 回复次数:9 
新人求教啊
输入一负数,求其平方,要求输出时需要把负数用括号括起来,即输出显示为(-5)*(-5)=25类型的,不知道怎么弄啊

2012-10-25 17:30
寻竹而过
Rank: 1
等 级:新手上路
帖 子:25
专家分:3
注 册:2012-10-14
收藏
得分:0 
额,哥,我才新学,你弄这东西还看不懂啊
完整的题目是
从键盘输入一个数,输出该数的平方。输入输出格式如样例所示。如果输入的是整数,要是平方也是整数输出;如果输入的是实数,
输入时最多保留到小数点后两位,输出的平方和要求精确。
--------------------------------------------------------------------------------

样例输入:
3
3.14
3.2
-5


--------------------------------------------------------------------------------

样例输出:
3*3=9
3.14*3.14=9.8596
3.2*3.2=10.24
(-5)*(-5)=25

我就【如果是负数,输出时需要把负数用括号括起来。】这东西不会弄



 

2012-10-25 18:15
寻竹而过
Rank: 1
等 级:新手上路
帖 子:25
专家分:3
注 册:2012-10-14
收藏
得分:0 
没别的方法吗,你说的我还没学过
2012-10-25 18:22
寻竹而过
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)
    printf("%d*%d=%d\n",t,t,t*t);
    else
    {
        if(a>0)
        printf("%f*%f=%.2f\n",a,a,a*a);
            else
        printf("")        //就这不知道怎么弄
    }
    }
return 0;
}
2012-10-25 18:31
寻竹而过
Rank: 1
等 级:新手上路
帖 子:25
专家分:3
注 册:2012-10-14
收藏
得分:0 
我用字符表示(),但好像没用
2012-10-25 18:34
寻竹而过
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
快速回复:新人求教啊
数据加载中...
 
   



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

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