标题:while和IF函数问题
只看楼主
liangkenan
Rank: 1
等 级:新手上路
帖 子:79
专家分:7
注 册:2011-9-16
得分:0 
我啥都没学过,就是一大一新生,多包涵啊~
2011-10-13 23:07
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
得分:0 
if (a=5,10,15,25),稍微改下,还是有语言可以这么写:
if (a `elem` [5,10,15,25])
2011-10-13 23:16
guang0725
Rank: 2
等 级:禁止访问
帖 子:70
专家分:70
注 册:2011-9-5
得分:0 
可以这样写么if (a=5||a=10||a=15||a=25)printf("*\n");什么叫输入5*5的星号啊  ,不懂
 
2011-10-14 07:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
回复 12楼 wfoo
那是什么语言?

授人以渔,不授人以鱼。
2011-10-14 09:44
wangshubinok
Rank: 1
等 级:新手上路
帖 子:6
专家分:7
注 册:2011-4-4
得分:0 
只把条件改一下就好了
# include <stdio.h>
int main()
{
    int a;
    a=1;
    while(a<=25)
    {
        if (a%5==0)
        printf("*\n");
            else printf("*");
            a++;
    }
    return 0;
}
2011-10-14 10:56
liangkenan
Rank: 1
等 级:新手上路
帖 子:79
专家分:7
注 册:2011-9-16
得分:0 
这个是C语言
2011-10-14 12:38
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
得分:0 
回复 14楼 TonyDeng
Haskell。
程序代码:
if(a `elem` [5,10,15,20,25])
也可以这么写
if elem a [5,10,15,20,25]
或者
if a `elem` [ 5*i | i <- [1..5] ]

其实这里也是调用了函数elem,只不过在haskell 中,支持函数名中缀写法,以及调用函数时参数和函数名间不用括号。
如果函数名为字符,那么中缀写法要用 `字符 括起来。比如 1 `add` 2(等价于 add 1 2)
如果函数名为符号,那么中缀写法不要 `字符 括起来。如 1 == 2 (等价于 (==) 1 2)

个人觉得 符合函数用起来最爽:
notEqOne1 = not . (==1)  -- 不等于1
notEqOne2 = not . (1==)  -- 同上
notEqOne3 = (/=1)

f, g, fg :: Int -> Int  -- f g fg都是从 Int 到 Int 的函数
f = (+3)     -- f(x)  = x + 3
g = (4*)     -- g(x)  = 4 * x
fg  = f . g  -- fg(x) = (f . g)(x) <=> fg(x) = (4*x)+3

2011-10-14 13:21
sunlee
Rank: 2
等 级:论坛游民
帖 子:77
专家分:15
注 册:2011-10-14
得分:0 
为美观起见,我觉得吧程序设计成这样:
#include<conio.h>
#include<stdio.h>
main()
{int i;
for(i=1;i<=25;i++)
{printf("*%c%c",' ',' ');
if(i%5==0)printf("\n");}
getch();
}
2011-10-14 13:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
回复 17楼 wfoo
嗯,学到东西了。

在VFP中,就有INLIST(a, v1, v2, v3, ...)的函数,就是判断a是否在后面连串列表值之一的,C++标准库也有类似算法,正是楼主的意图。因此我猜楼主可能学过别的什么语言,却居然不是,但这份想象力也真可以,不错。

授人以渔,不授人以鱼。
2011-10-14 14:55
edward1688
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-10-12
得分:0 
以下是引用鸿飞冥冥在2011-10-13 22:44:16的发言:

# include  
 
int main (void)
{
    int a;
 
    a = 1;
 
    while(a < 26)
    {
        printf("*");
         
        if(a%5==0)printf("\n");
         
        a++;
    }
 
    return 0;
}
用这个好好和你的比较一下吧
2011-10-14 15:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-352324-1-1.html




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

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