| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1487 人关注过本帖
标题:换了个C语言老师。 全得自学了,大家来帮忙啊。
只看楼主 加入收藏
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:0 
以下是引用zghnxzdcx在2010-12-4 13:15:55的发言:

这种老师明显是研究生级别的,和社会隔离地生活了太久

粗心是大敌
2010-12-04 16:22
xieshen947
Rank: 2
等 级:论坛游民
帖 子:58
专家分:65
注 册:2010-9-4
收藏
得分:0 
这个不难吧用for循环就解决问题了
2010-12-04 19:17
xieshen947
Rank: 2
等 级:论坛游民
帖 子:58
专家分:65
注 册:2010-9-4
收藏
得分:0 
float kcf(float m)
{
    float n;
   n=m;
    for(int a=1;a<k;a++)
        {
            m*=n;
            return m;
        }
}
main()
{
int n=??;
int i;
float sum;
for(i=0;i<n;i++)
{
    kcf(float(i));//i和k如果很大的话可能会溢出
    sum+=kcf(i);
    return sum;
}
printf("%.1d",sum)
}

2010-12-04 19:37
xieshen947
Rank: 2
等 级:论坛游民
帖 子:58
专家分:65
注 册:2010-9-4
收藏
得分:0 
希望能够帮助你
其中mian()里面的n可以scanf进去
kcf函数是用来算n的k次方的
main中累加的
单线程,m与k很大的时候我想到后来会很吃力的,我不懂多线程,希望大家能够提出更好的方法
2010-12-04 19:42
xieshen947
Rank: 2
等 级:论坛游民
帖 子:58
专家分:65
注 册:2010-9-4
收藏
得分:0 
回复 3楼 flyingcat
原来pow函数就可以了,
2010-12-04 19:43
ww稻草人
Rank: 5Rank: 5
来 自:陕西西安
等 级:职业侠客
帖 子:57
专家分:309
注 册:2010-5-11
收藏
得分:0 
我帮你改了一下程序,你的程序写的有点小问题,如下:
#include<stdio.h>
long pow(int n,int k)
{
    long p=1                   //p最开始的时候应该是1
    int i;
    for(i=1;i<=k;++i)          //循环到K次方
        p*=n;
    return p;
}
long sigma(int n,int k)
{
    long sum=0;
    int j;
    for(j=1;j<=n;j++)
        sum+=pow(j,k);          //这里n要改为j
    return sum;
}
int main()
{
    int n,k;               //n表示到几,k表示指数
    printf("\n请输入N:");
    scanf("%d",&n);
    printf("\n请输入K:");
    scanf("%d",&k);
    printf("1 至%d的%d次方的和=%d\n",n,k,sigma(n,k));
    return 0;
}

那样该没有其他的意思,只是易于理解,易于阅读。
编程时时刻记住:目标是什么?已经做了什么?将要做什么?编完程序最好看看检查一下,因为你编程的过程中不可能不犯错误,一定要仔细小心


[ 本帖最后由 ww稻草人 于 2010-12-4 19:58 编辑 ]

我的博客  http://blog..cn/daocaoren020
2010-12-04 19:56
qq312154421
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:124
专家分:120
注 册:2010-6-7
收藏
得分:0 
学习了。。。

勤奋不止,自强不息。
2010-12-04 20:57
mengcong3959
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:41
专家分:113
注 册:2010-12-6
收藏
得分:0 
把sigma函数里面的变为 for(j=1;j<=k;j++)
 sum+=pow(j,k);就o了
2010-12-06 16:43
sh9264
Rank: 1
来 自:沧州
等 级:新手上路
帖 子:51
专家分:9
注 册:2009-10-24
收藏
得分:0 
太强悍的老师
2010-12-06 18:57
zhdc58204732
Rank: 2
等 级:论坛游民
帖 子:2
专家分:14
注 册:2010-12-6
收藏
得分:0 
老师不是那么好当的
体亮一下
2010-12-06 19:22
快速回复:换了个C语言老师。 全得自学了,大家来帮忙啊。
数据加载中...
 
   



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

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