| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 308 人关注过本帖
标题:谁知道这道题为什么答案是这个
只看楼主 加入收藏
孤单旋律
Rank: 2
等 级:论坛游民
帖 子:30
专家分:23
注 册:2010-10-22
结帖率:78.57%
收藏
已结贴  问题点数:4 回复次数:3 
谁知道这道题为什么答案是这个
 请补充函数fun(),该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回“yes!”,否则返回“no!”。
  注意:部分源程序给出如下。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
  试题程序:
  #include <stdio.h>
  #include <conio.h>
  char *fun(int n)
  {
  int g,s,b;
  g=n%10;
  s=n/10%10;
  b=【1】;
  if((g+b)==s)
  return "yes!";
  else
  return "no!";
  }
  main()
  {
  int num=0;
  clrscr();
  printf("******Input data *******\n");
  scanf("%d",&num);
  printf("\n\n\n");
  printf("****** The result *******\n");
  printf("\n\n\n%s",fun(num));


第一空就是求这个数的百位,用n/100;不就行了吗?为什么答案是n/100%10
搜索更多相关主题的帖子: return 表达式 源程序 
2011-03-21 16:26
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
 b=【1】; //这是什么意思?

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-21 16:40
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:4 
如果是输入的位数大于3位数的时候,n/100得到的就不是百位那个数字啦, 例如:
root@~ #echo $((123/100))
1
root@~ #echo $((1234/100))//超过3位数的情况
12
root@~ #echo $((123/100%10))
1
root@~ #echo $((123456/100%10))//超过3位数的情况
4
root@~ #
所以, 答案是保证得到的是百位单个数字。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-21 16:48
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:0 
回复 楼主 孤单旋律
第一空就是求这个数的百位,用n/100;不就行了吗?为什么答案是n/100%10
如果n=9999呢?难道百位数字是99?楼主你可以尝试代个数进去想象问题出在哪里!

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-03-21 18:07
快速回复:谁知道这道题为什么答案是这个
数据加载中...
 
   



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

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