C Programming Language || Hands On Coding
Hands-on C programming language challenges for beginners. Learn building logic by solving programs. Owner: @Pradeep_saii
Ko'proq ko'rsatish📈 Telegram kanali C Programming Language || Hands On Coding analitikasi
C Programming Language || Hands On Coding (@c_programming_language_coding) Ingliz til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 12 822 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 9 562-o'rinni va Hindiston mintaqasida 31 207-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 12 822 obunachiga ega bo‘ldi.
26 Avgust, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -210 ga, so‘nggi 24 soatda esa -2 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 12.56% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 2.42% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 612 marta ko‘riladi; birinchi sutkada odatda 310 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 4 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent input, string, scanf("%d, array, element kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Hands-on C programming language challenges for beginners. Learn building logic by solving programs.
Owner: @Pradeep_saii”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 27 Avgust, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
#include <stdio.h>
int findMaxRecursive(int arr[], int size) {
if (size == 1) {
return arr[0];
} else {
int maxRest = findMaxRecursive(arr, size - 1);
if (arr[size - 1] > maxRest) {
return arr[size - 1];
} else {
return maxRest;
}
}
}
int main() {
int size, i;
printf("Enter the size of the array: ");
scanf("%d", &size);
int arr[size];
printf("Enter the elements of the array:n");
for (i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
int max = findMaxRecursive(arr, size);
printf("Maximum element in the array is: %dn", max);
return 0;
}
📤 Output:
Input: 5 Input: 10 Input: 5 Input: 20 Input: 15 Input: 25 Output: Maximum element in the array is: 25 Input: 3 Input: -5 Input: 0 Input: 5 Output: Maximum element in the array is: 5 Input: 1 Input: 100 Output: Maximum element in the array is: 100
#include <stdio.h>
void towerOfHanoi(int n, char from_rod, char to_rod, char aux_rod) {
if (n == 1) {
printf("Move disk 1 from rod %c to rod %cn", from_rod, to_rod);
return;
}
towerOfHanoi(n - 1, from_rod, aux_rod, to_rod);
printf("Move disk %d from rod %c to rod %cn", n, from_rod, to_rod);
towerOfHanoi(n - 1, aux_rod, to_rod, from_rod);
}
int main() {
int num_disks;
printf("Enter the number of disks: ");
scanf("%d", &num_disks);
towerOfHanoi(num_disks, 'A', 'C', 'B'); // A, B and C are names of rods
return 0;
}
📤 Output:
Input: 3 Output: Enter the number of disks: Move disk 1 from rod A to rod C Move disk 2 from rod A to rod B Move disk 1 from rod C to rod B Move disk 3 from rod A to rod C Move disk 1 from rod B to rod A Move disk 2 from rod B to rod C Move disk 1 from rod A to rod C
#include <stdio.h>
int countDigits(int n) {
if (n == 0) {
return 0;
} else {
return 1 + countDigits(n / 10);
}
}
int main() {
int num;
printf("Enter an integer: ");
scanf("%d", &num);
int digitCount = countDigits(num);
printf("Number of digits: %dn", digitCount);
return 0;
}
📤 Output:
Input: 12345 Output: Enter an integer: Number of digits: 5 Input: 0 Output: Enter an integer: Number of digits: 0 Input: 99 Output: Enter an integer: Number of digits: 2 Input: -123 Output: Enter an integer: Number of digits: 3
#include <stdio.h>
#include <stdbool.h>
bool isPrimeRecursive(int n, int i) {
if (n <= 1)
return false;
if (i == 1)
return true;
if (n % i == 0)
return false;
return isPrimeRecursive(n, i - 1);
}
int main() {
int num;
printf("Enter a positive integer: ");
scanf("%d", &num);
if (isPrimeRecursive(num, num / 2))
printf("%d is a prime number.n", num);
else
printf("%d is not a prime number.n", num);
return 0;
}
📤 Output:
Input: 7 Output: 7 is a prime number. Input: 12 Output: 12 is not a prime number. Input: 1 Output: 1 is not a prime number.
#include <stdio.h>
int product(int a, int b) {
if (b == 0) {
return 0;
} else if (b > 0) {
return a + product(a, b - 1);
} else {
return -product(a, -b);
}
}
int main() {
int num1, num2, result;
printf("Enter two integers: ");
scanf("%d %d", &num1, &num2);
result = product(num1, num2);
printf("Product of %d and %d is: %dn", num1, num2, result);
return 0;
}
📤 Output:
Input: 5 3 Output: Product of 5 and 3 is: 15 Input: 4 -2 Output: Product of 4 and -2 is: -8 Input: -6 2 Output: Product of -6 and 2 is: -12 Input: -3 -4 Output: Product of -3 and -4 is: 12 Input: 7 0 Output: Product of 7 and 0 is: 0
#include <stdio.h>
int sum(int n) {
if (n == 0) {
return 0;
} else {
return n + sum(n - 1);
}
}
int main() {
int num;
printf("Enter a positive integer: ");
scanf("%d", &num);
if (num < 0) {
printf("Please enter a positive integer.n");
} else {
int result = sum(num);
printf("Sum = %dn", result);
}
return 0;
}
📤 Output:
Input: 10 Output: Enter a positive integer: Sum = 55 Input: 5 Output: Enter a positive integer: Sum = 15 Input: -3 Output: Enter a positive integer: Please enter a positive integer.
#include <stdio.h>
void printNumbers(int n) {
if (n > 0) {
printf("%d ", n);
printNumbers(n - 1);
}
}
int main() {
int n;
printf("Enter a positive integer: ");
scanf("%d", &n);
printNumbers(n);
printf("n");
return 0;
}
📤 Output:
Input: 5 Output: 5 4 3 2 1
#include <stdio.h>
void printNumbers(int n, int current) {
if (current <= n) {
printf("%d ", current);
printNumbers(n, current + 1);
}
}
int main() {
int n;
printf("Enter a positive integer N: ");
scanf("%d", &n);
if (n <= 0) {
printf("Please enter a positive integer.n");
} else {
printNumbers(n, 1);
printf("n");
}
return 0;
}
📤 Output:
Input: 5 Output: Enter a positive integer N: 1 2 3 4 5 Input: 1 Output: Enter a positive integer N: 1 Input: 0 Output: Enter a positive integer N: Please enter a positive integer. Input: -3 Output: Enter a positive integer N: Please enter a positive integer.
#include <stdio.h>
void decimalToBinary(int n) {
if (n > 0) {
decimalToBinary(n / 2);
printf("%d", n % 2);
}
}
int main() {
int decimal;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
printf("Binary equivalent: ");
if (decimal == 0) {
printf("0");
} else {
decimalToBinary(decimal);
}
printf("n");
return 0;
}
📤 Output:
Input: 10 Output: Enter a decimal number: Binary equivalent: 1010 Input: 0 Output: Enter a decimal number: Binary equivalent: 0 Input: 25 Output: Enter a decimal number: Binary equivalent: 11001 Input: 127 Output: Enter a decimal number: Binary equivalent: 1111111 Input: 1 Output: Enter a decimal number: Binary equivalent: 1
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
int main() {
int num1, num2;
printf("Enter two positive integers: ");
scanf("%d %d", &num1, &num2);
printf("LCM of %d and %d is %dn", num1, num2, lcm(num1, num2));
return 0;
}
📤 Output:
Input: 12 18 Output: Enter two positive integers: LCM of 12 and 18 is 36 Input: 25 15 Output: Enter two positive integers: LCM of 25 and 15 is 75 Input: 7 9 Output: Enter two positive integers: LCM of 7 and 9 is 63
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
int main() {
int num1, num2;
printf("Enter two positive integers: ");
scanf("%d %d", &num1, &num2);
printf("GCD of %d and %d is %dn", num1, num2, gcd(num1, num2));
return 0;
}
📤 Output:
Input: 36 60 Output: Enter two positive integers: GCD of 36 and 60 is 12
#include <stdio.h>
int power(int base, int exponent) {
if (exponent == 0) {
return 1;
} else if (exponent > 0) {
return base * power(base, exponent - 1);
} else {
return 1 / power(base, -exponent);
}
}
int main() {
int base, exponent, result;
printf("Enter the base number: ");
scanf("%d", &base);
printf("Enter the exponent: ");
scanf("%d", &exponent);
result = power(base, exponent);
printf("%d^%d = %dn", base, exponent, result);
return 0;
}
📤 Output:
Input: 2 Input: 3 Output: 2^3 = 8 Input: 5 Input: 0 Output: 5^0 = 1 Input: 2 Input: -2 Output: 2^-2 = 0
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int isPalindrome(char str[], int start, int end) {
if (start >= end) {
return 1;
}
if (str[start] != str[end]) {
return 0;
}
return isPalindrome(str, start + 1, end - 1);
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
int length = strlen(str);
if (isPalindrome(str, 0, length - 1)) {
printf("%s is a palindromen", str);
} else {
printf("%s is not a palindromen", str);
}
return 0;
}
📤 Output:
Input: madam Output: madam is a palindrome Input: racecar Output: racecar is a palindrome Input: hello Output: hello is not a palindrome Input: A man, a plan, a canal: Panama Output: A is not a palindrome
#include <stdio.h>
#include <string.h>
void reverseString(char *str, int start, int end) {
if (start >= end) {
return;
}
char temp = str[start];
str[start] = str[end];
str[end] = temp;
reverseString(str, start + 1, end - 1);
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
int length = strlen(str);
reverseString(str, 0, length - 1);
printf("Reversed string: %sn", str);
return 0;
}
📤 Output:
Input: hello Output: Reversed string: olleh Input: world Output: Reversed string: dlrow Input: abcdef Output: Reversed string: fedcba Input: A Output: Reversed string: A Input: racecar Output: Reversed string: racecar
#include <stdio.h>
int sumOfDigits(int n) {
if (n == 0) {
return 0;
}
return (n % 10) + sumOfDigits(n / 10);
}
int main() {
int num;
printf("Enter a positive integer: ");
scanf("%d", &num);
if (num < 0) {
printf("Please enter a positive integer.n");
return 1;
}
printf("Sum of digits of %d is %dn", num, sumOfDigits(num));
return 0;
}
📤 Output:
Input: 12345 Output: Enter a positive integer: Sum of digits of 12345 is 15 Input: 9876 Output: Enter a positive integer: Sum of digits of 9876 is 30 Input: 0 Output: Enter a positive integer: Sum of digits of 0 is 0 Input: -123 Output: Enter a positive integer: Please enter a positive integer.
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2); // Recursive call
}
int main() {
int num, i;
printf("Enter the number of terms: ");
scanf("%d", &num);
printf("Fibonacci Series: ");
for (i = 0; i < num; i++) {
printf("%d ", fibonacci(i));
}
printf("n");
return 0;
}
📤 Output:
Input: 10 Output: Enter the number of terms: Fibonacci Series: 0 1 1 2 3 5 8 13 21 34
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1); // Recursive call
}
}
int main() {
int num;
printf("Enter a non-negative integer: ");
scanf("%d", &num);
if (num < 0) {
printf("Factorial is not defined for negative numbers.n");
} else {
printf("Factorial of %d = %dn", num, factorial(num));
}
return 0;
}
📤 Output:
Input: 5 Output: Enter a non-negative integer: Factorial of 5 = 120 Input: 0 Output: Enter a non-negative integer: Factorial of 0 = 1 Input: -2 Output: Enter a non-negative integer: Factorial is not defined for negative numbers.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char inputFile[100];
char outputFilePrefix[100];
long long chunkSize;
printf("Enter the input file name: ");
scanf("%s", inputFile);
printf("Enter the output file prefix: ");
scanf("%s", outputFilePrefix);
printf("Enter the chunk size in bytes: ");
scanf("%lld", &chunkSize);
FILE *fp = fopen(inputFile, "rb");
if (fp == NULL) {
printf("Error opening input file.n");
return 1;
}
int fileCount = 1;
long long bytesRead = 0;
unsigned char *buffer = (unsigned char *)malloc(chunkSize);
if (buffer == NULL) {
printf("Memory allocation error.n");
fclose(fp);
return 1;
}
while (1) {
size_t bytes = fread(buffer, 1, chunkSize, fp);
if (bytes == 0) {
break; // End of file
}
char outputFileName[200];
sprintf(outputFileName, "%s_%03d.part", outputFilePrefix, fileCount);
FILE *outFile = fopen(outputFileName, "wb");
if (outFile == NULL) {
printf("Error creating output file.n");
fclose(fp);
free(buffer);
return 1;
}
fwrite(buffer, 1, bytes, outFile);
fclose(outFile);
bytesRead += bytes;
fileCount++;
}
fclose(fp);
free(buffer);
printf("File split successfully.n");
return 0;
}
📤 Output:
Input: input.txt Input: output Input: 1000 Output: Enter the input file name: Enter the output file prefix: Enter the chunk size in bytes: Error opening input file.
