我有这个代码,它的工作是询问用户他们想要在阵列中输入多少元素 - 用户然后输入他们想要的元素 - 元素是整数 - 然后程序解决输入数字的总和。
以下是代码:
Impaired services on all instances.
Following services are not running: proxy.
我似乎没有工作,程序也没有运行,所以我无法提供实际的输出。
预期输出将是用户输入的所有元素(整数)的总和。
答案 0 :(得分:0)
基本建议:随时进行设计,并在每个阶段使用打印输出来告诉您输入的值。
cin >> n;
cout << "Please enter " << n << " values to sum: " << endl;
for(i=0;i<n;i++)
{
cin >> arr[i];
cout << "value #" << i << ": " << arr[i] << " entered." << endl;
}
只有在您确定程序可用于输入初始数据时,您才基本希望继续进行下一阶段的处理。每次处理一个阶段,输出当前阶段。这使得更容易确定哪个处理阶段导致错误。您可以在以后按照预期工作时减少打印命令,但我建议您先离开,然后注释掉。有时不正确的输入会再次导致错误,并且重新启用调试打印件以告诉您正在进行的操作非常方便。
答案 1 :(得分:0)
它必须是一个数组吗?你可以用这样简单的方式做到这一点:
cout << "Enter number of elements\n";
cin >> n
cout << "Please enter the elements \n"
int temp = 0;
int sum = 0;
for(int i = 0; i<n ; i++){
cin >> temp;
sum+=temp;
}
cout << "Sum is: " << sum << endl;
你需要注意一个瘦,你没有限制用户到最大数组大小..说他/她说21然后你有溢出产生错误。
由于您正在使用C ++,我建议您使用向量,或使用我上面提到的简单方法。
答案 2 :(得分:-1)
这是您的问题描述的程序。它从用户输入您想要输入到阵列中的元素数量,然后它获取元素并保存在数组中然后计算数组元素的总和。
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int arr[20],i,n,sum=0;
cout<<"How many elements you want to enter: ";
cin>>n;
cout<<"Enter any "<<n<<" elements in Array: ";
for(i=0;i<n;i++)
{
cin>>arr[i];
}
cout<<"Sum of all Elements are: " << endl;
for(i=0;i<n;i++)
{
sum=sum+arr[i];
cout << "sum of a[" << i << "] = " << sum << endl;
}
cout<< "the sum of all the elements (integers) that the user entered = " << sum;
getch();
return 0;
}
现在这个程序给出了[i]元素的信息总和,等等到循环结束。
答案 3 :(得分:-2)
显示输出或错误消息很有帮助。
尝试将cin转换为整数或浮点数:
cin>>arr[i];