| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:究竟是哪一个不行
只看楼主 加入收藏
周1992
Rank: 2
等 级:论坛游民
帖 子:70
专家分:60
注 册:2011-3-18
结帖率:76.92%
收藏
 问题点数:0 回复次数:9 
究竟是哪一个不行
#include<stdio.h>
#include<math.h>
main()
{ char a[100];int x[100],d,i,j,m,n,k,b,c,h;
  for (i=0,j=0;;i++,j++)
    {  scanf ("%c",&a[i]);
       if (a[i]=='=') break;
    }
   for (d=1,h=0,i=j-3;i>0;i--)
   {    if (i==1&&a[i]<48||a[i]>57)   
          x[h]=a[0]-48;
       if (d!=1&&a[i-1]>=48&&a[i-1]<=57)
             {    x[h]=pow(10,d)*(a[i-1]-48)+x[h];
                    d++;
             }
            if (d==1&&a[i]>=48&&a[i]<=57&&a[i-1]>=48&&a[i-1]<=57)
            {    x[h]=pow(10,d)*(a[i-1]-48)+a[i]-48;
                    d++;
            }
            if (d==1&&a[i]>=48&&a[i]<=57&&a[i-1]<48||a[i-1]>57)
                 x[h]=a[i]-48;
            if (a[i-1]=='-') x[h]=-x[h];
             if (a[i-1]==',')
                  h++,d=1;
  }
  for(i=0;i<=h;i++)
   {   for (k=0,n=0,m=0;m<=h;m++)
        {  if (x[i]<=x[m])
                n++;
            if (x[i]>=x[m])
                k++;
        }
    if (n==h+1) b=x[i];
    if (k==h+1) c=x[i];
   }
   if (a[j-2]=='+')
   {  if (b<0) printf ("%d + (%d) = %d\n",c,b,c+b);
       else  printf ("%d + %d = %d\n",c,b,c+b);
   }
   if (a[j-2]=='-')
   {  if (b<0) printf ("%d - (%d) = %d\n",c,b,c-b);
       else  printf ("%d - %d = %d\n",c,b,c-b);
   }
   if (a[j-2]=='*')
   {    if (b<0) printf ("%d * (%d) = %d\n",c,b,c*b);
       else  printf ("%d * %d = %d\n",c,b,c*b);
   }
   if (a[j-2]=='/')
   {  if (b==0) printf ("Error!\n");
      else if (b<0) printf ("%d / (%d) = %d\n",c,b,c/b);
            else  printf ("%d / %d = %d\n",c,b,c/b);
      
   }
   if (a[j-2]=='%')
   {  if (b==0) printf ("Error!\n");
        else  if (b<0) printf ("%d %% (%d) = %d\n",c,b,c%b);
             else  printf ("%d %% %d = %d\n",c,b,c%b);
        
   }
}

用该程序运行, 最大数 op 最小数=结果  请问哪一些数不行?我检查不出,但测试又不过,多谢了。
搜索更多相关主题的帖子: include 
2011-05-04 21:47
饭桶
Rank: 6Rank: 6
等 级:侠之大者
帖 子:165
专家分:422
注 册:2011-4-5
收藏
得分:0 
你这个是要干什么的呢?

人得一生得奋斗!
2011-05-04 21:54
周1992
Rank: 2
等 级:论坛游民
帖 子:70
专家分:60
注 册:2011-3-18
收藏
得分:0 
输入一些数
比方说1,3,2,,25,45,,3,-324,-2345,+,=
 然后再用最大数和最小数进行指定的运算。
 我是新手,所以程序很长,不知者个怎么办????
2011-05-05 12:21
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
汗,你的程序真好看。。。。

我们都在路上。。。。。
2011-05-05 13:16
周1992
Rank: 2
等 级:论坛游民
帖 子:70
专家分:60
注 册:2011-3-18
收藏
得分:0 
没办法。刚学。
2011-05-05 13:48
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
继续吧,分解一下问题,你会发现很简单的,
先把数据装入一个数组,
然后写一个函数,判断数组里的最大值和最小值。
取要指定的操作。
然后进行运算,
最后打印结果。

我们都在路上。。。。。
2011-05-05 13:55
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
将数放入一个数组中,找出最大和最小。进行指定运算即可。
2011-05-05 16:37
kangnan8818
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-4-28
收藏
得分:0 
for (i=0,j=0;;i++,j++)
这个怎么没个限制条件啊??
不好意思,我也新手,不知道说的对不对?
2011-05-05 17:22
周1992
Rank: 2
等 级:论坛游民
帖 子:70
专家分:60
注 册:2011-3-18
收藏
得分:0 
这个是当a[i]符合值时有break,所以不用
2011-05-05 18:34
周1992
Rank: 2
等 级:论坛游民
帖 子:70
专家分:60
注 册:2011-3-18
收藏
得分:0 
回复 6楼 hellovfp
用int 的话,不能存+,=;用char的话,老师的一个测试例子不能过,那个是保密的。
算不下去了。
2011-05-05 18:37
快速回复:究竟是哪一个不行
数据加载中...
 
   



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

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