关于逻辑的问题(退出状态-1) [英] Question about logic (exit status -1)
问题描述
大家好!
我不明白为什么它说退出状态-1?
任何人都可以提供帮助。非常感谢你!
我的尝试:
< pre lang =c ++> #include < < span class =code-leadattribute> iostream >
#include < vector >
#include < iomanip >
使用 命名空间标准;
int main(){
vector< string> name { Johnny, Wiliam, Joe, Maria, Luis};
int size_test = 4 ;
double 得分[ 5 ] [size_test];
for ( int i = 0 ; i< name.size(); i ++){
cout<< 学生<< i + 1 << :<< name [i]<< :<< \ n;
for ( int j = 0 ; j< size_test; j ++){
cout<< 测试分数#<< j + 1 << :;
cin>>得分[i] [j];
}
cout<< \ n;
}
vector< double> total;
for ( int i = 0 ; i< name.size(); i ++){
double temp_total = 0 ;
for ( int j = 0 ; j< size_test; j ++){
temp_total + = score [i] [j];
}
total.push_back(temp_total);
}
vector< double>小计;
for ( int i = 0 ; i< name.size(); i ++){
double 最低=得分[i] [ 0 跨度>];
for ( int j = 1 ; j< size_test; i ++){
if (得分[i] [j] <最低){
最低=得分[i] [j];
}
}
double temp_subtotal = total [i] - 最低;
subtotal.push_back(temp_subtotal);
}
vector< double> average;
for ( int i = 0 ; i< name.size(); i ++){
double temp_average = static_cast< double>(subtotal [i] * 1 。 0 )/
( double ) ((size_test - 1 )* 1 。 0 跨度>);
average.push_back(temp_average);
}
vector< char>等级;
for ( int i = 0 ; i< name.size(); i ++){
char temp_grade = ' ';
如果(average [i]> = 90 ){
temp_grade = ' A';
}
其他 如果(average [i]> = 80 && average [i]< 90 ){
temp_grade = ' B';
}
其他 如果(average [i]> = 70 && average [i]< 80 ){
temp_grade = ' C';
}
其他 如果(average [i]> = 60 && average [i]< 70 ){
temp_grade = ' D';
}
其他 如果(average [i]< 60 ){
temp_grade = ' F' ;
}
grade.push_back(temp_grade);
}
cout<< \ n;
cout<< setprecision( 2 )<<固定<< showpoint;
for ( int i = 0 ; i< name.size(); i ++){
cout<< name [i]<< :<< \ n;
cout<< \t<< 平均得分为<< average [i]<< \ n;
cout<< \t<< 等级为<<等级[i]<< \ n;
}
} 退出状态是
main返回的值( )
或传递给退出的值 - C ++参考a> [ ^ ]函数。
因为你的 main()
函数没有返回一个值(编译器警告应该注明),它可以是任何随机数。
它应如下所示:
int main()
{
// 此处代码
// 成功时返回零通常
返回 0 ;
}
但是,在关键程序终止时,退出状态也可以为-1。
Hi everyone!
I dont understand why it said exit status -1?
Anyone can help. Thank you so much !
What I have tried:
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
int main() {
vector<string>name {"Johnny", "Wiliam", "Joe", "Maria", "Luis"};
int size_test = 4;
double score[5][size_test];
for (int i = 0; i < name.size(); i++) {
cout << "Student " << i + 1 << ": " << name[i] << ": " << "\n";
for (int j = 0; j < size_test; j++) {
cout << "Score for test #" << j + 1 << ":";
cin >> score[i][j];
}
cout << "\n";
}
vector<double>total;
for (int i = 0; i < name.size(); i++) {
double temp_total = 0;
for (int j = 0; j < size_test; j++) {
temp_total += score[i][j];
}
total.push_back(temp_total);
}
vector<double>subtotal;
for (int i = 0; i < name.size(); i++) {
double lowest = score[i][0];
for (int j = 1; j < size_test; i++) {
if (score[i][j] < lowest) {
lowest = score[i][j];
}
}
double temp_subtotal = total[i] - lowest;
subtotal.push_back(temp_subtotal);
}
vector<double>average;
for (int i = 0; i < name.size(); i++) {
double temp_average = static_cast<double>(subtotal[i] * 1.0) /
(double)((size_test - 1) * 1.0);
average.push_back(temp_average);
}
vector<char>grade;
for (int i = 0; i < name.size(); i++) {
char temp_grade = ' ';
if (average[i] >= 90) {
temp_grade = 'A';
}
else if (average[i] >= 80 && average[i] < 90) {
temp_grade = 'B';
}
else if (average[i] >= 70 && average[i] < 80) {
temp_grade = 'C';
}
else if (average[i] >= 60 && average[i] < 70) {
temp_grade = 'D';
}
else if (average[i] < 60) {
temp_grade = 'F';
}
grade.push_back(temp_grade);
}
cout << "\n";
cout << setprecision(2) << fixed << showpoint;
for (int i = 0; i < name.size(); i++) {
cout << name[i] << ":" << "\n";
cout << "\t" << "The average score is " << average[i] << "\n";
cout << "\t" << "The grade is " << grade[i] << "\n";
}
}
The exit status is the value returned bymain()
or the value passed to the exit - C++ Reference[^] function when that is called.
Because yourmain()
function does not return a value (which should be noted by a compiler warning), it can be any random number.
It should look like this:
int main() { // Code here // It is common to return zero upon success return 0; }
However, an exit status of -1 can be also present upon critical program termination.
这篇关于关于逻辑的问题(退出状态-1)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!