| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1027 人关注过本帖
标题:这个是作业,但是我想问为什么
只看楼主 加入收藏
huale6
Rank: 2
等 级:论坛游民
帖 子:23
专家分:34
注 册:2011-11-15
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:5 
这个是作业,但是我想问为什么
在空缺处填写,并实现输入并计算一个只包含加减运算的表达式,其中每个
运算数都是正整数,运算符都是“+”或“-”,除第一个数
以外,其余每个数前面都有一个运算符,当运算数为0时表
达式终止。
**********/

#include<stdio.h>
void main()
{  int term,result;
   char ch;
   scanf("%d",&result);
   ch=getchar();
   //可以使用while循环


   printf("result: %d\n",result);
}


这个是我自己的写法:
#include<stdio.h>
void main()
{  int term,result;
   char ch;
   scanf("%d",&result);
   ch=getchar();
   //可以使用while循环
term=1;
  while(term!=0)
{
scanf("%d",&term)
switch(ch)
{
case'+':result=result+term;break;
case'-':result=result-term;break;
}
ch=getchar();
}

   printf("result: %d\n",result);
}
我的问题是能不能在while里面就把term赋值给弄好了,不要加个term=1,还有就是有没有其他的思路,问题有点长,希望高手赐教

我看过别的同学用if语句写了,用ASCII值表示加减符号,所以我还想问一下,哪一种比较好


[ 本帖最后由 huale6 于 2011-11-30 17:35 编辑 ]
搜索更多相关主题的帖子: include result 表达式 正整数 
2011-11-30 16:47
C帅
Rank: 1
等 级:新手上路
帖 子:56
专家分:7
注 册:2010-1-5
收藏
得分:0 
首先你在拿term作为while语句的判断条件,如果你在while里赋值的话不能保证你能进入到while循环里
2011-11-30 16:52
心灵百合
Rank: 5Rank: 5
等 级:职业侠客
帖 子:215
专家分:367
注 册:2011-3-30
收藏
得分:0 
可以不写term=1;这句,不给term赋值,默认的是个随机的很大的值。
2011-11-30 16:59
strivelong87
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:68
专家分:159
注 册:2011-11-24
收藏
得分:0 
可以这么写不:while(scanf("%d",&term)==1)
2011-11-30 17:14
小夫子
Rank: 2
来 自:哈尔滨
等 级:论坛游民
帖 子:27
专家分:74
注 册:2011-11-17
收藏
得分:20 
你不是当输入数为0时结束吗 要这样写就为只能输入1是才能运行了 只能对操作了 别的数不是都不等于1吗 表达式为假不执行
2011-11-30 19:36
小夫子
Rank: 2
来 自:哈尔滨
等 级:论坛游民
帖 子:27
专家分:74
注 册:2011-11-17
收藏
得分:0 
这个程序挺正常的不就是做加减吗? 用ASCII起不是到没必要了 while循环吧是先判断 所以第一次判断得让表达式为真才能继续运行 还有 你是不吧while括号中得表达式弄错了( scanf("%d",&term)==1) 这是个比较运算 scanf("%d",&term)的值为你输入的 然后在和1进行比较 只有相等时表达式为真
2011-11-30 19:43
快速回复:这个是作业,但是我想问为什么
数据加载中...
 
   



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

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