| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:利用C求解幂函数(请教)
只看楼主 加入收藏
水土第一
Rank: 1
来 自:UJN
等 级:新手上路
帖 子:14
专家分:1
注 册:2010-5-21
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:2 
利用C求解幂函数(请教)
#include "stdafx.h"
#include<stdio.h>
#include<math.h>
void main()
{
    int a,m,i,j,q,t;
    unsigned long b,k=0;
    char str[3][10],a1[10]={0,0,0,0,0,0,0,0,0,0},b1[10]={0,0,0,0,0,0,0,0,0,0};
    for(i=0;i<3;i++)                                                ///:初始化str:/
        for(j=0;j<10;j++)
            str[i][j]=0;
    scanf("%d %ld",&a,&b);
    m=a;
    for(i=0;i<3;i++)                                                ///:将a转换成字符串:/
    {
        a1[i]=m%10;
        m=m/10;
    }
    for(i=0;i<10;i++)                                            //    /:初始化b[i]:/
        b1[i]=a1[i];
    do
    {
        for(i=0;i<3;i++)                                            ///:字符相乘:/
            for(j=0;j<10;j++)
                str[i][j]=b1[j]*a1[i];
        for(i=0;i<3;i++)                                            ///:满十进一:/
        {
            for(j=0;j<10;j++)
                if(str[i][j]>=10)
                {
                    q=str[i][j]/10;
                    str[i][j]=str[i][j]%10;
                    str[i][j+1]=str[i][j+1]+q;
                }
        }
        for(i=1;i<3;i++)                                            ///:后移:/
            for(j=9;j>=0;j--)
                str[i][j]=str[i][j-i];
        for(i=1;i<3;i++)                                            ///:1,2归零:/
            for(j=0;j<i;j++)
                str[i][j]=0;
        for(i=0;i<3;i++)
            b1[i]=0;
        for(j=0;j<10;j++)                                            ///:同列相加:/
            for(i=0;i<3;i++)
                b1[j]=b1[j]+str[i][j];
        for(j=0;j<10;j++)
        {
            if(b1[j]>=10)
            {
                q=b1[j]/10;
                b1[j]=b1[j]%10;
                b1[j+1]=b1[j+1]+q;
            }
        }
        k++;   
    }while(k<b-1);
    for(i=9;;i--)
    {
        if(b1[i]!=0)
        {
            t=i;
            break;
        }
    }
    for(i=t;i>=0;i--)
        printf("%d",b1[i]);
    printf("\n");
}
希望大家能在源程序上修改,以实现要求。谢谢!
[fly]谢谢[/fly]

搜索更多相关主题的帖子: 求解 函数 
2010-05-29 16:53
忘了
Rank: 2
等 级:论坛游民
帖 子:16
专家分:55
注 册:2010-5-17
收藏
得分:10 
scanf("%d %ld",&a,&b);
    m=a;
    for(i=0;i<3;i++)                                                ///:将a转换成字符串:/
    {
        a1[i]=m%10;
        m=m/10;
    }
郁闷了,这是什么意思,转成字符串?只赋三位什么意思
求解幂函数??你在搞什么,是y=x^a还是什么,
2010-05-29 21:42
zhuxu0423
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:59
专家分:101
注 册:2010-4-12
收藏
得分:10 
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,k,sum;
printf("请输入底数");
k=scanf("%d",&i);
printf("请输入幂级数");
scanf("%d",&j);
while(1)
{
sum=pow(i,j);
printf("%d的%d次幂是%d\n",i,j,sum);
printf("请输入底数");
k=scanf("%d",&i);
if(!k)
 break;
printf("请输入幂级数");
scanf("%d",&j);
}
getch();
return 0;
}

//输入字母时结束~输入回车不好控制 因为scanf()默认就是回车结束  比如你输入一个数字3回车之后 scanf当做执行结束符
2010-05-30 13:47
快速回复:利用C求解幂函数(请教)
数据加载中...
 
   



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

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