プログラミング演習(C)

最初の質問

タイトル説明

英語の単語単位へのステートメントは、排出量を逆転します。例えば、「私は男の子だ」、逆の排出量の後に「少年私は」
すべての単語の間のスペースで区切られ、文字に加えてのステートメントは、もはや他の文字が含まれていません


インターフェイス説明

/ **
 *反転文
 * 
 原文* @param文
 反転@return後の文*
 * /
パブリック文字列リバース(文字列の文)。

 

説明を入力します。

英語の単語単位へのステートメントは、排出量を逆転します。

出力説明:

逆の順序で文を取得します

例1

エントリー

私は男の子です

輸出

少年午前I

 

コード:

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

 

2番目の質問

タイトル説明

辞書式順序で与えられたn個の文字列、n個の文字列の配列。

説明を入力します。

最初の入力は正の整数N(1≤n≤1000)、N N列(文字列の長さ≤100)次の動作に作用、文字列が小文字のみを含んでいます。

出力説明:

Nデータ出力線は、出力は、辞書式順序の列に配置されています。

例1

エントリー

9 
キャップ
猫の
カード
2つの
過ぎる
まで
ボート
ブーツ

輸出

ボート
、ブート
キャップ
カード
すぎ
2 
まで

コード:

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

 

3番目の質問

タイトル説明

正の整数int型を入力し、INTはメモリ1に格納されるデータの種類の数で計算されます。

説明を入力します。

 整数(int型)を入力します

出力説明:

 これは2進数出力の数に変換1

例1

エントリー

5

輸出

2

コード:

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

 

第四に質問

タイトル説明

明らかにのみ、客観性をテストするために、調査を行うために一緒に重複番号1〜1000 Nの数との間のコンピュータで生成されたランダムな整数(N≤1000)と彼の最初の学校で何人かの学生を招待したいです予約は、別の番号を学ぶ異なる学生の数に対応し、残りの同じ番号を削除します。その後、昇順でこれらの数字を置く学生が良い行の順序に従って研究を行うために取得します。(複数のデータセットがあるかもしれないテストケースで、我々は正常に処理できるように願っています)、「重複」及び「ソート」作業してください助け明らかに完全な。

入力のParam

入力乱数のn個

InputArray n個のランダムな整数の配列

戻り値

ランダムな整数出力処理後のOutputArray


注:テストケース認証なし入力パラメータ、回答の正確さを保証します。テストケースの複数のセット。

サンプルの入力は説明します。

試験サンプルの2セットがあります。

3桁の最初のグループは、以下のとおりです。2.2.1。

11、すなわち、数字の第二のセットである:10,20,40,32,67,40,20,89,300,400,15。

 

説明を入力します。

次いで、マルチライン入力、ランダム整数の第一の入力、対応する番号を入力する整数

出力説明:

結果は、治療後に、複数行を返します

例1

エントリー

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

輸出

1 
2 
10 
15 
20 
32 
40 
67 
89 
300 
400

コード:

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

 

第五質問

タイトル説明

•連続した入力文字列には、各弦8の後に新たな解像度に出力文字列配列の長さによって、 
•8 0は、バックアップしてください数字の文字列の長さではなく、空の文字列処理の整数倍ではありません。 

説明を入力します。

連続した入力文字列(入力2回、各文字列の長さは100未満です)

出力説明:

新しい文字列配列の長さに出力され、8

例1

エントリー

ABC 
123456789

輸出

abc00000 
12345678 
90000000

コード:

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

 

公開された118元の記事 ウォン称賛63 ビュー40000 +

おすすめ

転載: blog.csdn.net/qq_42185999/article/details/104402385