Alquiler L1-027 (20 puntos)

A continuación se muestra una imagen en Sina Weibo que solía ser muy popular: durante
Inserte la descripción de la imagen aquí
un tiempo hubo un grito de ayuda en Internet, preguntando cómo romper esto. De hecho, este código es muy simple, la matriz de índice es el subíndice de la matriz de arr, el índice [0] = 2 corresponde a arr [2] = 1, el índice [1] = 0 corresponde a arr [0] = 8, index [2] = 3 Correspondiente a arr [3] = 0, y así sucesivamente ... Es fácil obtener el número de teléfono 18013820100.

Esta pregunta requiere que escriba un programa para generar este código para cualquier número de teléfono; de hecho, solo necesita generar las dos primeras líneas y el siguiente contenido no se modifica.

Formato de entrada:
introduzca un número de teléfono móvil que consta de 11 dígitos en una línea.

Formato de salida:
Genere las dos primeras líneas del código para el número ingresado, donde los números en arr se deben dar en orden descendente.

Muestra de entrada:
18013820100
Muestra de salida:
int [] arr = new int [] {8,3,2,1,0};
int [] index = new int [] {3,0,4,3,1, 0, 2,4,3,4,4};

#include <stdio.h>
#include <string.h>
int main()
{
    
    
	char tel[12], arr[11], temp;
	int k = 0;
	scanf("%s", tel);
	for (int i = 0; i < strlen(tel); i++)
	{
    
    
		int flag = 0;
		for (int j = 0; j < k; j++)
			if (tel[i] == arr[j])
			{
    
    
				flag = 1;
				break;
			}
		if (!flag)
			arr[k++] = tel[i];
	}
	arr[k] = '\0';
	//排序
	for (int i = 0; i < strlen(arr); i++)
		for (int j = i; j < strlen(arr); j++)
			if (arr[i] < arr[j])
			{
    
    
				temp = arr[i];
				arr[i] = arr[j];
				arr[j] = temp;
			}
	printf("int[] arr = new int[]{");
	for (int i = 0; i < strlen(arr) - 1; i++)
		printf("%c,", arr[i]);
	printf("%c};\n", arr[strlen(arr) - 1]);
	printf("int[] index = new int[]{");
	for (int i = 0; i < strlen(tel) - 1; i++)
	{
    
    
		for (int j = 0; j < strlen(arr); j++)
			if (tel[i] == arr[j])
				printf("%d,", j);
	}
	for (int i = 0; i < strlen(arr); i++)
		if (tel[strlen(tel) - 1] == arr[i])
			printf("%d};\n", i);

	return 0;
}

Supongo que te gusta

Origin blog.csdn.net/fjdep/article/details/115306983
Recomendado
Clasificación