题目:
编写一个程序,计算两个十维向量的和与数量积。
代码:
//相比较原题的要求,增加了输入错误后是否选择重新输入的功能
#include <iostream>
using namespace std;
int main()
{
double a[10], b[10], sum = 0;
int i, judge;
cout << "请输入第1个十维向量:" << endl;
number0:
for (i = 0; i < 10; ++i) cin >> a[i];
cout << "第1个十维向量为:(";
for (i = 0; i < 10; ++i)
{
if (i == 9) cout << a[i];
else cout << a[i] << ",";
}
cout << ")" << endl;
cout << "请检查其是否正确,若正确请按1,若错误请按0:";
cin >> judge;
if (judge == 0)
{
cout << "输入错误,请重新输入第1个十维向量:" << endl;
goto number0;
}
if (judge == 1) cout << "第1个十维向量输入正确,请输入第2个十维向量:" << endl;
number1:
for (i = 0; i < 10; ++i) cin >> b[i];
cout << "第2个十维向量为:(";
for (i = 0; i < 10; ++i)
{
if (i == 9) cout << b[i];
else cout << b[i] << ",";
}
cout << ")" << endl;
cout << "请检查其是否正确,若正确请按1,若错误请按0:";
cin >> judge;
if (judge == 0)
{
cout << "输入错误,请重新输入第2个十维向量:" << endl;
goto number1;
}
if (judge == 1) cout << "第2个十维向量输入正确" << endl << endl;
cout << "这两个十维向量的和为:(";
for (i = 0; i < 10; ++i)
{
if (i == 9) cout << a[i] + b[i];
else cout << a[i] + b[i] << ",";
}
cout << ")" << endl;
for (i = 0; i < 10; ++i) sum = sum + a[i] * b[i];
cout << "这两个十维向量的数量积为:" << sum << endl <<endl;
system("pause");
return 0;
}