Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรมหากิน C/C++


10 โปรแกรมที่ยากจะทดสอบพื้นฐานการเขียนโปรแกรมของคุณ

1. โปรแกรมพิมพ์ “ ” ในภาษา C++

ในภาษาโปรแกรม C++ เราใช้เครื่องหมายคำพูดเพื่อแสดงจุดเริ่มต้นและจุดสิ้นสุดของข้อความที่จะพิมพ์ ดังนั้น การพิมพ์เครื่องหมายคำพูด " จำเป็นต้องมีลำดับหลีกพิเศษ ดังนั้น เราจะใช้ \" เพื่อพิมพ์เครื่องหมายคำพูดในภาษา c++

ตัวอย่าง

#include<iostream>
using namespace std;
int main() {
   cout<<"\"Tutorials Point \"";
   return 0;
}

ผลลัพธ์

"Tutorials Point "

2. โปรแกรมพิมพ์ตัวเลขตั้งแต่ 1 ถึง 10 โดยใช้คำสั่งวนซ้ำหรือ goto

ในการเขียนโปรแกรมเพื่อวนซ้ำบล็อกโค้ดเดียวกันหลายๆ ครั้ง มีวิธีการสองสามวิธี พวกมันคือ −

  • การใช้ลูป
  • การใช้คำสั่ง goto
  • การใช้ฟังก์ชันแบบเรียกซ้ำ

เนื่องจากคุณไม่สามารถใช้คำสั่งวนซ้ำหรือ goto วิธีเดียวที่ใช้ได้คือการใช้ฟังก์ชันแบบเรียกซ้ำ มาดูกันว่าเราจะใช้การโทรซ้ำเพื่อพิมพ์หมายเลขตั้งแต่ 1 ถึง 10 ได้อย่างไร

ตัวอย่าง

#include <stdio.h>
void printNumber(int count){
   printf("%d\n", count );
   count+=1;
   if(count<=10)
      printNumber(count);
}
int main(){
   printNumber(1);
   return 0;
}

ผลลัพธ์

1
2
3
4
5
6
7
8
9
10

3. เพื่อตรวจสอบความเท่าเทียมกันของตัวเลขสองตัวโดยไม่ต้องใช้เลขคณิตหรือตัวดำเนินการเปรียบเทียบ

ในการตรวจสอบความเท่าเทียมกันของตัวเลขสองตัว เราสามารถใช้ตัวดำเนินการ XOR ระดับบิต (^) หากตัวเลขสองตัวเท่ากัน XOR ระดับบิตของตัวเลขเหล่านี้จะเป็น 0 ทีนี้ มาปรับใช้แนวคิดนี้ในโปรแกรมกัน

ตัวอย่าง

#include<iostream>
using namespace std;
int main(){
   int a = 132;
   int b = 132;
   if ( (a ^ b) )
      cout<<"a is not equal to b";
   else
      cout<<"a is else to b";
      return 0;
}

ผลลัพธ์

a is equal to b

4. พิมพ์ “สวัสดี” โดยไม่ต้องใช้ a; ใน c/c++

ในภาษาโปรแกรม c/c++ มีวิธีการพิมพ์บางอย่างโดยไม่ต้องใช้เครื่องหมายอัฒภาค เราสามารถทำได้โดยใช้ชนิดส่งคืนของวิธีการส่งออก printf วิธี printf ใน c ++ ส่งคืนจำนวนอักขระที่พิมพ์ไปยังหน้าจอเอาต์พุต เราสามารถใช้และคำสั่งแบบมีเงื่อนไขที่รันได้โดยไม่มีเครื่องหมายอัฒภาค

ตัวอย่าง

#include <stdio.h>
int main(){
   if(printf("Hello "))
   return 0;
}

ผลลัพธ์

Hello

5. โปรแกรมหาค่าสูงสุดและต่ำสุดของตัวเลขสองตัวโดยไม่ต้องใช้ตัวดำเนินการเปรียบเทียบ

ในการหาจำนวนสูงสุดและต่ำสุดของตัวเลขสองตัวที่กำหนดโดยไม่ใช้ตัวดำเนินการเปรียบเทียบ เราจะใช้วิธี abs และส่งผลต่างของตัวเลขทั้งสองไปที่นั้น มันจะส่งคืนผลต่างที่เป็นบวกระหว่างตัวเลข และเราจะลบผลต่างสัมบูรณ์นี้ออกเพื่อหาค่าสูงสุดและต่ำสุดของตัวเลขทั้งสองที่กำหนด

ตัวอย่าง

#include<iostream>
using namespace std;
int main (){
   int x = 15, y = 20;
   cout<<"The numbers are x = "<<x<<"and y = "<<y<<endl;
   cout<<"The max of the numbers is "<<((x + y) + abs(x - y)) / 2<<endl;
   cout<<"The min of the numbers is "<<((x + y) - abs(x - y)) / 2<<endl;
   return 0;
}

ผลลัพธ์

The numbers are x = 15and y = 20
The max of the numbers is 20
The min of the numbers is 15

6.พิมพ์ซอร์สโค้ดของโปรแกรมและเอาต์พุต

การพิมพ์ซอร์สโค้ดของโปรแกรมเป็นผลลัพธ์ของโปรแกรมเดียวกันนั้นค่อนข้างจะยุ่งยาก และจำเป็นต้องมีความเข้าใจในภาษาการเขียนโปรแกรมเป็นอย่างดี

ในโปรแกรมนี้ เราจะใช้แนวคิดในการจัดการไฟล์และเปิดไฟล์เดียวกันกับที่เราใช้เขียนโค้ดของเราแล้วพิมพ์เนื้อหาของไฟล์

ตัวอย่าง

#include <stdio.h>
int main(void){
   FILE *program;
   char ch;
   program = fopen(__FILE__, "r");
   do{
      ch=fgetc(program);
      printf("%c", ch);
   }
   while(ch!=EOF);
      fclose(program);
   return 0;
}

7. โปรแกรมหาผลรวมของตัวเลขสองตัวโดยไม่ต้องใช้ตัวดำเนินการ +

ผลรวมของตัวเลขสองตัวสามารถพบได้โดยไม่ต้องใช้ตัวดำเนินการ + โดยใช้ตัวดำเนินการ - หลายครั้งในรหัส โปรแกรมด้านล่างแสดงวิธีการ

ตัวอย่าง

#include<iostream>
using namespace std;
int main(){
   int x = 5;
   int y = 5;
   int sum = x - (-y);
   cout<<"The numbers are x = "<<x<<" y = "<<y<<endl;
   cout<<"Their sum = "<<sum;
   return 0;
}

ผลลัพธ์

The numbers are x = 5 y = 5
Their sum = 10

8. เพื่อตรวจสอบว่าจำนวนที่กำหนดเป็นเลขคู่โดยไม่ต้องใช้ตัวดำเนินการทางคณิตศาสตร์หรือเชิงสัมพันธ์

เพื่อตรวจสอบว่าตัวเลขที่กำหนดเป็นจำนวนคู่หรือไม่ เราสามารถใช้ตัวดำเนินการระดับบิตได้ ค่าบิต &โอเปอเรเตอร์พร้อมกับ 0x01 จะตรวจสอบบิตที่ตำแหน่ง 0 ในตัวเลข หากบิตที่ตำแหน่ง 0 เป็น 1 แสดงว่าตัวเลขนั้นเป็นเลขคี่ ไม่เช่นนั้นจะเป็นเลขคู่

ตัวอย่าง

#include<iostream>
using namespace std;
int main(){
   int a = 154;
   if(a & 0x01) {
      cout<<a<<" is an odd number";
   } else{
      cout<<a<<" is an even number";
   }
   printf("\n");
   return 0;
}

ผลลัพธ์

154 is an even number

9. โปรแกรมหารตัวเลขด้วย 4 โดยไม่ต้องใช้ / โอเปอเรเตอร์

ในการหารตัวเลขด้วย 4 โดยไม่ต้องใช้ตัวดำเนินการหาร เราสามารถใช้ตัวดำเนินการ shift ที่ถูกต้อง>> ที่เลื่อนบิตสุดท้าย

ตัวอย่าง

#include<iostream>
using namespace std;
int main(){
   int n = 128;
   cout<<n<<"divided by 4 = ";
   n = n >> 2;
   cout<< n;
   return 0;
}

ผลลัพธ์

128 divided by 4 = 32

โปรแกรม 10.C++ คำนวณผลรวมของตัวเลขซ้ำๆ จนกลายเป็นตัวเลขหลักเดียว

การคำนวณผลรวมแบบเรียกซ้ำโดยการเพิ่มตัวเลขทั้งหมดของตัวเลข จากนั้นดูว่าเป็นตัวเลขหลักเดียวหรือไม่ จากนั้นให้หยุดคำนวณผลรวมใหม่จนกว่าผลรวมจะกลายเป็นหลักเดียว

ตัวอย่าง

#include <iostream>
using namespace std;
int main() {
   int a = 534;
   int sum;
   if(a)
      sum = a % 9 == 0 ? 9 : a % 9 ;
   else
      sum = 0;
   cout<<"The final sum is "<<sum;
   return 0;
}

ผลลัพธ์

The final sum is 3