Directorio de artículos
Diez ciclos
10.1 Caracteres y bucles
Pregunta 1.1 : Bucle para generar 26 letras, comenzando desde AZ.
for(char i = 'A';i<='Z';i++){
cout<<i<<" ";
}
Pregunta 1.2 : Ingrese una determinada letra, envíe el valor de esta letra a Z (z) en secuencia y cuente el número.
Formato de entrada: x Formato de salida: xyz 3
o Formato de entrada: Y Formato de salida: YZ 2
char n;
int cnt=0;
cin>>n;
if(n>='A' && n<='Z'){
for(char i=n;i<='Z';i++){
cnt++;
cout<<i<<" ";
}
}
else if(n>='a' && n<='z'){
for(char i=n;i<='z';i++){
cnt++;
cout<<i<<" ";
}
}
cout<<cnt;
Pregunta 1.3 : Ingrese una letra mayúscula o minúscula. Si la entrada es mayúscula, envíe el valor en minúscula de esta letra a Z en secuencia. Si la entrada es minúscula, envíe esta letra al valor mayúsculo de z.
Formato de entrada: x Formato de salida: XYZ
o Formato de entrada: Y Formato de salida: yz
char n;
cin>>n;
if(n>='A' && n<='Z'){
n = char(n+32);
for(char i=n;i<='z';i++){
cout<<i<<" ";
}
}
else if(n>='a' && n<='z'){
n = char(n-32);
for(char i=n;i<='Z';i++){
cout<<i<<" ";
}
}
10.2 Números y ciclos
Pregunta 2.1 : Es necesario leer n números enteros, contar el número de números positivos, ceros y números negativos y generarlos.
Formato de entrada:
7
1 -1 0 3 5 0 -5
Formato de salida:
3 2 2
int n,a,cnt1=0,cnt2=0,cnt3=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a;
if(a>0){
cnt1++;
}
else if(a<0){
cnt2++;
}
else{
cnt3++;
}
}
cout<<cnt1<<" "<<cnt3<<" "<<cnt2;
return 0;
Pregunta 1: Secuencia de Fibonacci, el primer y segundo número de la secuencia son 1 y cada número posterior es igual a la suma de los dos números anteriores. 1 1 2 3 5 8 13 21 34 55 ...
Ingrese el valor n para encontrar el valor de la secuencia de Fibonacci del 1 al enésimo número.
int n,a,b,t;
cin>>n;
for(int i=1;i<=n;i++){
if(i<=2){
a = 1;
b = 1;
cout<<a<<" ";
}
else{
t = a;
a = b;
b = t+a;
cout<<b<<" ";
}
}
Pregunta 2: (Problema de intereses bancarios) El granjero John ganó mucho dinero el año pasado. Quería invertir el dinero y tenía curiosidad por saber cuántos ingresos podría obtener. Se sabe que la tasa de interés anual compuesta de una inversión es R (un número entero entre 0 y 20). Actualmente, John tiene dinero con un valor M (un número entero entre 100 y 1.000.000). Sabe claramente que quiere invertir durante Y años (rango de 0 a 400). Ayúdelo a calcular cuánto dinero tendrá al final y a generar la parte entera.
Interés en un año determinado = principal M * tasa de interés anual R%
Dinero en un año determinado = interés + principal
Programe para ingresar el principal m, la tasa de interés r y el número de años y; calcule la cantidad total de dinero en cada año.
double m,r,y;
cin>>m>>r>>y;
for(int i=1;i<=y;i++){
m += m * r / 100;
cout<<i<<"年后的本金:"<<m<<endl;
}
Pregunta 3: (Problema de los monos comiendo melocotones) Un grupo de monitos recogieron muchos melocotones en un día, se comieron la mitad el primer día y luego no pudieron evitar comerse otro, se comieron la mitad al día siguiente. , y luego uno más; y todos los días después de eso, come así. Al décimo día, el pequeño mono descubrió que solo había un melocotón. Pregúntale al monito cuántos melocotones recogió el primer día.
int n=1;
for(int i=10;i>=1;i--){
cout<<i<<"天的桃子数:"<<n<<endl;
n = (n+1)*2;
}
Anidamiento de once bucles: ecléctico
Agregar otro bucle dentro del bucle se denomina anidamiento de bucles.
Puede saber que el bucle exterior controla las filas y el bucle interior controla las columnas.
Puede ver que la tabla de multiplicar 99 es una matriz. Necesitamos convertirla en el 'triángulo' de la tabla de multiplicar real a continuación, es decir, cómo la imagen de arriba se convierte en la siguiente imagen:
// 1.乘法表
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
cout<<i<<"*"<<j<<"="<<i*j<<" ";
}
cout<<endl;
}
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==j){
cout<<1<<" ";
}
else{
cout<<0<<" ";
}
}
cout<<endl;
}
Versión mejorada de la matriz de cambios.
// 随机变化矩阵
int n;
while (true){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==j){
cout<<1<<" ";
}
else{
cout<<0<<" ";
}
}
cout<<endl;
}
cout<<endl;
if(n==0){
break;
}
}
Realice la impresión de triángulos "*" positivos y negativos.
int n;
cin>>n;
for(int i=n;i>=1;i--){
for(int j=1;j<=i;j++){
cout<<"*";
}
cout<<endl;
}
int n;
long long total=0;
cin>>n;
for(int i=1;i<=n;i++){
// 加每一个阶乘值
long long sum=1; // 为什么不放在外面赋值?
for(int j=1;j<=i;j++){
//求阶乘
sum = sum*j;
}
total += sum;
cout<<"前"<<i<<"个阶乘总值:"<<total<<endl;
}
int n,m;
cin>>n>>m;
int a=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<a++<<" ";
}
cout<<endl;
}
Ingrese n filas y m columnas, encuentre la suma de todos los números pares.
int n,m,sum=0,value=0;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>value;
if(value%2==0){
sum+=value;
}
}
}
cout<<sum;
Implemente la salida del triángulo isósceles '*', como se muestra a continuación:
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n-i;j++){
cout<<" ";
}
for(int k=1;k<=2*i-1;k++){
cout<<"*";
}
cout<<endl;
}
11.2 Matemáticas y circulación: conectadas
Pregunta 1: Manuscrito de Marx Pregunta:
Hay una pregunta matemática muy interesante: hay 30 hombres, mujeres y niños en total. Gastaron un total de 50 chelines en un restaurante. Cada hombre gastó 3 chelines y cada mujer gastó 3 chelines. 2 chelines, cada niño gasta 1 chelín. Utilice el método exhaustivo para calcular cuántos hombres, mujeres y niños hay y enumere todas las combinaciones posibles.
//马克思手稿问题
//i代表男,j代表女,k代表孩子
int cnt = 0;
for(int i=1; i<=16; i++){
for(int j=1; j<=25; j++){
for(int k=1;k<=30;k++){
if(i+j+k==30 && i*3+2*j+k==50){
cout<<i<<" "<<j<<" "<<k<<endl;
cnt++;
}
}
}
}
cout<<"次数:"<<cnt;
Pregunta 2: Si tiras 3 dados, ¿cuáles son las situaciones en las que la suma de los puntos de los dados es 12?
[Idea de análisis]
De la pregunta, sabemos que cada dado tiene seis posibilidades y el número de puntos arrojados es 6 6 6 == 216 posibilidades. Entre las 216 posibilidades, todas las situaciones en las que la suma de los puntos es 12 se descartan siempre que el juicio La suma de los puntos de tirar tres dados sea igual a 12 y se emitan los puntos de cada dado;
int cnt=0;
for(int i=1;i<=6;i++){
for(int j=1;j<=6;j++){
for(int k=1;k<=6;k++){
if(i+j+k==12){
cout<<i<<" "<<j<<" "<<k<<endl;
cnt++;
}
}
}
}
cout<<"可能性有:"<<cnt;
Pregunta 3: Si hay 12 bolas en una tronera, incluidas 3 bolas rojas, 3 bolas blancas y 6 bolas negras, ¿cuántas combinaciones de colores diferentes puede haber si se seleccionan 8 bolas al azar?
int cnt=0;
cout<<"红球 白球 黑球"<<endl;
for(int i=0;i<=3;i++){
for(int j=0;j<=3;j++){
if(8-i-j<=6){
cout<<i<<" "<<j<<" "<<8-i-j<<endl;
cnt++;
}
}
}
cout<<"共有"<<cnt<<"可能性";
Doce impresiones gráficas: todo tipo de cosas.
Pregunta 1: Imprima un diagrama de escalera en ángulo recto
#include<iostream>
using namespace std;
int main(){
// 打印梯形图
int n;
cin>>n;
for(int i=1; i<=n; i++){
for(int k=1;k<n;k++){
cout<<"A";
}
for(int j=1; j<=2*i-1; j++){
cout<<"A";
}
cout<<endl;
}
Pregunta 2: Imprimir rectángulo flotante
int n, m, k;
cin >> n >> m >> k;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= k; j++) {
cout << ' ';
}
for (int j = 1; j <= m; j++) {
cout << 'A';
}
cout << endl;
}
Pregunta 3: Imprimir marco de fotos
int n;
cin>>n;
for(int i1=1;i1<=n;i1++){
cout<<"*";
}
cout<<endl;
for(int i=1; i<=n; i++){
for(int j=1;j<=n;j++){
if(j==1 || j==n){
cout<<"*";
}
else{
cout<<" ";
}
}
cout<<endl;
}
for(int i2=1;i2<=n;i2++){
cout<<"*";
}
Pregunta 4: Triángulo isósceles invertido
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==1 || j==1 || i==n || j==m){
cout<<1;
}else{
cout<<0;
}
}
cout<<endl;
}
Pregunta 5: Imprimir matriz sólida
// 打印实心矩阵
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==1 || j==1 || i==n || j==m){
cout<<1;
}else{
cout<<0;
}
}
cout<<endl;
}
Pregunta 6: Imprimir matriz diagonal
//打印对角线矩阵
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==j || i==n-j+1){
cout<<1;
}else{
cout<<0;
}
}
cout<<endl;
}
Pregunta 7: Imprimir la pirámide
// 金字塔
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int a=1;a<=n-i;a++){
cout<<" ";
}
cout<<"/";
for(int j=1;j<=2*(i-1);j++){
cout<<"_";
}
cout<<"\\"<<endl;
}
Pregunta 8: Matriz especial
// 特殊矩阵
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=10;j++){
if(j==n || i==n){
cout<<0;
}
else{
cout<<1;
}
}
cout<<endl;
}
12.2 Mejora gráfica: en constante cambio
Pregunta 1: Imprime un trapezoide isósceles
// 打印等腰梯形图
int m;
cin>>m;
for(int i=1; i<=m; i++){
for(int k=1;k<=m-i;k++){
cout<<" ";
}
for(int j=1; j<=2*(i-1)+m; j++){
cout<<"A";
}
cout<<endl;
}
Pregunta 2: Imprimir rombo
// 打印菱形
int n;
cin>>n;
for(int i=1;i<=n;i++){
// 上半部分
for(int j=1;j<=n-i;j++){
cout<<" ";
}
for(int k=1;k<=i;k++){
cout<<"* ";
}
cout<<endl;
}
// 下半部分
for(int i=n-1;i>=1;i--){
for(int j=1;j<=n-i;j++){
cout<<" ";
}
for(int k=1;k<=i;k++){
cout<<"* ";
}
cout<<endl;
}
Pregunta 3: Imprimir números gráficos
// 打印数字菱形
int n;
cin>>n;
for(int i=1;i<=n;i++){
// 上半部分
for(int j=1;j<=n-i;j++){
cout<<" ";
}
for(int k=1;k<=2*i-1;k++){
cout<<k;
}
cout<<endl;
}
// 下半部分
for(int i=n-1;i>=1;i--){
for(int j=1;j<=n-i;j++){
cout<<" ";
}
for(int k=1;k<=2*i-1;k++){
cout<<k;
}
cout<<endl;
}
Pregunta 4: Imprimir letras matriciales
// 打印字母长方形
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << (char)('A' + i + j);
}
cout << endl;
}
Pregunta 5: cuadro gráfico
int m,n;
char a;
bool b;
cin>>m>>n>>a>>b;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
if(i==1 || i==m || j==1 || j==n){
cout<<a;
}
else if(b==1){
cout<<a;
}
else{
cout<<" ";
}
}
cout<<endl;
}
Pregunta 6: embudo de impresión
int n;
cin>>n;
for(int i=n;i>=1;i--){
for(int j=1;j<=n-i;j++){
cout<<" ";
}
for(int j=1;j<=2*(i+1)-1;j++){
cout<<'A';
}
cout<<endl;
}
for(int i=0;i<=n;i++){
for(int j=1;j<=n-i;j++){
cout<<" ";
}
for(int j=1;j<=2*(i+1)-1;j++){
cout<<'A';
}
cout<<endl;
}
Pregunta 7: Valor máximo y segundo valor máximo