当前位置: 代码迷 >> C语言 >> 新人求助小问题
  详细解决方案

新人求助小问题

热度:274   发布时间:2007-05-25 08:32:51.0
新人求助小问题

昨天刚看书书后有一道这样的题:
编写一个能够产生下列结果的程序,要求定义一个能显示smile!的一次函数.
smile!smile!smile!
smile!smile!
smile!





请过路人帮我编一下.我想了很久都想不出来
谢谢

搜索更多相关的解决方案: 看书  能够  一次函数  过路人  

----------------解决方案--------------------------------------------------------

仅仅是显示smile!这个单词吗?
#include<stdio.h>
void pre();
void main()
{
pre();
}
void pre()
{
printf("smile!");
}

是这个意思吗


----------------解决方案--------------------------------------------------------

#include "stdio.h"

main()
{ int x, y,i;
printf("请录入数字键0--2\n");
scanf ("%d",&x);
y=3-x;
for(i=0;i<y;i++)
printf("smile!");
printf("\n");

}


----------------解决方案--------------------------------------------------------
回复:(YOGIOH)仅仅是显示smile!这个单词吗?#inclu...

不是是要显示
smile!smile!smile!
smile!smile!
smile!
这个结果的!!


----------------解决方案--------------------------------------------------------

那应该是这个吧:
#include "stdio.h"

int main()
{ int j,i;
for(i=1;i<=3;i++)
{
for (j=3;j>=i;j--)
printf("smile!");
printf("\n");
}
return 0;

}


----------------解决方案--------------------------------------------------------
呵呵,搞个双重循环!!
----------------解决方案--------------------------------------------------------

昨天刚看书书后有一道这样的题:
编写一个能够产生下列结果的程序,要求定义一个能显示smile!的一次函数.

要求定义一个能显示smile!的一次函数. 这句话的意思是要定义一个子函数吧   如:

void print()
{
printf("smile!");
}


我的程序是:

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
void print();

int i,j,n;

printf("enter n:");
scanf("%d",&n);

for(i=1;i<=n;i++)
{
for(j=n;j>=i;j--)
{
print();
}
printf("\n");
}

system("pause");
return 0;
}

void print()
{
printf("smile!");
}


----------------解决方案--------------------------------------------------------
  还要说明下,就是上面我定义了一个变量n(由你自己输入)--它的作用是用来控制你要显示的行列数. 要是你输入3就是你要的结果了!
----------------解决方案--------------------------------------------------------

要限制一下吧!要不然一行太多个会换行!

我的程序:

修改了楼上的!

#include<stdio.h>
int main()
{ int j,i,n;
printf("input n(1=<n=<13):");
scanf("%d",&n);
if(n>=1&&n<=13)
for(i=1;i<=n;i++)
{
for (j=n;j>=i;j--)
printf("smile!");
printf("\n");
}
return 0;

}


----------------解决方案--------------------------------------------------------

谢谢楼上的兄弟哈!我又多学了一点.你是根据在运行窗口中最多能显示的字符数来确定的吗(13)???

我想给你几个建议--我觉得你的风格很不好(我的呢,我自己感觉还不错)
然后就是,我们在实现一个功能的时候 都考虑的太少了 比如:我把你的也该了下

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
int j,i,n;

/*printf("input n(1=<n=<13):");
scanf("%d",&n);
if(n>=1&&n<=13)*/

do
{
printf("input n(1=<n<=13):");
scanf("%d",&n);
}
while(n<0||n>13);

for(i=1;i<=n;i++)
{
for (j=n;j>=i;j--)
{
printf("smile!");
}
printf("\n");
}

system("pause");
return 0;
}


----------------解决方案--------------------------------------------------------
  相关解决方案