编写程序生成十个学生的分数,为1到100之间的随机分数,将10个分数存放在int类型的数组中,生成的随机分数小于60的以60计算,编程利用for循环计算10名学生的平均分数。 二、编写应用程序,从命令行传入两个整型数作为除数和被除数。
时间: 2024-03-05 21:53:40 浏览: 26
好的,我可以回答你的第一个问题,下面是一个 C++ 的程序,可以生成10个学生的分数,并计算平均分数:
```cpp
#include <iostream>
#include <cstdlib> // 包含随机数生成函数rand和srand
#include <ctime> // 包含time函数
using namespace std;
int main() {
const int NUM_STUDENTS = 10;
int scores[NUM_STUDENTS]; // 存放分数的数组
int sum = 0; // 分数总和
double average; // 平均分数
// 生成随机数种子
srand(time(0));
// 生成10个随机分数
for(int i=0; i<NUM_STUDENTS; i++) {
int score = rand() % 101; // 生成0到100之间的随机数
if(score < 60) {
score = 60; // 小于60的以60计算
}
scores[i] = score; // 存放分数
}
// 计算平均分数
for(int i=0; i<NUM_STUDENTS; i++) {
sum += scores[i];
}
average = static_cast<double>(sum) / NUM_STUDENTS;
// 输出分数和平均分数
for(int i=0; i<NUM_STUDENTS; i++) {
cout << "学生" << i+1 << "的分数是:" << scores[i] << endl;
}
cout << "平均分数是:" << average << endl;
return 0;
}
```
输出结果类似于:
```
学生1的分数是:88
学生2的分数是:60
学生3的分数是:89
学生4的分数是:73
学生5的分数是:82
学生6的分数是:95
学生7的分数是:60
学生8的分数是:60
学生9的分数是:68
学生10的分数是:97
平均分数是:76.4
```
对于你的第二个问题,以下是一个 C++ 的程序,可以从命令行传入两个整数,并计算它们的商:
```cpp
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char* argv[]) {
if(argc != 3) { // 确保命令行参数个数为3
cout << "使用方法:除法程序 <被除数> <除数>" << endl;
return 1; // 返回错误码1表示程序异常退出
}
int dividend = atoi(argv[1]); // 将第一个参数转换为整数
int divisor = atoi(argv[2]); // 将第二个参数转换为整数
if(divisor == 0) { // 除数不能为0
cout << "错误:除数不能为0" << endl;
return 2; // 返回错误码2表示程序异常退出
}
double quotient = static_cast<double>(dividend) / divisor; // 计算商
cout << "商是:" << quotient << endl;
return 0;
}
```
你可以在命令行中输入类似于以下的命令来运行程序:
```
除法程序.exe 10 3
```
输出结果为:
```
商是:3.33333
```
希望对你有帮助!