| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 786 人关注过本帖
标题:学习C语言的自己做的c程序,希望大家可以不吝赐教(我会不断续贴)
只看楼主 加入收藏
龙牙
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大汉
等 级:贵宾
威 望:17
帖 子:769
专家分:6207
注 册:2013-3-18
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:8 
学习C语言的自己做的c程序,希望大家可以不吝赐教(我会不断续贴)
求n!(递归)

#include"stdio.h"
int fun(int n)
{
 int c;
 if(n==0||n==1)
 c=1;
 else
 c=fun(n-1)*n;
 return c;}
 main()
{
 int k;
 int fun(int n);
 scanf("%d",&k);
 if(k<0)
 printf("error!");
 else
 printf("%d!=%d",k,fun(k));
}

[ 本帖最后由 龙牙 于 2013-5-9 12:26 编辑 ]
搜索更多相关主题的帖子: fun include return C语言 
2013-05-08 22:56
wkz2012
Rank: 4
等 级:业余侠客
帖 子:123
专家分:253
注 册:2012-12-13
收藏
得分:4 
最好在if和else后面的语句都加上大括号,虽然这里只有一句,对结果没影响,但介于阅读的方便性,还是加上

我了个去的编程!
2013-05-08 22:59
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
收藏
得分:4 
你的程序错了吧,主函数中是int fun(int n)
而实际的函数确实fan;
而且既然函数体的定义在使用前,所以就没必要声明了,多此一举!

练就一身本领,只为笑傲江湖!
2013-05-08 23:47
黄辉
Rank: 4
等 级:业余侠客
帖 子:106
专家分:255
注 册:2013-4-28
收藏
得分:4 
   你的程序整体上很公整,只是你的程序还没有规范起来,
   一、if else后面的语句应该用{ }括起来,不管他的语句有多少;
   二、最好在语句的定义部分或重要部分作注释,"// "为当行注释符,“/*、、、、、、*/”可当行也可以部分注释
   三、变量的规范,第一个的首字母可以不用大写,第二个起的后每一个单词的首字母要大写
   四、层次性问题了,以后遇到了你就知道了。
 这些我们学C的时候老师都没有强调,是我们的C#老师强调的,希望对你有帮助!!!加油哦!!

你不勇敢,谁替你坚强。。。
2013-05-09 12:51
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
收藏
得分:4 
还需要写得规范些

菜鸟也疯狂
2013-05-09 13:20
龙牙
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大汉
等 级:贵宾
威 望:17
帖 子:769
专家分:6207
注 册:2013-3-18
收藏
得分:0 
回复 4楼 黄辉
谢谢你的建议,我会虚心接受。

只要心是晴朗的,人生就没有雨天。
2013-05-09 22:08
龙牙
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大汉
等 级:贵宾
威 望:17
帖 子:769
专家分:6207
注 册:2013-3-18
收藏
得分:0 
谢谢大家的建议,我会虚心接受。

只要心是晴朗的,人生就没有雨天。
2013-05-09 22:10
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:4 
/*
功能:实现阶乘
输入/输出:
修改日期:
作者:
*/
#include <stdio.h>

int fun(int n);

int main(void)
{
    int k;
    scanf("%d",&k);
    if(k<0)
        printf("error!");
    else
        printf("%d!=%d",k,fun(k));
    return 0;
}

int fun(int n)
{
    int c;
    if(n==0||n==1)
        c=1;
    else
        c=fun(n-1)*n;
    return c;
}


经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-05-12 08:16
shenwenbin
Rank: 2
来 自:江苏省淮安市淮安区
等 级:论坛游民
帖 子:8
专家分:15
注 册:2013-5-11
收藏
得分:4 
回复 楼主 龙牙
[code][code]
#include<stdio.h>
int fun(int n);
int main()
{
int k;

scanf("%d",&k);
if(k<0)
printf("error!\n");
else
printf("%d!=%d\n",k,fun(k));

return 0;
}

int fun(int n)
{
int c;
if(n==0)
c=1;
else
c=fun(n-1)*n;
return c;
}
你用我改正的代码自己运行一遍!然后看看我将你的原代码哪几处修正了
2013-05-12 09:14
快速回复:学习C语言的自己做的c程序,希望大家可以不吝赐教(我会不断续贴)
数据加载中...
 
   



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

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