高分请好心人进来帮忙解决几个C++编程小问题!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/15 17:05:52
1、已知某班N(〈=50)名学生进行了高数、英语和C语言等3门课考试,将3门课的成绩以及计算3门课的总分存放于一个二维数组中,将学生姓名存放在另一个二维字符数组中,按总分(由高到低)将学生姓名排序并输出排序结果(序号和姓名)。

2、用下面的公式计算e的x次方。在程序中要求用函数f1计算每项分子的值,用函数f2计算每项分母的值(用递归函数来实现)。通过主函数调用f1和f2完成计算。
=1+ x + + + …(前10项的和)
3、编写函数fun(char s[ ], int num[ ]),其功能是统计字符串 s 中数字字符、大写字母、小写字母和空格字符的出现次数,统计结果存于num数组中。再设计main函数,调用fun函数,实现预期功能。

希望能提供答案,我还会追加分数的!

第一题:
#include <iostream>

using namespace std;

#define N 50

int main()
{
char temp1[20];
int i, temp2[4];
int scores[N][4];
char names[N][20];
bool cont = true;
cout << "请依次输入学生姓名、高数、英语和C语言成绩:"<< endl;

for (i = 0; i < N; ++i)
{
cin >> names[i] >> scores[i][0] >> scores[i][1] >> scores[i][2];
scores[i][3] = scores[i][0] + scores[i][1] + scores[i][2];
}

while (cont)
{
cont = false;

for (i = 0; i < N - 1; ++i)
{
if (scores[i][3] < scores[i+1][3])
{
strcpy(temp1, names[i]);
strcpy(names[i], names[i+1]);
strcpy(names[i+1], temp1);

int sz = sizeof(int) * 4;
memcpy(temp2, scores[i], sz);
memcpy(scores[i], scores[i+1], sz);
memcpy(scores[i+1], temp2, sz);

if (cont == fa