Original C ++ Primer Plus Capítulo Siete Ejercicios de programación después de clase 1-9

// 1 题
#include
double harmonic_mean (double, double);
int main ()
{
using namespace std;
doble a, b;
doble har_m;
cout << "请 输入 俩 个数:“;
while (cin >> a >> b && a! = 0 && b! = 0)
{
while (cin.get ()! = '\ n')
continuar;
har_m = harmonic_mean (a, b);
cout << a << ”" << b << "的 调和 平均数 是:" << har_m << endl;
}
devuelve 0;
}

double harmonic_mean (doble a, doble b)
{
doble hn = 2.0 * a * b / (a ​​+ b);
volver hn;
}

// 2 题
#include
const int Max = 10;
vacío en_put (doble *);
visualización vacía (const double *);
doble promedio (const double *);
usando el espacio de nombres estándar;
int main ()
{
double aver;
puntajes de golf dobles [Máx];
in_put (puntajes de golf);
display (puntajes de golf);
aver = promedio (puntajes de golf);
cout << "\ n 平均 成绩 =" << aver << endl;

return 0;

}

void in_put (double * pf)
{
int i = 0;
cout << "Ingrese hasta 10 puntajes de golf (final q): \ n";
while (cin >> pf [i] && pf [i]! = 'q')
{
i ++;
if (i> = Max)
{
cout << "¡La matriz está llena! \ n";
break;
}
}

}

pantalla vacía (const double * n)
{
cout << "高尔夫 成绩:“;
for (int i = 0; i <Max; i ++)
{
if (n [i] == 0)
break;
else
cout << n [ i] << ”";
}
}
doble promedio (const double * n)
{
double totle = 0;
doble aver = 0;
int cuenta = 0;
for (int i = 0; i <Max; i ++)
{
if (n [i]! = 0)
++ count;
totle + = n [i];
}
aver = totle / count;

return aver;

}

// 3 题
#include
struct box {
char maker [40];
altura del flotador;
ancho de flotación;
longitud del flotador;
volumen flotante;
};
visualización vacía (cuadro de estructura constante);
producto vacío (caja de estructura *);
int main ()
{
struct box b = {
“wawawawa”,
4,
5,
6,
0
};
pantalla (b);
producto (& b);
pantalla (b);

return 0;

}

pantalla vacía (const struct box a)
{
std :: cout << "maker =" << a.maker << std :: endl;
std :: cout << "height =" << a.height << std :: endl;
std :: cout << "ancho =" << a.width << std :: endl;
std :: cout << "length =" << a.length << std :: endl;
std :: cout << "volume =" << a.volume << std :: endl;
}

producto vacío (caja de estructura * a)
{
a-> volumen = a-> altura * a-> ancho * a-> largo;
}

// 4题
#include
largo doble de probabilidad (números sin signo, selecciones sin firmar, numbers2 sin signo, picks2 sin signo);
int main ()
{
using namespace std;
doble total1, opciones1, total2, opciones2;
cout << “Ingrese el número total de la primera selección y \ n”
"el número que puede seleccionarse: \ n";
while ((cin >> total1 >> elecciones1) && elecciones1 <= total1)
{
cout << “Ingrese el número total de la segunda selección \ n”
"y el número que puede seleccionarse: \ n";
cin >> total2 >> elecciones2;
if (total2 <= elecciones2)
{
cout << "Ingrese el número correcto: \ n";
cin >> total2> > elecciones2;
}
cout << "Tienes una oportunidad en";
cout << probabilidad (total1, elecciones1, total2, elecciones2);
cout << "de ganar. \ n";
cout << "Los siguientes dos números (q para salir):";
}
cout << "adiós \ n";

return 0;

}

probabilidad doble larga (números sin signo, selecciones sin signo, números sin signo2, selecciones sin signo2)
{resultado
doble largo1 = 1.0;
largo doble resultado2 = 1.0;
resultado doble largo = 1.0;
largo doble n;
sin signo p;
para (n = números, p = selecciones; p> 0; n–, p–)
resultado1 = resultado1 * n / p;
para (n = números2, p = selecciones2; p> 0; n–, p–) resultado2
= resultado2 * n / p;
resultado = resultado2 * resultado1;

return result;

}
// 5 preguntas
# incluyen
factorial doble largo (int n);
int main ()
{
fac doble largo;
int n;
std :: cout << "Ingrese un número entero que requiera una consulta factorial:";
std :: cin >> n;
fac = factorial (n); factorial de
std :: cout << n << "=" << fac << std :: endl;

return 0;

}

factorial doble largo (int n)
{
hecho doble largo;
if (n == 0)
return fact = 1;
hecho = n * factorial (n - 1);

return fact;

}

// 6 题
#include
void Fill_array (double [], int n);
nulo Show_array (doble [], int n);
void Reverse_array (double [], int n);
const int TAMAÑO = 10;
usando el espacio de nombres estándar;
int main ()
{
double darray [TAMAÑO];
Fill_array (darray, TAMAÑO);
Show_array (darray, TAMAÑO);
Reverse_array (darray, SIZE);
Show_array (darray, TAMAÑO);

return 0;

}

void Fill_array (doble a [], int n)
{
cout << “请 输入" << n << ”个 浮点数: \ n";
para (int i = 0; i <n; i ++)
{
if (! (cin >> a [i]))
break;
}
}
void Show_array (doble a [], int n)
{
cout << “查看 的 数组 情况 是: \ n”;
para (int i = 0; i <n; i ++)
cout << a [i] << "\ t";
cout << "\ n";
}

anular Reverse_array (doble a [], int n)
{
int i, j;
doble num;
para (i = 1, j = n - 2; i <n / 2 - 1; i ++, j–)
{
num = a [i];
a [i] = a [j];
a [j] = num;
}
}

// 7 题
#include
const int Max = 5;
double * fill_array (doble *, doble *);
void show_array (doble *, doble *);
revalorización nula (doble b, doble *, doble *);

int main ()
{
using namespace std;
double properties [Max];
double * pk, * pj; // Start k, end j
pk = properties; // Posición del puntero al comienzo de la matriz
pj = & properties [Max-1]; / / Puntero al final de la matriz
pj = fill_array (pk, pj);
show_array (pk, pj);
if (pj> pk)
{
cout << "Ingrese factor de revaluación:";
factor doble;
while (! (Cin >> factor) )
{
cin.clear ();
while (cin.get ()! = '\ n')
continuar;
cout << "Entrada incorrecta; ingrese un número:";
}
revalor (factor, pk, pj);
show_array ( pk, pj);
}
cout << “Listo. \ n”;
cin.get ();
cin.get ();

return 0;

}

double * fill_array (double * pk, double * pj)
{
usando el espacio de nombres std;
doble temperatura
int i = 1;
while (pk <= pj)
{
cout << “Ingrese el valor #” << i << ":";
cin >> temp;
if (! cin)
{
cin.clear ();
while (cin.get ()! = '\ n')
continuar;
cout << “Bab input; proceso de entrada terminado ";
descanso;
}
else if (temp <0)
break;
* pk = temp;
++ pk;
++ i;
}
pj = --pk;

    return pj;

}

void show_array (double * pk, double * pj)
{
usando el espacio de nombres std;
int i = 1;
while (pk <= pj)
{
cout << “Propiedad #” << i ++ << ": $";
cout << * pk << endl;
++ pk;
}
}

revalorización nula (doble b, doble * pk, doble * pj)
{
while (pk <= pj)
{
* pk * = b;
++ pk;
}
}

// 8 preguntas
// a
#include
#include
const int Seasons = 4;
// Matriz de punteros
const char * Snames [Seasons] = {"Primavera", "Verano", "Otoño", "Invierno"}; /
relleno vacío (doble pa []);
espectáculo vacío (const doble da []);

int main ()
{
gastos dobles [Temporadas];
relleno (gastos);
espectáculo (gastos);
devuelve 0;
}

relleno vacío (doble pa [])
{
usando el espacio de nombres estándar;
for (int i = 0; i <Seasons; i ++)
{
cout << “Enter" << Snames [i] << ”gastos:";
cin >> pa [i];
}
}

void show (const double da [])
{
using namespace std;
doble total = 0.0;
cout << "GASTOS \ n";
for (int i = 0; i <Seasons; i ++)
{
cout << Snames [i] << ": $" << da [i] << endl;
total + = da [i];
}
cout << "Gastos totales: $" << total << endl;
}

// b
#include
#include
const int Seasons = 4;
// 存储 指针 的 数组
const char * Snames [Temporadas] = {"Primavera", "Verano", "Otoño", "Invierno"}; //
relleno vacío (estructura Gastos * pa);
show nulo (const struct Gastos * da);
gastos de estructura {
doble exp [temporadas];
};
int main ()
{
struct Gastos gastos;
llenar (y gastos);
espectáculo (y gastos);
devuelve 0;
}

relleno vacío (estructura Gastos * pa)
{
usando el espacio de nombres estándar;
for (int i = 0; i <Seasons; i ++)
{
cout << “Enter" << Snames [i] << ”gastos:";
cin >> pa-> exp [i];
}
}

void show (const struct Gastos * da)
{
usando el espacio de nombres std;
doble total = 0.0;
cout << "GASTOS \ n";
for (int i = 0; i <Seasons; i ++)
{
cout << Snames [i] << ": $" << da-> exp [i] << endl;
total + = da-> exp [i];
}
cout << "Gastos totales: $" << total << endl;
}

// 9 题
#include
using namespace std;
const int SLEN = 30;
struct student {
char fullname [SLEN];
hobby de char [SLEN];
int ooplevel;
};
int getinfo (estudiante pa [], int n);
nulo display1 (estudiante st);
nulo display2 (const student * st);
void display3 (const student st [], int n);

int main ()
{
cout << "Ingrese el tamaño de la clase:";
int class_size;
cin >> class_size;
if (! cin)
{
cin.clear ();
cout << "¡Entrada incorrecta! \ n";
devuelve 0;
}
while (cin.get ()! = '\ n')
continuar;
alumno * ptr_stu = nuevo alumno [clase_tamaño];
int ingresado = getinfo (ptr_stu, class_size);
for (int i = 0; i <ingresado; i ++)
{
display1 (ptr_stu [i]);
display2 (& ptr_stu [i]);
}
display3 (ptr_stu, ingresado);
eliminar [] ptr_stu;
cout << "Hecho \ n";

return 0;

}

int getinfo (estudiante pa [], int n)
{
int num = 0;
for (int i = 0; i <n; i ++)
{
cout << "Ingrese el nombre completo del estudiante: \ n";
cin.getline (pa [i] .fullname, SLEN);
cout << "Por favor ingrese sus pasatiempos: \ n";
cin.getline (pa [i] .hobby, SLEN);
cout << "Ingrese ooplevel: \ n";
cin >> pa [i] .ooplevel;
cin.get ();
if (pa [i] .fullname [0] == '\ 0' || pa [i] .hobby [0] == '\ 0')
break;
num + = 1;
}

return num;

}
void display1 (estudiante st)
{
cout << "nombre completo:" << st.fullname << endl;
cout << “hobby:" << st.hobby << endl;
cout << “ooplevel:" << st.ooplevel << endl;
cout << "\ n \ n";
}
void display2 (const student * st)
{
cout << "nombre completo:" << st-> nombre completo << endl;
cout << “hobby:" << st-> hobby << endl;
cout << “ooplevel:" << st-> ooplevel << endl;
cout << "\ n \ n";
}
void display3 (const student st [], int n)
{
for (int i = 0; i <n; i ++)
{
cout << "fullname:
"<< st [i] .fullname << endl; cout <<" hobby: "<< st [i] .hobby << endl;
cout << “ooplevel:" << st [i] .ooplevel << endl;
cout << "\ n \ n";
}
}

// 10 题
#include
doble cálculo (doble, doble, doble (* hp) (doble, doble));
double add1 (double x, double y) {return x + y;};
double add2 (doble x, doble y) {return x - y;};
double add3 (double x, double y) {return x * y;};
double add4 (double x, double y) {return x / y;};
doble (* hp [4]) (doble, doble) = {add1, add2, add3, add4};

int main ()
{
usando el espacio de nombres std;
doble a, b, resultado;
cout << "Ingrese dos números de coma flotante (q exit): \ n";
while (cin >> a >> b)
{
for (int i = 0; i <4; i ++)
{
resultado = calcular (a, b, hp [i]);

       if (0 == i)
           cout << a <<" + " << b <<" = "<< result << endl;
        else if (1 == i)
            cout << a <<" - " << b <<" = "<< result << endl;
        else if (2 == i)
            cout << a <<" * " << b <<" = "<< result << endl;
        else if(3 == i)
                cout << a <<" / " << b <<" = "<< result << endl;
    }
}

}

doble calcular (doble x, doble y, doble (* hp) (doble, doble))
{
double num;
num = (* hp) (x, y);

return num;

}

在这里插入代码片
85 artículos originales publicados · Me gusta1 · Visitas1889

Supongo que te gusta

Origin blog.csdn.net/Tekkenwxp/article/details/103896934
Recomendado
Clasificación