Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk menukar nilai dua tatasusunan dalam bahasa C tanpa menggunakan pembolehubah sementara?

Bagaimana untuk menukar nilai dua tatasusunan dalam bahasa C tanpa menggunakan pembolehubah sementara?

WBOY
Lepaskan: 2023-09-02 22:53:03
ke hadapan
1485 orang telah melayarinya

Bagaimana untuk menukar nilai dua tatasusunan dalam bahasa C tanpa menggunakan pembolehubah sementara?

Tukar dua tatasusunan tanpa menggunakan pembolehubah sementara. Di sini kita akan menggunakan operator aritmetik dan bitwise dan bukannya pembolehubah ketiga.

Logik membaca tatasusunan pertama adalah seperti berikut:-

printf("enter first array ele:</p><p>");
for(i = 0; i < size; i++){
   scanf("%d", &first[i]);
}
Salin selepas log masuk
Salin selepas log masuk

Logik membaca tatasusunan kedua adalah seperti berikut −

printf("enter first array ele:</p><p>");
for(i = 0; i < size; i++){
   scanf("%d", &first[i]);
}
Salin selepas log masuk
Salin selepas log masuk

Logik menukar dua tatasusunan tanpa menggunakan pembolehubah ketiga adalah seperti berikut −

for(i = 0; i < size; i++){
   first[i] = first[i] + sec[i];
   sec[i] = first[i] - sec[i];
   first[i] = first[i] - sec[i];
}
Salin selepas log masuk

Program

Berikut ialah program C untuk menukar dua tatasusunan tanpa menggunakan pembolehubah sementara:

Demo Dalam Talian

#include<stdio.h>
int main(){
   int size, i, first[20], sec[20];
   printf("enter the size of array:");
   scanf("%d", &size);
   printf("enter first array ele:</p><p>");
   for(i = 0; i < size; i++){
      scanf("%d", &first[i]);
   }
   printf("enter second array ele:</p><p>");
   for(i = 0; i < size; i ++){
      scanf("%d", &sec[i]);
   }
   //Swapping two Arrays
   for(i = 0; i < size; i++){
      first[i] = first[i] + sec[i];
      sec[i] = first[i] - sec[i];
      first[i] = first[i] - sec[i];
   }
   printf("</p><p> first array after swapping %d elements</p><p>", size);
   for(i = 0; i < size; i ++){
      printf(" %d \t ",first[i]);
   }
   printf("sec array after Swapping %d elements</p><p>", size);
   for(i = 0; i < size; i ++){
      printf(" %d \t ",sec[i]);
   }
   return 0;
}
Salin selepas log masuk

Output

Apabila atur cara di atas dilaksanakan, ia menghasilkan keputusan berikut −

enter the size of array:5
enter first array ele:
11 12 13 14 15
enter second array ele:
90 80 70 60 50
first array after swapping 5 elements
90 80 70 60 50
sec array after Swapping 5 elements
11 12 13 14 15
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menukar nilai dua tatasusunan dalam bahasa C tanpa menggunakan pembolehubah sementara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan