Chinaunix

标题: 一个C语言题目,请大家看一下 [打印本页]

作者: hzluly    时间: 2003-12-01 17:13
标题: 一个C语言题目,请大家看一下
大学毕业后好久没有碰这些DD了,最近有朋友让我看看一些题目。还蛮有意思的。下面这个题目,做不出来,感觉好像题目错了。
          printf("please input a inteser(0:ecd);";
               scanf("%d",&x);
感觉这两句应该在循环里面的,是不是?
   
(添空格)输入一批整数,统计出其中的正数和负数个数,输入0则结束。      
     main(  )
           {
               int _____________;
               printf("please input a integer(0:end);";
               scanf("%d",&x);
               while(_____________)
               {
                    if(________)
                         i+=1;
                             else
                         j+=1;
               }
               printf("%d ;%d",i,j);
           }
作者: wangshim_    时间: 2003-12-01 17:19
标题: 一个C语言题目,请大家看一下
i,j,x;
x !=0
x>;0
作者: hzluly    时间: 2003-12-01 17:28
标题: 一个C语言题目,请大家看一下
没这么简单吧。x输入一个正值,不是死循环了? :)
作者: viggy    时间: 2003-12-01 17:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: lenovo    时间: 2003-12-01 17:33
标题: 一个C语言题目,请大家看一下

  1. #include <stdio.h>;

  2. int main( )
  3. {
  4.         int x = 0,i = 0,j = 0;
  5.         printf("please input a integer(0:end);");
  6.         scanf("%d",&x);
  7.         while(x)
  8.         {
  9.                 if((x >; 0) ? scanf("%d",&x) : (scanf("%d",&x),0))
  10.                         i+=1;
  11.                 else
  12.                         j+=1;
  13.         }
  14.         printf("%d ;%d\n",i,j);
  15. }
复制代码

写的太丑了。
作者: kingld    时间: 2003-12-01 17:34
标题: 一个C语言题目,请大家看一下
对,就是提错了
作者: viggy    时间: 2003-12-01 17:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: lenovo    时间: 2003-12-01 17:36
标题: 一个C语言题目,请大家看一下
原帖由 "viggy" 发表:


怎么丑了说??       

呵呵,你误会了吧?
我是说我写的太丑了。
作者: viggy    时间: 2003-12-01 17:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: hzluly    时间: 2003-12-01 17:44
标题: 一个C语言题目,请大家看一下
if((x >; 0) ? scanf("%d",&x) : (scanf("%d",&x),0))


哈哈,高手。这也想得出来。不错,不错,应该可以的
作者: lenovo    时间: 2003-12-01 17:45
标题: 一个C语言题目,请大家看一下
原帖由 "viggy" 发表:


CC,你写的语言我还不懂说,老师没教到呢。。。
GG以后多多指教~~

老师说KISS~~
K=KEEP
I=IT
S=SIMPLE
S=STUPID

keep it simple, stupid
越简单越好,哈,CCCCCC

怎么你看不懂吗?就是在里面的if语句用了一个?:三元运算符而已。
你c++都学了,没学过c?
作者: hzluly    时间: 2003-12-01 17:49
标题: 一个C语言题目,请大家看一下
有些题目添空比重写难多了
作者: lenovo    时间: 2003-12-01 17:54
标题: 一个C语言题目,请大家看一下
原帖由 "hzluly" 发表:
if((x >; 0) ? scanf("%d",&x) : (scanf("%d",&x),0))


哈哈,高手。这也想得出来。不错,不错,应该可以的

过奖了,也是给逼出来的。
作者: hzluly    时间: 2003-12-01 17:57
标题: 一个C语言题目,请大家看一下
这里还有一个题目:利用无穷级数计算圆周率如下:π=4-4/3+4/5-4/7+4/9-4/11。。。。。,要计算多少项才能得到3.14,3.141,3.1415,3.14159?

我编了一个函数处理,应该可以的。但是好像不管多少项都得不出3.14,3.141,3.1415,3.14159等数据,
  void aaaa(float *ss, int n)
   {
     float s=0.0,w,f=-1.0;
     int i=0;
     for(i=0;i<n;i++)
     {
       f=-1*f;             /*每次乘以-1,则符号反复变化*/
       w=4*f/(2*i+1); /*得出单项值*/
       s+=w;   /*累积*/
     }
     *ss=s;
    }
作者: viggy    时间: 2003-12-01 17:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: viggy    时间: 2003-12-01 18:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: lenovo    时间: 2003-12-01 18:05
标题: 一个C语言题目,请大家看一下
原帖由 "viggy" 发表:


没学过哦,我只是刚刚学C++
学过J++, VB ,现在学JAVA,可能以后学C吧。。。。。。   
不要对我那么凶说~~~     

呵呵,学这么多了,你学的我都没学过。
我只学过c/c++。
交个朋友吧。       
作者: viggy    时间: 2003-12-01 18:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: win_hate    时间: 2003-12-01 22:47
标题: 一个C语言题目,请大家看一下
lenovo  兄的代码妙极,堪与纳兰词相比。兄弟自愧不如。我的一段代码如下,很勉强,献丑了。

int
main ()
{
        int x, i=0, j=0;
        scanf ("%d", &x);
        while (i+=(x>;0),j+=(x<0), scanf ("%d", &x), x!=0)
        {
                if (i--||1)
                i++;
                else
                j++;
        }
        printf ("+: %d", i);
        printf ("-: %d", j);

}
作者: lenovo    时间: 2003-12-02 10:16
标题: 一个C语言题目,请大家看一下
原帖由 "hzluly" 发表:
这里还有一个题目:利用无穷级数计算圆周率如下:π=4-4/3+4/5-4/7+4/9-4/11。。。。。,要计算多少项才能得到3.14,3.141,3.1415,3.14159?

我编了一个函数处理,应该可以的。但是好像不管多少项都得不出3.14?.........
计算机的精度是有限的,太小的数字是表示不出来的。
还有你做循环时,最好把求的值和你希望得到的值相减,然后取它们的
绝对值,如果结果在一个很小的数以内,比如1e-6(我的计算机能表示的最小的数字),那就可以认为这个值就可以了。下面是我改的一个。

  1. #include <stdio.h>;
  2. #include <math.h>;

  3. void pi(double *ss, int *n);

  4. int main()
  5. {
  6.         double sum = 0;
  7.         int counter;
  8.         printf("pi1 = %f\n",pi1);
  9.         pi(&sum, &counter);
  10.         printf("sum = %f,counter = %d\n",sum,counter);
  11.         return 0;
  12. }

  13. void pi(double *ss, int *n)
  14. {
  15.         double s = 0.0, w, f = -1.0;
  16.         int i = 0;
  17.         long j = 1;
  18.         while(fabs(s - 3.14) >; 1e-6){
  19.                 f *= -1;
  20.                 w = 4*f/(2*i+1);
  21.                 i++;
  22.                 j++;
  23.                 s += w;
  24.         }
  25.         *n = i;
  26.         *ss = s;       
  27.        
  28. }
复制代码

作者: unicorns    时间: 2003-12-02 13:44
标题: 一个C语言题目,请大家看一下
第一道题不是题目出错了就是出题人神经有毛病
第二题倒是经常考的一道c语言题
几乎每考C都有一道类似的题。
作者: Mercury_cn    时间: 2003-12-02 15:09
标题: 一个C语言题目,请大家看一下
原帖由 "unicorns" 发表:
第一道题不是题目出错了就是出题人神经有毛病
第二题倒是经常考的一道c语言题
几乎每考C都有一道类似的题。


同意。第一题应该是出错了吧。虽然能做,可有人会写这种代码么?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2