単一の配列に対して演算の半分を実行する C プログラム

WBOY
リリース: 2023-08-27 13:05:06
転載
503 人が閲覧しました

単一の配列に対して演算の半分を実行する C プログラム

質問

N 要素の 1 次元配列を取得し、それを半分に分割するプログラムを作成してください。その後、前半を昇順、後半を降順に並べ替えます。

解決策

単一配列の 2 つの半分に対して 2 つの演算を実行する解決策は、C 言語で次のように説明されます。 -

前半の昇順ソートのロジックは次のとおりです。次のように -

for (i=0; i<b; ++i){
   for (j=i+1; j<b; ++j){
      if (number[i] > number[j]){
         a = number[i];
         number[i] = number[j];
         number[j] = a;
      }
   }
}
ログイン後にコピー

後半を降順でソートするために使用されるロジックは次のとおりですは次のとおりです -

for (i=b; i<n; ++i){
   for (j=i+1; j<n; ++j){
      if (number[i] < number[j]){
         a = number[i];
         number[i] = number[j];
         number[j] = a;
      }
   }
}
ログイン後にコピー

配列を2つの半分に分割して出力するために使用されるロジックしたがって、次のようになります-

  • 昇順の前半
for (i=0; i<b; ++i)
printf ("%d ",number[i]);
ログイン後にコピー
  • 降順の後半
  • #
    for(i=b;i<n;i++)
    printf("%d ",number[i]);
    ログイン後にコピー

以下は、単一配列の

です。 -

で 2 つの操作を実行する C プログラムの 2 つの部分です。

#include<stdio.h>
void main(){
   int i,j,a,n,b,number[30];
   printf ("Enter the value of N</p><p>");
   scanf ("%d", &n);
   b = n/2;
   printf ("Enter the numbers </p><p>");
   for (i=0; i<n; ++i)
      scanf ("%d",&number[i]);
      for (i=0; i<b; ++i){
         for (j=i+1; j<b; ++j){
            if (number[i] > number[j]){
               a = number[i];
               number[i] = number[j];
               number[j] = a;
         }
      }
   }
   for (i=b; i<n; ++i){
      for (j=i+1; j<n; ++j){
         if (number[i] < number[j]){
            a = number[i];
            number[i] = number[j];
            number[j] = a;
         }
      }
   }
   printf (" The 1st half numbers</p><p>");
   printf (" arranged in asc</p><p>");
   for (i=0; i<b; ++i)
      printf ("%d ",number[i]);
   printf("</p><p>The 2nd half Numbers</p><p>");
   printf("order arranged in desc.order</p><p>");
   for(i=b;i<n;i++)
      printf("%d ",number[i]);
}
ログイン後にコピー

出力

上記のプログラムを実行すると、次の結果が生成されます -

Enter the value of N

10
Enter the numbers
20
34
23
11
45
56
78
98
76
54
The 1st half numbers
arranged in asc
11 20 23 34 45
The 2nd half Numbers
order arranged in desc.order
98 78 76 56 54
ログイン後にコピー

以上が単一の配列に対して演算の半分を実行する C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート