[] Structure de données et notes d'étude de l'algorithme - "notes de l'algorithme" -2

Sélectionnez la structure

  • Car si la déclaration, ou si l'expression conditionnelle est "= 0", il y a un libellé Faithfulness "= 0!":
    (! = N-0) est réécrite comme si (n)
  • Le format de l'instruction switch
switch(表达式){
	case 常量表达式1:
	    …
	    break;
	case 常量表达式2:
	    …
	    break;
	    ……
	default:
	    …
 }

Si vous ne cassez pas, il sera pleinement mis en œuvre.

Exercice:
exemples 4-1 racines d'une équation du second degré

Description Titre trouver une équation du second degré ax2 + bx + c = 0 , les racines, les trois coefficients a, b, c entrée à partir du clavier, et ne peut pas être nul, mais ne garantit pas b2-4ac> 0.
Les variables impliquées dans le programme sont doubles. Entrée séparée par un espace de trois coefficients d'une équation quadratique, le double du type à double sortie
sortie de branchement deux racine suit (note que l'extrémité de l'enveloppe): r1 = r2 = racine quand une première sortie des seconds résultats de la racine, ce qui représente la largeur 7, dans lequel la partie fractionnaire 2.
Si l'équation n'a pas de racines réelles, une ligne d'information de sortie suivante (notez que la fin de l'enveloppe): Pas de racines réelles!

#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;
}

Des exemples comparatifs 4-2 pour échanger des valeurs réelles

Description Titre deux nombres réels de l'entrée du clavier, la valeur de sortie des deux numéros, conformément à l'ordre croissant des générations. Entrez deux nombres réels séparés par des espaces. Sortie
des petites aux grandes sorties des deux nombres réels, au milieu séparés par des espaces, la première décimale, après un grand nombre. Décimales 2 décimales. La fin des sauts de ligne de sortie.

#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;
}

Les exemples comparatifs 4-3 ont échangé des trois valeurs réelles et les sorties de manière séquentielle

Description Titre
entrée à partir du clavier 3 nombres réels a, b, c, de l' échange en comparant la valeur minimale est mémorisée dans une variable, la valeur maximale mémorisée dans la variable c, la valeur intermédiaire stockée dans la variable b, et dans l' ordre croissant de la sortie de ces trois chiffres a, b, c.
Enveloppez la fin de la sortie.
Entrée
Entrée séparée par un espace de trois réel
sortie
dans l' ordre croissant de la sortie des trois nombres réels, séparés par un espace intermédiaire avant, au moins, après une valeur maximale. Décimales 2 décimales.
wrap Note à la fin.

#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;
}

Exercices en sélectionnant la valeur maximale des trois entiers 4-4

Titre Description
Il existe trois nombres entiers a, b, c, une entrée de clavier, dans lequel la sortie du nombre maximum.
Entrez
trois entiers séparés par des espaces.
Sortie
le nombre maximum de trois, à la fin de l' emballage.

#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;
}

Problème 4-10-1 Calcul Bonus

Titre Description
un des bonus de commission d'entreprise basées sur les bénéfices. Profit I inférieur ou égal à 100 000, peut fournir des bonus de 10%, quand le bénéfice de plus de 100 000 $, à moins de 200 000 yuans (100000 <I <= 200000) , en dessous de 100.000 chaînons , en partie basé sur une commission de 10%, supérieur à 100 000 partie d'élément en pourcentage est de 7,5%; 200 000 <I <= 400 000 lorsque moins de commission portion 200.000 yuan sur la base du procédé ci - dessus (ci - après le même), dans laquelle plus de 5% de la commission 200.000 yuan; 400000 <I <= 600000 yuan, dans laquelle plus de 400 000 yuan de commission de 3%; 600 000 <I <= 1000000, la partie supérieure de commission 600 000 yuan est de 1,5%; I> lorsque 1 yuan, plus d'un million portion de yuan commission de 1%.
Sortie du mois clavier bénéfice I, en cherchant à être un peu de bonus, bonus à les minutes.
Nécessaire pour obtenir avec l'instruction if.
Entrez les
bénéfices des entreprises, décimale, double, type double
sortie
devrait envoyer quelques bonus 2 décimales, la fin de l'enveloppe.

#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;
}

Structure boucle

  • while:
while(条件){
……
}//注意这里没有分号
  • faire while
do{
	…
}while(条件);//注意这里有分号
  • pour la déclaration
for(表达式A;表达式B;表达式C){
	…
}//注意这里没有分号

De plus, la langue C ne permet pas la variable d'expression A définie dans une déclaration pour, mais C ++ peut.

  • pause / instruction continue

Exercice:
exemples 5-1-1 nombres naturels successifs sommateurs

Cherchant 1 + 3 + 2 + ... + 100
nécessaire pour obtenir un temps de présentation d'
entrée
sans
sortie
exigences et, à la fin de la sortie d'alimentation de ligne.

#include <cstdio>

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

Des exemples 5-1-2 nombres naturels successifs de sommation

Description Titre
SEEK 1 + 2 + 3 + ... + 100, à savoir la recherche de
conditions de do ... while pour atteindre l'
entrée
sans
produire
le résultat du calcul, la fin de sortie wrap note.

#include <cstdio>

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

Des exemples 5-1-3 nombres naturels successifs de sommation

Description Titre
SEEK 1 + 2 + 3 + ... + 100, à savoir la recherche
nécessaire pour obtenir une déclaration pour
entrée
sans
sortie
de résultat de calcul, l'extrémité de sortie de l'emballage.

#include <cstdio>

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

Des exemples 5-1-4 nombres naturels successifs de sommation

Titre Description
entrez un nombre entier positif N, recherche 1 + 2 + ... + N, à savoir chercher
est nécessaire dans une déclaration de rupture du programme.
Entrée
spécifications d'entrée de données doit être un nombre entier positif.
Sortie
résultat du calcul, et en continu, l'extrémité de sortie des nombres naturels N enveloppe.

#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;
}

Des exemples 5-1-5 nombres naturels successifs de sommation

Description Titre
exigences de programmation 1 + 2 + 3 + ... et les procédures nécessaires pour obtenir un nombre entier positif de telle sorte que la somme est supérieure au minimum de 1000.
Entrée
Non
Sortie
Output Enable 1 + 2 + 3 + ... + N> 1000 plus petit entier positif N, l'extrémité de sortie de l'emballage.

#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;
}

Exemples 5-6 sortie de la matrice

Titre matrice suivante décrit la sortie 4 * 5
. 1. 3 4 5 2
2 4 10. 8. 6
. 3. 6. 9 15 12 est
4 16. 8 12 est 20 est
nécessaire pour réaliser le cycle, chaque ligne de sortie 5 numéros de note, chacun représentant trois caractères largeur, justifié à droite.

#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;
}

Exemples 5-7 à trouver approximation de pi pi

Titre décrit
par l'équation suivante π / 4 = 1-1 / 3 + 1 / 5-1 / 7
recherchant approximation de pi PI, jusqu'à ce qu'il trouve une valeur absolue d'une mesure inférieure à 10-6 (sans accumulation).
Le résultat global de la largeur représente 10 sortie requise, dans lequel une partie fractionnaire de 8 bits.
Lorsque le programme à l' aide des données à virgule flottante, définies comme double double.
Si vous avez besoin pour calculer la valeur absolue, peuvent être utilisés dans la bibliothèque de langage C de fonctions mathématiques fournit, en tant que valeur absolue requise de x, par rapport aux unités de fabrication (X).
Entrée
Non
Sortie
approximation PI = rapport de la circonférence de la
sortie de résultat représentant la largeur totale de 10, dans lequel la fraction 8 est une partie.
Enveloppez la fin de la sortie.
...

#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;
}

Exemples 5-8 séries de Fibonacci

Titre Description
Entrez un entier positif n, le nombre n de la séquence de Fibonacci requise.
séquence de Fibonacci caractéristiques: des premier et second nombre de 1,1. 3 du premier nombre, est décrit à l' avant et deux nombres. Cela est la suivante :
les exigences d'entrée entier positif n ne dépasse pas 50. Le
entrée 50 un nombre entier positif ne dépassant pas n de la séquence de sortie de Fibonacci, l'extrémité de sortie de l'emballage.

#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);
		}
	}
}

Problème 5-10 scores sommateurs séquence
Titre Description

Nous avons la séquence suivante de la fraction
2 / 1,3 / 2,5 / 3,8 / 5,13 / 8,21 / 13 ... et cette face 20 calculée de la série.
Et obtenu avant 20 le nombre de colonnes.
S'il vous plaît Le type de données est défini comme un double.
Entrée pas de sortie après la virgule décimale six, l'extrémité de sortie de l'emballage.

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);
}

tableau

  • Si vous voulez donner tout l'éventail de Du Fu valeur initiale 0, vous pouvez avoir la forme suivante:
int a[10]={0};
int a[10]={};
  • Si la taille du tableau est relativement grande, vous (environ 10 ^ 6 niveaux) doivent définir en dehors de la fonction principale, ou rendre le programme fermer de façon inattendue en raison de variables locales plus petites dans la pile d'application de l'espace fonction du système, ce qui permet l'application et fonctions spatiales variables globales à partir de la mémoire statique de l'application externe, permet une application plus large.
  • memset-- chaque élément du tableau est attribué la même valeur
    Format: memset (nom du tableau, la valeur, sizeof (nom du tableau));
    Habituellement , il y a deux fonctions peuvent être obtenues: memset / remplissage, en
    utilisant memset ajouter string.h;
    recommandations Fu débutant 0 ou -1, puisque memset utiliser la « cession d'octets »,
    si vous voulez attribuer un autre numéro ( par exemple 1), est recommandé d'utiliser de remplissage, la
    vitesse d'exécution est supérieure à memset remplissage.
    exemple:
#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");
}

Résultats de sortie:
0 0 0 0 0
-1 -1 -1 -1 -1
16843009 1,684,300,916,843,009 1,684,300,916,843,009
Appuyez sur une touche pour continuer.

  • Initialiser un tableau de caractères de deux façons:
char str[15]={'G','O','O','D',' ','S','T','O','T','Y','!'};
char str[15]="GOOD STORY!";//注意单双引号的差别

Notez que la seconde méthode est limitée à initialiser d'autres endroits dans le programme ne peut être attribué directement à la chaîne entière

  • fonction d'entrée de la matrice de caractères: scanf / getchar / reçoit
  • Chaîne fonctions de sortie du réseau: printf / putchar / puts
  • scanf espace « % de » identifié comme étant la fin de la chaîne, sans &;
  • getchar / putchar entrée de caractère unique de sortie, les sauts de ligne peut être utilisé pour absorber
    Exemple:
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');//注意单引号
	}
}

Résultats absorbants newline résultat sortie = entrée, absorbera aucun saut de ligne mal reconnues
Insérer ici l'image Description
Insérer ici l'image Description

  • obtient utilisé pour entrer dans sa chaîne, comme une extrémité de saut de ligne,
    donc si vous voulez utiliser le scanf obtient, besoin d'utiliser l'alimentation en ligne scanf absorbante getchar

  • sortie met sa chaîne, et suivie d'une nouvelle ligne

  • Stockage de mode de réalisation de la matrice de caractère de
    la matrice à une dimension / à deux dimensions à la fin de la deuxième dimension possède un caractère nul \ 0 représente la fin de la chaîne stockée;
    caractère nul \ 0 ou lors de l' utilisation scanf reçoit la chaîne de caractères entrée est automatiquement ajouté à la derrière la chaîne de caractères, et occupe un bit;
    le met / identification se fait par le printf \ 0 jusqu'à la fin de la chaîne de caractères en tant que sortie.
    Char besoin de tableau seulement \ 0 comme la fin, int pas nécessaire;
    \ 0 est pas un espace;
    tableau de caractères de longueur , au moins sur une certaine longueur de la mémoire réelle de la chaîne,
    sinon la fonction fonction scanf% s Obtient ou chaîne d'entrée ( telles que l'utilisation getchar), s'il vous plaît entrer chaque chaîne doit être après avoir ajouté « \ 0 », sinon chaîne de sortie printf et PUFS ne sera pas reconnu parce que beaucoup de fin de sortie brouillée de la chaîne.

  • fonction de fichier d' en- tête string.h
    Memset / strlen / strcmp / strcpy / strcat
    strlen (ensemble de caractères): pour donner un nombre de caractères dans la première matrice \ 0 avant le caractère;
    strcmp (un tableau de caractères, tableau de caractères 2): comparaison, un petit rendement négatif, un grand nombre positif égal à 0,1;
    strcpy (un tableau de caractères, tableau de caractères 2): le tableau de caractères 2 comprend un caractère de fin « \ 0 » à une copie ensemble;
    strcat (un tableau de caractères, tableau de caractères 2 ): 2 à 1 derrière le

  • fonction de fichier en- tête stdio.h
    sscanf / sprintf
    peut être considéré comme Scanf + Chaîne / + Sring printf
    sscanf (tableau de caractères 1, « format », chaîne de caractères et 2), un tableau de caractères pour écrire le contenu de l'adresse 2 est situé;
    sprintf (tableau de caractères 1, "format", chaîne de caractères 2); 2 écrit la chaîne 1 le tableau de chaînes;

exemple:

#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;
}

Rendement: 123

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

Rendement: 123;

printf sscanf et entrée de la boîte et les formats de sortie complexes
exemple:
le contenu du tableau caractère str par: le format "% d% lf,% s " est écrit variables int n, double variable de type db, tableau de caractères str2, puis ils sont combinés dans l' ordre inverse 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;
}

Sortie:
n = 2019,
DB = 3,140000,
str2 = Bonjour
Str3 = Bonjour: 3.140000,2019 Appuyez sur une touche pour continuer.

La pratique des
exercices pour 6-4 d'insertion

On a décrit une séquence de bonne ligne de tableau le sujet, il faut l'entrée d'un nombre, selon la loi de l'original triés pour l' insérer dans le tableau.
Supposons que la longueur du tableau 10, le numéro de série du premier neuf (9 numéro qui nécessite une entrée à partir du clavier, à l' entrée apporté pour répondre à une commande importante d'entrée) a été triée par ordre croissant.
Entrée à partir du clavier, puis un nombre entier, le nombre entier 9 est inséré dans cet ordre à l'avant, de sorte que le nombre final de 10 est encore commandé de petit à grand.
Entrée du premier numéro de ligne d'entrée 9 entiers séparés par des espaces, les exigences dans l' ordre croissant de l' entrée.
Une seconde ligne d'entrée de nombre entier
sortie 10 , de petites à grandes sorties de ce nombre, le nombre de chaque ligne.

#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;
}

Exercice 6-5 éléments du tableau Rétrograde

Description Titre d'une valeur de longueur du tableau d'entiers 10 dans l'ordre inverse pour re-stocker.

Tels que: la séquence originale est 1,2,3,4,5,6,7,8,9,0, nécessaire pour 0,9,8,7,6,5,4,3,2,1

Entrée 10 séparés par des espaces entier à partir du clavier.

Ce numéro de sortie 10 dans l'ordre inverse, chaque nombre par ligne.

#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;
}

Triangle d'exercice Pascal 6-6

Entrez nécessaire format suivant Triangle de Pascal

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

Jusqu'à 10 couches de sortie

Entrée contient seulement un entier positif n, le nombre de couches triangles Pascal à émettre. Correspondant à la sortie à l'entrée, la sortie, un nombre correspondant de couches du triangle de Pascal, un nombre entier compris entre chaque couche séparée par un espace

#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;
}

Exercice 6-12 décryptage

Message Titre Description d'une ligne a été par les règles chiffrées suivantes:

A-> Z a-> z

B-> Y b-> y

C> X c-> x

... ...

À savoir, devient la première lettre de l'alphabet 26, le i-ième lettre devient le (26-i + 1) ième lettre, des caractères autres que des lettres inchangé. Selon le mot de passe requis retour de la traduction du texte original, et la sortie.

Après la ligne d'entrée de texte émet le cryptogramme déchiffrée, une ligne distincte.

#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;
}

Comparaison de la chaîne d'exercice 6-13

Titre Description Compares deux chaînes s1 et s2 de la taille, si s1> s2, délivre un nombre positif, si s1 = s2 et sorties 0, si s1 <s2, une sortie négative.

Exigences: pas fonction strcpy, deux cordes devient fonction lit.

Par exemple: « A » par rapport à « C », parce que « A » < « C », la sortie doit être négative, et parce que le « A » et « C » de la différence de code ASCII est égal à 2, la sortie doit être « -2 ».

De même: « Et » et le « aide » de comparaison, les résultats de la comparaison du second caractère, « n » rapport « i » est cinq, et par conséquent la production devrait « 5 »

2 lignes de l'entrée de caractère

Délivrer en sortie un nombre entier qui représente la différence entre les deux comparaisons de chaîne, une ligne séparée.

#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;
} 

Exemples 6-1 élément inverse de la matrice de sortie

Description Titre 10 d'entrée de nombre entier à partir du clavier, stockée dans un tableau d'entiers de longueur 10, il est nécessaire d'inverser le 10 numéro de la sortie d'entrée.

L'entrée est la suivante : 0,1,2,3,4,5,6,7,8,9 sortie 9,8,7,6,5,4,3,2,1,0
entier d'entrée 10 à entrée espace de sortie entiers délimités inverser les sorties 10, une ligne pour chaque numéro.

#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;
}

Exemples 6-2 tableau résolution des problèmes de la série de Fibonacci

Titre Description Caractéristiques séquence Fibonacci: premier et deuxième nombre de 1,1. 3 du premier nombre, est décrit à l'avant et deux nombres. A savoir:

20 sortie de demande avant que le nombre de Fibonacci.

Entrées Sorties 20 avant le nombre de Fibonacci, chaque nombre par ligne.

#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;
}

exemple de tri Bubble 6-3

Description Titre entrée de nombre entier à partir du clavier 10, triée (ascendant) 10 par le nombre de ces méthodes de formation de bulle. Entrée 10 séparés par des espaces entiers sortie
délivré en sortie séquentiellement triés dix entiers, chaque nombre par ligne.

#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;
}

Exemples 6-4 matrice transposée

2 sera décrite dans un document de trois rangées de la matrice (matrice à deux dimensions) interchangeant les rangées et les colonnes, la matrice de mémoire supplémentaire en trois rangées et deux colonnes.

Exigences aux données entières comme par exemple pour répondre.

2 lignes de données d'entrée, chaque ligne de trois nombres entiers, séparés par des espaces. Matrice, la ligne de sortie au bout de 3 rangées interchangeant, chaque rangée 2 données, séparés par des espaces.

#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;
}

Sélection des exemples de chaîne de valeur maximale 6-9

3 Description Entrée chaîne de titre à partir du clavier, qui est déterminé par le maximum.
3 lignes d' entrée sont chacun une chaîne.

Ligne de sortie, trois cordes d'entrée le plus grand.

#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;
}
Publié 43 articles originaux · louange won 4 · Vues 1225

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42176221/article/details/99682341
conseillé
Classement