| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 827 人关注过本帖
标题:今天学C Primer Plus的2—6时,用了个十分简陋的方法来做,想在这里问一下, ...
只看楼主 加入收藏
zhengbingyin
Rank: 2
等 级:论坛游民
帖 子:52
专家分:20
注 册:2012-3-27
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:19 
今天学C Primer Plus的2—6时,用了个十分简陋的方法来做,想在这里问一下,究竟还有什么方法能更精练的做出呢?
2—6
编写一个能够产生下列输出的程序:
Smile!Smile!Smile!
Smile!Smile!
Smile!

在程序中定义一个能显示字符串Smile!一次的函数,并在需要时使用该函数。

------------------------------------------------------------------------------
#include <stdio.h>
void smile(void);
int main(void)
{
    smile();smile();smile();
    printf("\n");
    smile();smile();
    printf("\n");
    smile();
    printf("\n");
    return 0;
}
void smile(void)
{
    printf("Smile!");
}
搜索更多相关主题的帖子: void 今天 include return 字符串 
2012-04-04 10:56
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:2 
等学了嵌套循环,可以用双层循环实现
for(i) {
    for(j)
        printf(...);
    putchar('\n');
}

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2012-04-04 11:01
moonnight
Rank: 5Rank: 5
等 级:职业侠客
帖 子:158
专家分:380
注 册:2012-3-17
收藏
得分:1 
循环啊
2012-04-04 11:05
zhengbingyin
Rank: 2
等 级:论坛游民
帖 子:52
专家分:20
注 册:2012-3-27
收藏
得分:0 
回复 2楼 lonmaor
呜呜呜,我这种解决方法是不是十分不提倡的?没办法,傻人用的傻方法。循环啊,还未深入学,之前看到其他人的循环解法,发现挺长的,又应怎么评论下面看到的这条循环呢?

------------------------------------------------------------------------------------------------------------------------------------------------
#include<stdio.h>
void smile(int n);
int main(void)
{
int num;
num=3;

smile(num--);
smile(num--);
smile(num--); return 0;
}
void smile(int n)
{
while(n-->0)
printf("smile!");
printf("\n");
}
2012-04-04 11:13
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
看过某达人的签名:大道至简
继续修炼吧,修炼到手中无剑,心中也无剑的地步。。

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2012-04-04 11:57
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:3 
程序代码:
#include<stdio.h>

 void smile(int n);

 int main(void)

 {

 int num;

 num=3;

smile(num--);//num=3时,调用void smile(int n)n = 3;
 smile(num--);//num=2时,调用void smile(int n)n = 2;
 smile(num--);num=1时,调用void smile(int n)n = 1;

 return 0;

 }

 void smile(int n)

 {

 while(n-->0)

 printf("smile!");

 printf("\n");

 } 

最基础的往往是你最容易忽略的!
2012-04-04 12:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
其实一看到题目,你就应该想到设计4楼那样的子函数。

授人以渔,不授人以鱼。
2012-04-04 14:01
Ayiis
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1086
专家分:3063
注 册:2011-4-10
收藏
得分:3 
程序代码:
#include<stdio.h>
int main()
{
int n,num=3; //num是定义的打印行数
for(;num>0;num--) //第一层FOR循环,利用【num】自减,打印【num】行
{
    for(n=num;n>0;n--) //第二层FOR循环,打印【smile!】,逐行递减
    {
        printf("smile!");
    }
    printf("\n"); //在这里换行
}
return 0;
}

呃,抱歉。。。根据二楼的意思你是还没学for。。那...

[ 本帖最后由 Ayiis 于 2012-4-4 14:38 编辑 ]

  • 该单位
  • 正在被拖走
2012-04-04 14:35
zhengbingyin
Rank: 2
等 级:论坛游民
帖 子:52
专家分:20
注 册:2012-3-27
收藏
得分:0 
回复 6楼 于祥
哦,这种编程方法还未看到呢。
2012-04-04 16:12
zhengbingyin
Rank: 2
等 级:论坛游民
帖 子:52
专家分:20
注 册:2012-3-27
收藏
得分:0 
回复 7楼 TonyDeng
晕,新手刚刚学到2—6那,循环都没学到呢。
2012-04-04 16:14
快速回复:今天学C Primer Plus的2—6时,用了个十分简陋的方法来做,想在这里问 ...
数据加载中...
 
   



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

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