Exercícios de programação (C)

A primeira pergunta

título Descrição

Um comunicado às unidades Inglês palavra emissões de reverter. Por exemplo, "Eu sou um menino", depois de emissões reversa "um menino am I"
separados por um espaço entre todas as palavras, declarações, além das letras, não contém mais os outros personagens


Interface Descrição

/ **
 * inversão frase
 * 
 sentença original * sentença @param
 sentença após @return inversão *
 * /
public String Reversa (sentença String);

 

Digite uma descrição:

Um comunicado às unidades Inglês palavra emissões de reverter.

Descrição Saída:

Obter a sentença em ordem inversa

exemplo 1

entrada

Eu sou um menino

exportação

um menino eu sou

 

código:

#include<stdio.h>
int main()
{
    char str[1000];
    gets(str);
    int i=strlen(str)-1;
    for(;i>=0;i--)
    {
        if(str[i]==' ')
        {
            for(int j=i+1;str[j]!=' '&&str[j]!='\n'&&str[j]!='\0';j++)
            {
                printf("%c",str[j]);
            }
            printf(" ");
        }
    }
    for(i=0;str[i]!=' '&&str[i]!='\n'&&str[i]!='\0';i++)
    {
        printf("%c",str[i]);
    }
    return 0;
}

 

A segunda questão

título Descrição

Dado n cordas, o arranjo de n cadeias em fim lexicographic.

Digite uma descrição:

Uma primeira entrada actua um número inteiro positivo n (1≤n≤1000), n n comportamento seguinte cadeia (comprimento da corda ≤100), a cadeia contém apenas letras minúsculas.

Descrição Saída:

N linhas de saída de dados, a saída é disposta em uma ordem cordas lexicográficos.

exemplo 1

entrada

9 
tampa 
para 
gato 
cartão 
dois 
também 
se 
barco 
de inicialização

exportação

barco 
bota 
cap 
cartão de 
gato 
para 
também 
dois 
se

código:

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    char strarr[n][100];
    char temp[100];
    for(int i=0;i<n;i++)
    {
        scanf("%s",strarr[i]);
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n-1-i;j++)
        {
            if(strcmp(strarr[j],strarr[j+1])>0)
            {
                strcpy(temp,strarr[j]);
                strcpy(strarr[j],strarr[j+1]);
                strcpy(strarr[j+1],temp);
            }
        }
    }
    for(int i=0;i<n;i++)
    {
        printf("%s\n",strarr[i]);
    }
    return 0;
}

 

A terceira questão

título Descrição

Digite um tipo inteiro int positivo, int é calculada pelo número do tipo de dados armazenados na memória 1.

Digite uma descrição:

 Introduzir um número inteiro (tipo int)

Descrição Saída:

 Este convertido para um número binário, o número de saída 1

exemplo 1

entrada

5

exportação

2

código:

#include<stdio.h>
int main()
{
    int inp;
    scanf("%d",&inp);
    int num=0;
    while(inp>0)
    {
        int rest=inp%2;
        if(rest==1)
        {
            num++;
        }
        inp=inp/2;
    }
    printf("%d",num);
    return 0;
}

 

quarta questão

título Descrição

Obviamente quero convidar alguns alunos da escola em conjunto para fazer uma pesquisa, a fim de testar a objetividade, o seu primeiro com o inteiro aleatório gerado por computador (N≤1000) entre 1 e 1000 o número N, para o qual números duplicados, única uma reserva, para remover o restante o mesmo número, que corresponde ao número de diferentes alunos aprendem número diferente. Em seguida, colocar esses números em ordem crescente, para obter os alunos a fazer a pesquisa de acordo com boas condições de linha. Por favor, ajuda, obviamente completa "de duplicação" e "tipo" de trabalho (com um caso de teste, onde pode haver vários conjuntos de dados, esperamos ser capazes de lidar corretamente).

Param de entrada

n número de números aleatórios de entrada

InputArray n matriz de inteiros aleatórios

Valor de retorno

processamento de saída inteiro aleatório após outputArray


Nota: Os casos de teste para garantir a correção dos parâmetros de entrada, os entrevistados sem autenticação. Mais do que um conjunto de casos de teste.

entrada de amostra explicar:

Há dois conjuntos de amostra de teste

O primeiro grupo de três dígitos, são: 2.2.1.

11 é um segundo conjunto de números, nomeadamente: 10,20,40,32,67,40,20,89,300,400,15.

 

Digite uma descrição:

de entrada multi-linha, a primeira entrada do número inteiro aleatório, em seguida, introduzir o número inteiro número correspondente

Descrição Saída:

Os resultados retornar várias linhas, após o tratamento

exemplo 1

entrada

3 
2 
2 
1 
11 
10 
20 
40 
32 
67 
40 
20 
89 
300 
400 
15

exportação

1 
2 
10 
15 
20 
32 
40 
67 
89 
300 
400

código:

#include<stdio.h>

int main()
{
    int inter[1001];
    int t;
    while(scanf("%d",&t)!=EOF)
    {
        for(int i=0;i<1001;i++)
            inter[i]=0;
        for(int i=0;i<t;i++)
        {
            int n=0;
            scanf("%d",&n);
            inter[n]=1;
        }
        for(int i=1;i<=1000;i++)
        {
            if(inter[i]==1)
            {
                printf("%d\n",i);
            }
        }
    }
    return 0;
}

 

A quinta questão

título Descrição

• cadeia de entrada contínua, pelo comprimento da matriz de cadeia saída para uma nova resolução depois de cada corda 8; 
• 8 não é um múltiplo inteiro do comprimento de uma cadeia de números 0 favor cópia de segurança, não o processamento cadeia vazia. 

Digite uma descrição:

Contínua cadeia de caracteres de entrada (entrada 2 vezes, cada comprimento de cadeia é menor do que 100)

Descrição Saída:

É a saída para o comprimento da nova matriz de cadeia 8

exemplo 1

entrada

abc 
123456789

exportação

abc00000 
12345678 
90000000

código:

#include<stdio.h>
#include <string.h>
int main()
{
    char str[100];
    while(scanf("%s",str)!=EOF)
    {
        int len=strlen(str);
        for(int i=0;i<len;i++)
        {
            if((i+1)%8==0)
            {
                printf("%c\n",str[i]);
            }
            else
            {
                printf("%c",str[i]);
            }
        }
        int pud=8-len%8;
        if(pud!=8)
        {
            for(int i=0;i<pud;i++)
            {
                printf("%c",'0');
            }
            printf("\n");
        }
    }
    return 0;
}

 

Publicado 118 artigos originais · ganhou elogios 63 · vê 40000 +

Acho que você gosta

Origin blog.csdn.net/qq_42185999/article/details/104402385
Recomendado
Clasificación