我看21视频的C语言教程
那天看完就想自己写一点小东西
结果就写了一个求一个数的幂的小程序
代码如下main()
{
int a,i,sum;
system(“graftabl 936″); /*DOS命令之启用汉字显模式*/
clrscr();
printf(“请输入底数数字”);
scanf(“%d”,&a) ;
system(“echo 请输入幂的次数”);
scanf(“%d”,&i) ;
sum=a*a*–i;
printf(“我的QQ:5735524\n%d\n “,sum);
getch();
system(“graftabl 437″); /*还原英文显示模式*/
}
我运行了一下 幂为0的时候 输出的是负数有时候 怎么回事俄
能帮我么
*最好帮我编写一个再 ,加上注释*
小弟在这里谢谢了
>> 本文固定链接: http://www.vcgood.com/archives/3010
你的代码在我机器通过不了,这是以我理解写的C++,下面还有改写的C,没测试过,你自己测试一下。
///////////////////////////////C++ 编译器为VS 2008
#include “stdafx.h”
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{ float dishu=1;//定义底数
int n=0;//定义幂
float sum=1;//定义结果
cout<<”输入底数\n”;
cin>>dishu;
cout<<”输入幂\n”;
cin>>n;
if (dishu!=0 || dishu!=1 || n!=0)//如果底数不是0或1,幂不是0;则执行下面语句块
{
if (n>0)//如果幂大于0,则执行下面语句块
{
for(int i=1;i<=n;i++)
sum=sum*dishu;
}
else if(n<0)//如果幂小于0,则执行下面语句块
{
for (int i=1;i<=(-n);i++)
sum=sum*dishu;
sum=1/sum;
}
}
else if(n==0)//如果幂为0结果为1
sum=1;
else if(dishu==0 || dishu==1)//如果底数数为0或1结果为原来的幂
sum=dishu;
cout<<”结果是:”<<sum<<endl;
return 0;
}
//////////////////////////////c
#include <stdio.h>
int main()
{
float dishu=1;//定义底数
int n=0;//定义幂
float sum=1;//定义结果
printf(“输入幂\n”);
scanf(“d%\n”,&n);
printf(“输入底数\n”);
scanf(“f%\n”,&dishu);
if (dishu!=0 || dishu!=1 || n!=0)
{
if (n>0)
{
for(int i=1;i<=n;i++)
sum=sum*dishu;
}
else if(n<0)
{
for (int i=1;i<=(-n);i++)
sum=sum*dishu;
sum=1/sum;
}
}
else if(n==0)
sum=1;
else if(dishu==0 || dishu==1)
sum=dishu;
printf(“结果是:%d\n”,sum);
return 0;
}