/ Vijos / 讨论 / 题解 /

请大佬看一下这个c++程序为什么编译错误

//输入两个数,计算两个数之间(包含这两个数)所有的数中含有的1的数量;
#include<iostream>
using namespace std;
class one//定义类
{
public:
void input();
void output();
private:
int n,x;
int *p;//定义指针
};
void one::input()
{
int i;
cin>>x>>n;//输入两个数
p=new int (x-n+1);//定义动态数组
for(i=n;i<=x;i++)
{
p[i-n]=i;//对数组进行赋值
}
}

void one::output()
{
int i,t=0;
for(i=0;i<x-n+1;i++)//遍历数组
{
do
{
if(p[i]%10==1)
{
t++;
}
p[i]=p[i]/10;
}
while(p[i]!=0);//计算数组中1的数量
}
cout<<t;
delete[]p;//删除数组
p=NULL;
}

int main()
{
one I;
I.input();
I.output();
return 0;
}

1 条评论

  • @ 2018-04-29 08:24:32

    我本地编译了一下,没有编译错误

  • 1