c++用数组解决2的n次方问题 30

c++用数组解决2的n次方问题#include<iostream>#include<cstdio>#include<iomanip>#include<cmath>usin... c++用数组解决2的n次方问题#include<iostream>
#include<cstdio>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
int a[1000];
int i,n;
a[1]=2;
cin>>n;
for(i=2;i<=n;i++)
{a[i]=a[i-1]*2;}
cout<<a[i]<<endl;
return 0;
}
这样为什么不对
展开
 我来答
White_MouseYBZ
2016-12-18 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6698万
展开全部

你的代码算法严重错误。

//#include "stdafx.h"//If the vc++6.0, with this line.
#include <iostream>
using namespace std;
int main(void){
    char a[32]="";
    int i,j,n;
    cout << "Input n(int 0<n<101)...\nn=";
    if(!(cin >> n) || n<1 || n>100){
        cout << "Input error, exit...\n";
        return 0;
    }
    for(a[0]=2,i=2;i<=n;i++){
        for(j=0;j<32;a[j++]*=2);
        for(j=0;j<32;j++)
            if(a[j]>9)
                a[j+1]++,a[j]-=10;
    }
    for(i=31;a[i]==0;i--);
    cout << "2^" << n << " = ";
    while(i>=0)
        cout << (int)a[i--];
    cout << endl;
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式