是否可以在 for 循环中添加两个浮点数?
Is it possible to add two float inside the for loop?
我正在用C++创建一个简单的成绩计算器,我只是C++新手,我正在练习它,但我的方法或代码有问题,希望你能帮我解决这个问题。我不知道是否可以在 for 循环方法中将用户输入(使用浮点数(相加并打印出来。谢谢你,新年快乐!
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
float sum = 0.00, avg, grades [10], i;
cout << "n Enter your grades on each subjectn";
cout << "-----------------------------------------------";
cout << "n Chemistry for Engineers Laboratory: ";
cin >> grades [0];
cout << "n Chemistry for Engineers: ";
cin >> grades [1];
cout << "n Computer Aided Drafting: ";
cin >> grades [2];
cout << "n Calculus";
cin >> grades [3];
cout << "n Kontekstwalisadong Komunikasyon sa Filipino at sa Iba't-ibang Larangan: ";
cin >> grades [4];
cout << "n Science Technology and Society: ";
cin >> grades [5];
cout << "n Mathematics in the Modern World: ";
cin >> grades [6];
cout << "n Movemement Enhancement (Physical Education): ";
cin >> grades [7];
cout << "n Readings in Philippine History: ";
cin >> grades [8];
cout << "n Undertanding the Self: ";
cin >> grades [9];
for ( i = 0; i < 10; i++) {
printf ("%.1f + %.1fn", sum , avg, sum+avg);
}
cout << "----------------------------------------";
cout << "Total Grade: " << sum;
avg = sum / 10;
cout << "n GWA: " << avg;
cout << "n Rating: ";
if ( avg > 1.00) {
cout << "Excellent";
} else if ( avg > 3.00 && avg <= 2.00) {
cout << "Passed";
} else if ( avg > 4.00 && avg <= 3.00) {
cout << "Conditional Passing";
} else {
cout << "Failed";
}
return 0;
}
不能使用printf
来计算成绩的总和。您可以使用循环来计算sum
,如下所示:
for (i = 0; i < 10; i++) {
sum = sum + grades[i];
}
printf
是一个库函数,可将格式化的输出发送到标准输出(您的屏幕(。
printf
旨在- 将结果写入
stdout
。 - 等级评估的条件检查不正确 平均成绩超过 1.0 被视为优秀
下面的代码片段显示了for-loop
的正确用法
#include <vector>
#include <string>
#include <array>
#include <iostream>
int main()
{
std::vector<float> grades;
const std::vector<std::string> subjects = {
"Chemistry for Engineers Laboratory",
"Chemistry for Engineers",
"Computer Aided Drafting",
"Calculus",
"Kontekstwalisadong Komunikasyon sa Filipino at sa Iba't-ibang Larangan"
//Extend the subjects
};
int TotlaSubject = subjects.size();
std::cout << "n Enter your grades on each subjectn";
std::cout << "-----------------------------------------------n";
for (int i = 0; i < TotlaSubject; i++)
{
std::cout << subjects[i] << " : ";
float InputGrade;
std::cin >> InputGrade;
grades.push_back(InputGrade);
// ^^^^^ here pushing data into the in a loop
}
float total =0.0;
for (auto grade : grades){
total += grade; //Adding grades in a loop
}
float avg = total / grades.size();
std::cout << "Total : " << total << " Avg : " << avg << std::endl;
return 0;
}
这可能会解决您的问题。
for(int i=0;i<10;++i)
{
sum += grades[i];
avg = sum / (i+1);
printf ("After adding lecture %u --> sum: %.1f + average: %.1fn", i+1,sum , avg);
}
相关文章:
- 为什么将两个浮点数相加会得到一个整数C++?
- 是否可以在 for 循环中添加两个浮点数?
- AVX2:计算 512 个浮点数组的点积
- 编写程序,导入三个浮点数a,b和c.按升序排序
- 在不使用 * 和 / 运算符的情况下将两个浮点数相乘和除以
- 如何线性化两个浮点变量的乘积
- 比较 C++ 中的两个浮点变量
- 有没有更有效的方法可以原子地添加两个浮点数?
- 使用 cin 错误输入多个浮点数
- 添加 2 个浮点数时保持精度
- 如何将 4 个浮点数的 ps 向量转换为 4 个双精度并存储到 pd 数组
- 划分两个浮点数不会给出确切的结果
- 如何找到两个浮点数之间的最短十进制数
- 如何设计一种算法,将两个浮点数相乘而不带"*"?
- 用c++把两个浮点数相乘得到的结果是非数字的
- 在c++中计算两个浮点数之差时,y * (1 - x / y)是否优于y - x ?
- c++将两个浮点数相除得到int
- 如何使用sse将两个浮点数组相乘
- 如何在x86汇编中移动两个浮点数的结果
- 两个浮点数相加时的意外输出