[] Estructura de datos y estudio algoritmo de notas - "notas algoritmo" -2

Seleccione la estructura

  • Por sentencia if, o si la expresión condicional es "= 0", no es una redacción fidelidad "= 0":
    (! = N-0) se reescribe como si si (n)
  • El formato de instrucción switch
switch(表达式){
	case 常量表达式1:
	    …
	    break;
	case 常量表达式2:
	    …
	    break;
	    ……
	default:
	    …
 }

Si no se rompen, que estará en pleno funcionamiento.

Ejercicio:
ejemplos 4-1 raíces de una ecuación cuadrática

Descripción Título encontrar una ecuación de segundo grado ax2 + bx + c = 0 las raíces, los tres coeficientes a, b, c de entrada desde el teclado, y una no puede ser cero, pero no garantiza b2-4ac> 0.
Las variables que intervienen en el programa son dobles. De entrada separado por un espacio de tres coeficientes de una ecuación de segundo grado, el tipo doble doble salida de
salida de circuito de dos raíz sigue (nota de que el extremo de la envoltura): r1 = r2 = root cuando una primera salida de los segundos resultados de raíz, que representa la anchura 7, en el que la parte fraccionaria 2.
Si la ecuación no tiene raíces reales, una línea de información de salida de la siguiente manera (nota que el extremo de la envoltura): No hay raíces reales!

#include <cstdio>
#include<cmath>

int main()
{
	double a, b, c, p;
	scanf("%lf %lf %lf", &a, &b, &c);
	p =( b * b) - (4 * a*c);
	if (a != 0 && p >= 0)
	{
		printf("r1=%7.2f\nr2=%7.2f", (-b + sqrt(p)) / (2 * a), (-b - sqrt(p)) / (2 * a));
	}
	else
	{
		printf("No real roots!");
	}
	return 0;
}

Los ejemplos comparativos 4-2 para intercambiar valores reales-

Descripción Título dos números reales de la entrada de teclado, el valor de salida de los dos números de acuerdo con el orden ascendente de las generaciones. Introduzca dos números reales separadas por espacios. Salida
desde pequeñas a grandes salidas de los dos números reales, el medio separados por espacios, el frente decimal, después de grandes números. Decimales 2 decimales. El final de los saltos de línea de salida.

#include <cstdio>

int main()
{
	double a, b, c;
	scanf("%lf %lf", &a, &b);
	if (a > b)
	{
		c = a;
		a = b;
		b = c;
	}
	printf("%.2f %.2f\n", a, b);
	return 0;
}

Los ejemplos comparativos 4-3 intercambiaron tres valores reales, y salidas secuencialmente

Descripción Título
de entrada a partir de los números reales teclado 3 a, b, c, a cambio comparando el valor mínimo se almacena en una variable, el valor máximo almacenado en la variable c, el valor intermedio almacena en la variable b, y en orden ascendente de la salida de estos tres dígitos a, b, c.
Envolver el final de la salida.
De entrada
de entrada separado por un espacio de tres reales
de salida
con el fin de la salida de los tres números reales ascendente, separadas por un intermedio frontal espacio, mínimo, después de un valor máximo. Decimales 2 decimales.
Nota envoltura al final.

#include "stdafx.h"
#include <cstdio>

int main()
{
	double a, b, c,d;
	scanf("%lf %lf %lf", &a, &b,&c);
	if (a > b)
	{
		d = a;		a = b;		b = d;
	}
	if (b > c)
	{
		d = b;		b = c;		c = d;
	}
	if (a>b)
	{
		d = a;		a = b;		b = d;
	}
	printf("%.2f %.2f %.2f\n", a, b,c);
	return 0;
}

Ejercicios seleccionando el valor máximo de tres números enteros 4-4

Título Descripción
Hay tres números enteros a, b, c, una entrada de teclado, en el que la salida del número máximo.
Introduzca
tres números enteros separados por espacios.
Salida
el número máximo de tres, al final de la envoltura.

#include <cstdio>

int main()
{
	int a, b, c,max;
	scanf("%d %d %d", &a, &b,&c);
	max = a;
	if (max < b)
		max=b;
	if (max < c)
		max = c;
	printf("%d\n",max);
	return 0;
}

Problema 4-10-1 Cálculo de experiencia

Título Descripción
una comisión bonos empresariales en base a las utilidades. Profit I inferior o igual a 100.000, puede proporcionar bonificaciones de 10%; cuando la ganancia de más de $ 100.000, menos de 200.000 yuanes (100.000 <I <= 200 000) , por debajo de 100.000 miembros basa parcialmente en 10% de comisión, superior a 100 000 porción de elemento ciento es 7.5%; 200.000 <I <= 400.000 cuando menos de 200.000 porción yuanes comisión basado en el método anterior (en lo sucesivo la misma), en el que más del 5% de la comisión 200.000 yuanes; 400.000 <I <= 600000 yuanes, en el que más de 400.000 yuanes de 3% de comisión; 600.000 <I <= 1.000.000, la parte superior a 600.000 comisión yuan es 1.5%; I> cuando 1 yuan, más de un millón porción yuanes 1% de comisión.
Salida desde el teclado meses lucro que, tratando de hacerse algunos bono, bono para los minutos.
Necesario para lograr que la sentencia if.
Introduzca
las ganancias corporativas, decimal, dobles, tipo doble
salida
debe enviar unos cuantos bono, 2 decimales, el extremo de la envoltura.

#include <cstdio>

int main()
{
	double I,bonus;
	scanf("%lf", &I);
	if (I <= 100000)	
		bonus = I * 0.1;
	if (I > 100000 && I <= 200000)
		bonus = 10000 + (I - 1000000 * .075);
	if (I > 200000 && I <= 400000)
		bonus = 100000 * 0.175 + (I - 200000)*.05;
	if (I > 400000 && I <= 600000)
		bonus = 100000 * 0.225 + (I - 400000)*.03;
	if (I >600000 && I <=1000000)
		bonus = 100000 * 0.255 + (I - 600000)*.015;
	if (I > 1000000)
		bonus = 100000 * 0.27 + (I - 1000000)*0.01;
	printf("%.2f\n", bonus);
	return 0;
}

estructura de bucle

  • while:
while(条件){
……
}//注意这里没有分号
  • hacer mientras comunicado
do{
	…
}while(条件);//注意这里有分号
  • para la declaración
for(表达式A;表达式B;表达式C){
	…
}//注意这里没有分号

Además, el lenguaje C no permite la expresión de una variable definida en una sentencia for, pero C ++ lata.

  • pausa / instrucción continue

Ejercicio:
ejemplos 5-1-1 sucesivos números naturales de suma

Buscando 1 + 3 + 2 + ... + 100
requerida para lograr una declaración mientras que
la entrada
no hay
salida de
requisitos y, en el extremo de salida de avance de línea.

#include <cstdio>

int main()
{
	int sum=0,i=1;
	while(i<=100)
	{
		sum += i;
		i++;
	} 
	printf("%d\n", sum);
	return 0;
}

Ejemplos 5-1-2 sucesivos números naturales sumadores

Descripción Título
buscan 1 + 2 + 3 + ... + 100, es decir, la búsqueda de
los requisitos para hacer ... while para lograr
la entrada
sin
salida
el resultado del cálculo, la nota envoltura extremo de salida.

#include <cstdio>

int main()
{
	int sum=0,i=1;
	do
	{
		sum += i;
		i++;
	} while (i <= 100);
	printf("%d\n", sum);
	return 0;
}

Ejemplos 5-1-3 sucesivos números naturales sumadores

Descripción Título
buscan 1 + 2 + 3 + ... + 100, es decir, la búsqueda
necesaria para lograr una declaración de
entrada
sin
salida
resultado del cálculo, el extremo de salida de la envoltura.

#include <cstdio>

int main()
{
	int sum=0;
	for (int i = 1; i <= 100; i++)
	{
		sum += i;
	}
	printf("%d\n", sum);
	return 0;
}

Ejemplos 5-1-4 sucesivos números naturales sumadores

Título Descripción
introduzca un número entero positivo N, buscando 1 + 2 + ... + N, es decir, buscan
que se requiere en una sentencia break programa.
De entrada
requisitos de entrada de datos debe ser un número entero positivo.
Salida de
resultado del cálculo, y de forma continua, el extremo de salida de los números N envoltura naturales.

#include <cstdio>

int main()
{
	int sum=0,i=1,N;
	scanf("%d", &N);
	while(1)
	{
		if (i > N)	break;
		else
		{
			sum += i;
			i++;
		}
	} 
	printf("%d\n", sum);
	return 0;
}

Ejemplos 5-1-5 sucesivos números naturales sumadores

Descripción Título
requisitos de programación 1 + 2 + 3 + ... y los procedimientos necesarios para obtener un número entero positivo de manera que la suma es mayor que el mínimo de 1000.
Entrada
Sin
salida
de habilitación de salida 1 + 2 + 3 + ... + N> 1000 más pequeño número entero positivo N, el extremo de salida de la envoltura.

#include <cstdio>

int main()
{
	int sum=0,i=1;
	while(1)
	{
		if (sum <= 1000)
		{
			sum += i;
			i++;
		}
		else
		{
			printf("%d\n", i-1);
			break;
		}
	} 
	return 0;
}

Ejemplos 5-6 salida de la matriz

Título siguiente matriz describe la salida 4 * 5
. 1. 3 4 5 2
2 4 10. 8. 6
. 3. 6. 9 15 12 es
4 16. 8 12 es 20 es
requerida para lograr el ciclo, cada línea de salida 5 números de nota, cada uno representando tres caracteres anchura, justificado a la derecha.

#include <cstdio>

int main()
{
	for(int i=1;i<=4;i++)
		for (int j = 1; j <= 5; j++)
		{
			if (j%5)
				printf("%3d", i*j);
			else
				printf("%3d\n", i*j);
		}
	return 0;
}

Ejemplos 5-7 para encontrar pi pi aproximación

Título describe
por la siguiente ecuación π / 4 = 1-1 / 3 + 1 / 5-1 / 7
busca pi PI aproximación, hasta que encuentra un valor absoluto de un mucho menor que 10-6 (sin la acumulación).
El resultado global de la salida requerida anchura cuentas 10, en el que una parte fraccionaria de 8 bits.
Cuando el programa a partir de datos de punto flotante, que se define como el doble doble.
Si es necesario calcular el valor absoluto, se pueden usar funciones matemáticas FABS biblioteca lenguaje C proporciona, como se requiere valor absoluto de x, en comparación con fabs (x).
Input
No
salida
aproximación PI = relación de la circunferencia de la
salida del resultado representa la anchura total de 10, en el que el fraccional 8 es una parte.
Envolver el final de la salida.
...

#include <cstdio>
#include<cmath>

int main()
{
	double i=0,pi=0;
	while ((1 / (2*i+1)) >= 1E-6)//注意这里的1E-6
	{
		pi += (pow(-1,i)/( 2*i+1));//pow 最好两个参数都为double
		i++;
	}
	printf("PI=%10.8f\n", 4 * pi);
	return 0;
}

Ejemplos 5-8 series de Fibonacci

Título Descripción
introduzca un número entero positivo n, el número n de secuencia de Fibonacci necesario.
Secuencia de Fibonacci características: primero y segundo número de 1,1. 3 desde el primer número, se describe en la parte delantera y dos números. Es decir:
los requisitos de entrada entero positivo n no más de 50. El se
de entrada 50 un número entero positivo no superior a un número n de salida de la secuencia de Fibonacci, el extremo de salida de la envoltura.

#include <cstdio>
#include<cmath>

int main()
{
	int n, output,a=1,b=1;
	scanf("%d", &n);
	if (n <= 50)
	{
		if (n == 1 || n == 2)	printf("1\n");
		else
		{
			for (int i = 3; i <= n; i++)
			{
				output = a + b;
				a = b;
				b = output;
			}
			printf("%d\n", output);
		}
	}
}

Problema 5-10 secuencia puntuaciones de suma
Título Descripción

Tenemos la siguiente secuencia de la fracción de
2 / 1,3 / 2,5 / 3,8 / 5,13 / 8,21 / 13 ... y este frente calculado 20 de la serie.
Y obtenido antes del 20 el número de columnas.
Por favor El tipo de datos se define como un doble.
De entrada sin salida después de que los decimales punto seis cifras decimales, el extremo de salida de la envoltura.

int main()
{
	double mun, den=3,a=2,b=3,output=(double)2/1+(double)3/2;
	for (int i = 3; i <= 20; i++)
	{
		mun = a + b;
		a = b;
		b = mun;
		output += (mun / den);
		den = b;
	}
	printf("%.6f\n", output);
}

colección

  • Si se quiere dar a toda la gama de Du Fu valor inicial 0, puede tener la siguiente forma:
int a[10]={0};
int a[10]={};
  • Si el tamaño de la matriz es relativamente grande (alrededor de 10 ^ 6 niveles), es necesario definir fuera de la función principal, o hacer que el programa cierre de forma inesperada a causa de las variables locales más pequeñas dentro de la pila de aplicaciones espacio funcional del sistema, lo que permite la aplicación; y funciones espaciales variables globales de la memoria estática aplicación externa, permite una aplicación más amplia.
  • memset-- cada elemento de la matriz se le asigna el mismo valor de
    formato: memset (nombre de la matriz, el valor, sizeof (nombre de la matriz));
    Por lo general, hay dos funciones pueden lograrse: memset / llenado;
    usando memset añadir string.h;
    recomendaciones Fu principiante 0 o -1, ya que memset utilizan la "asignación de bytes",
    si se quiere asignar otro número (por ejemplo 1), se recomienda el uso de relleno;
    velocidad de ejecución es mayor que memset relleno.
    Ejemplo:
#include "stdafx.h"
#include <cstdio>
#include<cstring>

int main()
{
	int a[5] = { 1,2,3,4,5 };
	memset(a, 0, sizeof(a));
	for (int i = 0; i < 5; i++) 
	{
		printf("%10d", a[i]);
	}
	printf("\n");
	memset(a, -1, sizeof(a));
	for (int i = 0; i < 5; i++)
	{
		printf("%10d", a[i]);
	}
	printf("\n");
	memset(a, 1, sizeof(a));
	for (int i = 0; i < 5; i++)
	{
		printf("%10d", a[i]);
	}
	printf("\n");
}

Resultados de salida:
0 0 0 0 0
-1 -1 -1 -1 -1
16843009 1,684,300,916,843,009 1,684,300,916,843,009
Presione cualquier tecla para continuar.

  • Inicializar una matriz de caracteres de dos maneras:
char str[15]={'G','O','O','D',' ','S','T','O','T','Y','!'};
char str[15]="GOOD STORY!";//注意单双引号的差别

Tenga en cuenta que el segundo método se limita a inicializar otros lugares en el programa no se pueden asignar directamente a la cadena completa

  • función de entrada de matriz de caracteres: scanf / getchar / consigue
  • funciones de salida de matriz de cadena: printf / putchar / pone
  • scanf espacio "% s" identificado como el final de la cadena, sin y;
  • getchar / putchar entrada de caracteres de salida única, saltos de línea se puede utilizar para absorber
    Ejemplo:
int main()
{
	char str[5][5];
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			str[i][j] = getchar();
		}
		getchar();//这句可以把输入中每行末尾的换行符吸收掉!!!
	}
	putchar('\n\n\n');
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			putchar(str[i][j]);
		}
		putchar('\n');//注意单引号
	}
}

Resultados absorbente de nueva línea de salida de resultados = entrada, absorberá sin saltos de línea mal reconocida
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

  • se acostumbra a entrar en su cadena, como un salto de línea final,
    por lo tanto, si desea utilizar el scanf se, es necesario utilizar la línea de alimentación scanf absorbente getchar

  • pone su salida de la cadena, y seguido por un salto de línea

  • Almacenamiento de matriz de caracteres modo de realización de
    la matriz unidimensional / de dos dimensiones al final de la segunda dimensión tiene un carácter nulo \ 0 representa el final de la cadena almacenada;
    carácter nulo \ 0 o cuando se utiliza scanf consigue cadena de caracteres de entrada se añade automáticamente a la detrás de la cadena de caracteres, y ocupa un bit;
    el pone / identificación es a través de la printf \ 0 hasta el final de la cadena como de salida.
    Char array necesidad solamente \ 0 como el fin, no se requiere int;
    \ 0 no es un espacio;
    matriz de caracteres de longitud, al menos, sobre una cierta longitud que el almacenamiento real de la cadena;
    si no una función scanf% s función o cadena de entrada (consigue tales como el uso getchar), introduzca cada cuerda debe estar en después de añadir "\ 0", de lo contrario no será reconocida cadena de salida printf y pufs, porque muchos de extremo de salida de la cadena ilegible.

  • string.h función de archivo de cabecera
    Memset / strlen / strcmp / strcpy / strcat
    (matriz de caracteres) strlen: para dar un número de caracteres de la primera matriz \ 0 antes del carácter;
    strcmp (una matriz de caracteres, carácter matriz de 2): comparación, una pequeña vuelve negativa, gran número positivo igual a 0,1;
    strcpy (una matriz de caracteres, el carácter matriz 2): la matriz de caracteres 2 incluye un carácter de fin "\ 0" a 1 copia juntos;
    strcat (una matriz de caracteres, matriz de caracteres 2 ): 2 a 1 tras la

  • cabecera stdio.h función de archivo
    sscanf / sprintf
    puede ser considerado como Scanf + String / + Sring el printf
    sscanf (matriz de caracteres 1, "formato", la cadena de caracteres y 2); un conjunto de caracteres para escribir el contenido de la dirección 2 se encuentra;
    sprintf (matriz de caracteres 1, "formato", cadena de caracteres 2); 2 escribe la cadena 1 de la matriz de cadenas;

Ejemplo:

#include "stdafx.h"
#include <cstdio>
#include<cstring>

int main()
{
	int n;
	char str[100] = "123";
	sscanf(str, "%d", &n);
	printf("%d\n", n);
	return 0;
}

Salida: 123

int main()
{
	int n=123;
	char str[100];
	sprintf(str, "%d", n);
	printf("%s\n", str);
	return 0;
}

Salida: 123;

sscanf printf y de entrada pueden y salida formatos complejo
ejemplo:
el contenido del array de caracteres str por: el formato "% d% lf,% s " variables int está escrito n, de tipo doble variable de db, matriz de caracteres str2, y luego se combinan en el orden inverso de str3

#include "stdafx.h"
#include <cstdio>
#include<cstring>

int main()
{
	int n;
	double db;
	char str1[100]="2019:3.14,hello",str2[100],str3[100];
	sscanf(str1, "%d:%lf,%s", &n, &db, str2);
	printf("n=%d,\ndb=%f,\nstr2=%s\n", n, db, str2);
	sprintf(str3, "%s:%lf,%d", str2, db, n);
	printf("str3=%s", str3);
	return 0;
}

Salida:
n = 2019,
DB = 3,140000,
str2 = Hola
Str3 = Hola: 3.140000,2019 Pulse cualquier tecla para continuar.

Practica
ejercicios de fin de inserción 6-4

Se ha descrito una secuencia de fila de la matriz buen tema, se requiere la entrada de un número, de acuerdo con la ley del original ordenados para insertarlo en la matriz.
Supongamos que la longitud de la matriz 10, el número serie de la primera de nueve (número 9, que requiere la entrada desde el teclado, a la entrada traído para cumplir una orden de entrada grande) se ha ordenado en orden ascendente.
De entrada desde el teclado y, a continuación un número entero, se inserta el número entero 9 en este orden en la parte delantera, de modo que el número final de 10 todavía se ordena de pequeño a grande.
Introducción de los número de línea primera entrada 9 enteros separados por espacios, los requisitos en el orden de entrada en orden ascendente.
Una segunda línea de entrada de número entero
de salida 10 desde pequeñas a grandes salidas de este número, el número de cada fila.

#include <cstdio>
#include<cstring>

int main()
{
	int a[15],b;
	//scanf("%d %d %d %d %d %d %d %d %d",)
	for (int i = 0; i <= 8; i++)
	{
		scanf_s("%d",&a[i]);
	}
	getchar();
	scanf_s("%d", &b);
	for (int i = 0; i <= 8; i++)
	{
		if (a[i] > b)
		{
			for (int j = 8; j >=i; j--)
			{
				a[j + 1] = a[j];
			}
			a[i] = b;
			break;
		}
	}
	for (int i = 0; i <= 9; i++)
	{
		printf("%d\n", a[i]);
	}
	return 0;
}

elementos Ejercicio 6-5 array Retrograde

Descripción Título de un valor de longitud de la matriz de enteros 10 en el orden inverso para volver a la tienda.

Tales como: la secuencia original es 1,2,3,4,5,6,7,8,9,0, requerida para 0,9,8,7,6,5,4,3,2,1

Entrada 10 separados por espacios número entero desde el teclado.

Este número de salida 10 en el orden inverso, cada número por línea.

#include <cstdio>
#include<cstring>

int main()
{
	int a[10],b[10];
	for (int i = 0; i <= 9; i++)
	{
		scanf_s("%d", &a[i]);
		b[9 - i] = a[i];
	}
	//getchar();
	for (int i = 0; i <= 9; i++)
	{
		printf("%d\n", b[i]);
	}
	return 0;
}

El triángulo de Pascal Ejercicio 6-6

Introduzca siguiente formato requerido triángulo de Pascal

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

Hasta 10 capas de salida

De entrada contiene sólo un número entero positivo n, el número de capas triángulos Pascal sean de salida. Correspondiente a la salida a la entrada, la salida de un número correspondiente de capas de triángulo de Pascal, un número entero entre cada capa separado por un espacio

#include <cstdio>
#include<cstring>

int main()
{
	int a[10][10],n;
	scanf_s("%d", &n);
	a[0][0] = 1;
	printf("%d\n", a[0][0]);
	for (int i = 2; i <= n; i++)
	{
		for(int j=1;j<=i;j++)
			if (j == 1 )
			{
				a[i - 1][j - 1] = 1;
				printf("%d ", a[i - 1][j - 1]);
			}
			else if (j == i)
			{
				a[i - 1][j - 1] = 1;
				printf("%d\n", a[i - 1][ j - 1]);
			}
			else
			{
				a[i - 1][ j - 1] = a[i - 2][ j - 2] + a[i - 2][ j - 1];
				printf("%d ", a[i - 1][j - 1]);
			}
		
	}
	return 0;
}

Ejercer 6-12 descifrado

Título Descripción mensaje de una línea ha sido cifrada por las siguientes reglas:

A-> Z a-> z

B-> Y b-> y

C-> X c-> x

... ...

Es decir, se convierte en la primera letra del alfabeto 26, el i-ésimo se convierte en la carta (26-i + 1) -ésima letra, caracteres que no sean letras sin cambios. De acuerdo con la contraseña necesaria traducción de vuelta al texto original y de salida.

Después de la línea de entrada de texto da salida el texto cifrado descifrado, una línea separada.

#include <cstdio>
#include<cstring>

int main()
{
	char str[100],str1[100];
	scanf_s("%s", str,100);
	int n;
	n = strlen(str);
	for (int i = 0; i <= n; i++)
	{
		if (str[i] >= 65 && str[i] <= 90)
			str1[i] =26- (str[i] -65)+64;
		else if (str[i] >= 97 && str[i] <= 122)
			str1[i] = 26 - (str[i] - 97)+96;
		else
			str1[i] = str[i];
		printf("%c", str1[i]);
	}
	return 0;
}

Ejercicio de comparación 6-13 cuerdas

Título Descripción Compara dos cadenas s1 y s2 de la tamaño, si s1> s2, las salidas de un número positivo; si s1 = s2, y salidas 0; si s1 <s2, una salida negativa.

Requisitos: No función strcpy; dos cuerdas obtiene función lee.

Por ejemplo: "A" en comparación con "C", ya que "A" < "C", la salida debe ser negativa, y porque la "A" y "C" de la diferencia de código ASCII es 2, la salida debe ser "-2".

Del mismo modo: "Y" y la comparación "ayuda", los resultados de la comparación del segundo carácter, "n" relación "i" es cinco, y por lo tanto debe ser la salida "5"

2 líneas de entrada de caracteres cuerdas

Salida de un número entero, que representa la diferencia de los dos comparación de cadenas, una línea separada.

#include <cstdio>
#include<cstring>

int main()
{
	char str1[100], str2[100];
	gets_s(str1);
	gets_s(str2);
	int n = strlen(str1),output;
	for (int i = 0; i <= n; i++)
	{
		if (str1[i] != str2[i])
		{
			output = str1[i] - str2[i];
			printf("%d", output);
		}
	}
	return 0;
} 

Ejemplos 6-1 de salida inversa elemento de matriz

Descripción Título 10 entero de entrada desde el teclado, almacenado en una matriz de enteros de longitud 10, se requiere para revertir 10 el número de la salida de entrada.

La entrada es: 0,1,2,3,4,5,6,7,8,9 salida 9,8,7,6,5,4,3,2,1,0
entero de entrada 10 a espacio de salida de entrada números enteros delimitados inversa salidas 10, una fila para cada número.

#include <cstdio>
#include<cstring>


int main()
{
	int a[10], b[10];
	for (int i = 0; i <= 9; i++)
	{
		scanf_s("%d", &a[i]);
		b[9 - i] = a[i];
	}
	//getchar();
	for (int i = 0; i <= 9; i++)
	{
		printf("%d\n", b[i]);
	}
	return 0;
}

Ejemplos 6-2 array resolución de problemas serie de Fibonacci

Título Descripción Características sucesión de Fibonacci: primer y segundo número de 1,1. 3 desde el primer número, se describe en la parte delantera y dos números. A saber:

salida 20 petición antes de que el número de Fibonacci.

Entradas Salidas 20 antes del número de Fibonacci, cada número por línea.

#include <cstdio>
#include<cstring>


int main()
{
	int a[20];
	a[0] = 1;
	a[1] = 1;
	printf("%d\n", a[0]);
	printf("%d\n", a[1]);
	for (int i = 2; i <= 19; i++)
	{
		a[i] = a[i - 1] + a[i - 2];
		printf("%d\n", a[i]);
	}
	return 0;
}

ejemplo ordenamiento de burbuja 6-3

Descripción Título entero de entrada desde el teclado 10, ordenadas (ascendente) 10 por el número de estos métodos de burbujeo. Entrada 10 separados por espacios enteros de salida
emitida secuencialmente ordenados diez números enteros, cada número por línea.

#include <cstdio>
#include<cstring>


int main()
{
	int a[10],b;
	for (int i = 0; i <= 9; i++)
	{
		scanf("%d", &a[i]);
	}
	for (int i = 0; i <= 8; i++)
	{
		for (int j = 0; j <= 8 - i; j++)
		{
			if (a[j] > a[j + 1])
			{
				b = a[j];
				a[j] = a[j + 1];
				a[j + 1] = b;
			}
		}
	}
	for (int i = 0; i <= 9; i++)
		printf("%d\n", a[i]);
	return 0;
}

Ejemplos 6-4 matriz transpuesta

2 se describirá en un título tres filas de la matriz (matriz bidimensional) intercambiando filas y columnas, la matriz de memoria adicional en tres filas y dos columnas.

Requisitos a datos enteros como un ejemplo para contestar.

2 líneas de datos de entrada, cada línea tres números enteros, separados por espacios. Matrix, línea de salida después de 3 filas intercambiables, cada uno de los datos de la fila 2, separados por espacios.

#include <cstdio>
#include<cstring>


int main()
{
	int a[2][3],b[3][2];
	for (int i = 0; i <= 1; i++)
	{
		for (int j = 0; j <=2; j++)
		{
			scanf("%d", &a[i][j]);
			b[j][i] = a[i][j];
		}
	}
	for (int i = 0; i <= 2; i++)
	{
		for (int j = 0; j <= 1; j++)
		{
			if (j)	printf("%d\n", b[i][j]);
			else    printf("%d ", b[i][j]);
		}

	}
	return 0;
}

Selección de los ejemplos de cadenas de valor máximo 6-9

3 Descripción de entrada Título cadena desde el teclado, que se determina por el máximo.
3 líneas de entrada de cada uno son una cadena.

línea de salida, tres cadena de entrada más grande.

#include <cstdio>
#include<cstring>


int main()
{
	char str1[100], str2[100],str3[100],max[100];
	scanf("%s", str1);
	scanf("%s", str2);
	scanf("%s", str3);
	if (strcmp(str1, str2) <= 0)	sscanf(str2, "%s", max);
	else sscanf(str1, "%s", max);
	if(strcmp(max, str3) <= 0)	sscanf(str3, "%s", max);
	printf("%s", max);
	return 0;
}
Publicado 43 artículos originales · ganado elogios 4 · Vistas 1225

Supongo que te gusta

Origin blog.csdn.net/weixin_42176221/article/details/99682341
Recomendado
Clasificación