#include <iostream>using namespace std;int main(){int a,n,i=1;int S=0,t=0;cout<<"Please enter the integer and the number: "<<endl;cin>>a>>n;while(i<=n){S=S+t;t=t+a;a=a*10;i++;}cout<<"The result is: "<<S<<endl;return 0;}俺的程序是这样的,但是有问题哈,比如输入1,4回车,结果是123,按题目来说应该是1234,求指导俺是菜鸟勿喷
2 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
应该是循环出了问题,建议以后循环尽量使用for语言,for语句比while语句的功能更强大.
你的程序其实只要把S=s+t;和t=t+a;交换一下位置就行了
#include <iostream>
using namespace std;
int main()
{
int a,n,i=1;
int S=0,t=0;
cout<<"Please enter the integer and the number: "<<endl;
cin>>a>>n;
while(i<=n)
{
t=t+a;
S=S+t;
a=a*10;
i++;
}
cout<<"The result is: "<<S<<endl;
return 0;
}
下面是我自己稍微修改的程序,看起来简洁一点
#include <iostream>
using namespace std;
int main()
{
int a,n,i,t;
int S=0;
cout<<"Please enter the integer and the number: "<<endl;
cin>>a>>n;
t=a;
for(i=0;i<n;i++)//或者写成for(i=1;i<=n;i++)都是循环n次的意思
{
S=S+a;
a=a*10+t;
}
cout<<"The result is: "<<S<<endl;
return 0;
}
- 2 回答
- 0 关注
- 1291 浏览
添加回答
举报
0/150
提交
取消