| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖
标题:令人蛋疼的walkthrough,疑问在comments里,请指点,谢谢。
只看楼主 加入收藏
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
结帖率:71.88%
收藏
 问题点数:0 回复次数:7 
令人蛋疼的walkthrough,疑问在comments里,请指点,谢谢。
#include <stdio.h>
 #define MIN 2
 #define MAX 5
 int pRbar ( double area, int *size, int *no );

 int main() {
     int s, n, i;
     double area, cc;

     area = 15.00;
     while ( area <= 105.00) {
         i = pRbar ( area, &s, &n );
         if ( i == 1 )
             printf("To get %.0lf, use %d-#%d\n", area, n, s );
         else
             printf("No match found\n");
         area += 15.00;
     }
     return 0;
 }
 int pRbar ( double area, int *size, int *no ) {
     int i, j, k;
     double a;

     k = 1;
     for ( j = MIN; j <= MAX && k; j++ ) //j <= MAX && k不就是j<=5&&1,这不是自相矛盾吗?
     {
          for ( i = 1; i <= 4 && k; i++ )//疑问和上一个一样
            {
               switch ( i ) {
               case 1:
                   a = 7.50;
                   break;
               case 2:
                   a = 11.50;
                   break;
               case 3:
                   a = 15.25;
                   break;
               case 4:
                   a = 19.05;
                   break;
               }
               if (a * j >= area) {
                   k = 0;
                   *size = i;
                   *no = j;
               }
          }
     }
     printf("(%d-#%d %5.2lf)\n", j-1, i-1, a);
     return !k;//除了k之外其他都输出吗?
 }
搜索更多相关主题的帖子: 谢谢 疑问 include double return 
2013-04-10 23:53
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
你这段程序是想干吗?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-11 06:45
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
if (a * j >= area)
 {
         k = 0;         //这里不是给k赋值了吗?没看见吗?      
         *size = i;              
         *no = j;               
}

总有那身价贱的人给作业贴回复完整的代码
2013-04-11 07:58
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
收藏
得分:0 
for ( j = MIN; j <= MAX && k; j++ ) //j <= MAX && k不就是j<=5&&1,这不是自相矛盾吗?
return !k;//除了k之外其他都输出吗?
我的疑问是这两个。
2013-04-11 08:07
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
以下是引用winglesswu在2013-4-11 08:07:39的发言:

for ( j = MIN; j <= MAX && k; j++ ) //j <= MAX && k不就是j<=5&&1,这不是自相矛盾吗?
return !k;//除了k之外其他都输出吗?
我的疑问是这两个。

楼上不是跟你说了K有赋值吗?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-11 08:26
winglesswu
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2013-1-28
收藏
得分:0 
我问的重点不是k的值,是怎么理解j <= MAX && k,之前k=1,max=5
2013-04-11 10:19
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
以下是引用winglesswu在2013-4-11 10:19:24的发言:

我问的重点不是k的值,是怎么理解j <= MAX && k,之前k=1,max=5

我请问你一个问题
你知道这个世界上有一种技术叫做debug吗?

k是一个开关,用来蹦出循环用的

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-11 10:53
吃肉无罪
Rank: 2
等 级:论坛游民
帖 子:7
专家分:30
注 册:2013-4-10
收藏
得分:0 
两种情况下结束这个循环,要么j>5了,要么k=0了呗。
if (a * j >= area)
{
         k = 0;               
         *size = i;              
         *no = j;               
}
也就是a * j >= area时就可以跳出循环了
2013-04-11 11:13
快速回复:令人蛋疼的walkthrough,疑问在comments里,请指点,谢谢。
数据加载中...
 
   



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

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