注册 登录
编程论坛 C++教室

帮忙找个错误原因,谢谢

罗曼罗兰 发布于 2008-06-12 21:19, 598 次点击
#include <cstdlib>
#include <iostream>

using namespace std;

int fen(int chuan[],int n)
{
        int i,j;
        i=n;
        for(j=0;i>0;i/=10,j++)
            chuan[j]=i%10;
        return j;
}


int main(int argc, char *argv[])
{
    int chuan[1000];
    int n=2432,j;
    j=fen(chuan[],n);    cout<<j<<"\n";
    for(j=0;j<=1000;j++)
        cout<<chuan[j];
    return 0;
}



我想把数字n分解到数组chuan[]中,如n=123
则chuan[]={3,2,1}
4 回复
#2
sunkaidong2008-06-12 22:28
chuan[]???
#3
afraid2008-06-13 19:03
#include <cstdlib>
#include <iostream>

using namespace std;

int fen(int chuan[],int n)
{
        int i,j;
        i=n;
        for(j=0;i>0;i/=10,j++)
            chuan[j]=i%10;
        return j;
}


int main(int argc, char *argv[])
{
    int chuan[1000];
    int n=2432,j;
    j=fen(chuan,n);   
    cout<<j<<"\n";
    for(j=0;j<=1000;j++)
        cout<<chuan[j];
    return 0;
}
用数组传递参数只要传递数组的首地址,数组名就是其首地址

[[it] 本帖最后由 afraid 于 2008-6-13 19:06 编辑 [/it]]
#4
CPlusPlusheart2008-06-13 19:35
小问题
#include <cstdlib>
#include <iostream>

using namespace std;

int fen(int chuan[],int n)
{
        int i,j;
        i=n;
        for(j=0;i>0;i/=10,j++)
         chuan[j]=i%10;
        return j;
}


int main(int argc, char *argv[])
{
    int chuan[10];
    int n=2432,j,k;
    j=fen(chuan,n);
    cout<<endl<<j<<"\n";
    for(k=0;k<j;k++)
        cout<<chuan[k];
    return 0;
}
#5
minquanren2008-06-19 17:29
用我这个方法把
void detach(int **pInt, int &nsize, int n)
{
    int i = 0;
    for(; n != 0; ++i)
    {
        (*pInt)[i] = n % 10;
        n = n / 10;
    }
    nsize = i;
}

int _tmain(int argc, _TCHAR* argv[])
{
    int n = 2432;
    int data[32] = {0};
    int nsize = 0;
    int *p = data;
    detach(&p, nsize, n);
    int i = 0;
    while (i < nsize)
    {
        cout<<data[i]<<endl;
        ++i;
    }
    return 0;
}
1