C Programming Language || Hands On Coding
Hands-on C programming language challenges for beginners. Learn building logic by solving programs. Owner: @Pradeep_saii
Show moreπ Analytical overview of Telegram channel C Programming Language || Hands On Coding
Channel C Programming Language || Hands On Coding (@c_programming_language_coding) in the English language segment is an active participant. Currently, the community unites 12 824 subscribers, ranking 9 562 in the Technologies & Applications category and 31 207 in the India region.
π Audience metrics and dynamics
Since its creation on Π½Π΅Π²ΡΠ΄ΠΎΠΌΠΎ, the project has demonstrated rapid growth, gathering an audience of 12 824 subscribers.
According to the latest data from 26 August, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -210 over the last 30 days and by -2 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 12.56%. Within the first 24 hours after publication, content typically collects 2.42% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 612 views. Within the first day, a publication typically gains 310 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 4.
- Thematic interests: Content is focused on key topics such as input, string, scanf("%d, array, element.
π Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
βHands-on C programming language challenges for beginners. Learn building logic by solving programs.
Owner: @Pradeep_saiiβ
Thanks to the high frequency of updates (latest data received on 27 August, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *file;
char filename[100];
long file_size;
printf("Enter the filename: ");
scanf("%s", filename);
file = fopen(filename, "r");
if (file == NULL) {
perror("Error opening file");
return 1;
}
fseek(file, 0, SEEK_END);
file_size = ftell(file);
if (file_size == -1L) {
perror("Error getting file size");
fclose(file);
return 1;
}
char *buffer = (char *)malloc(file_size + 1);
if (buffer == NULL) {
perror("Memory allocation failed");
fclose(file);
return 1;
}
fseek(file, 0, SEEK_SET);
if (fread(buffer, 1, file_size, file) != file_size) {
perror("Error reading file");
fclose(file);
free(buffer);
return 1;
}
buffer[file_size] = '0';
printf("File content in reverse order:n");
for (long i = file_size - 1; i >= 0; i--) {
printf("%c", buffer[i]);
}
printf("n");
fclose(file);
free(buffer);
return 0;
}
π€ Output:
Input: test.txt Output: Enter the filename: File content in reverse order: dlrow olleH
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fptr;
char data[100];
printf("Enter data to append: ");
scanf(" %[^n]", data);
fptr = fopen("example.txt", "a"); // Open file in append mode
if (fptr == NULL) {
printf("Error opening file!n");
return 1;
}
fprintf(fptr, "%sn", data);
printf("Data appended successfully!n");
fclose(fptr);
return 0;
}
π€ Output:
Input: This is some new data. Output: Enter data to append: Data appended successfully!
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
char filename[50];
char name[50];
int age;
float salary;
printf("Enter the filename to write to (e.g., data.csv): ");
scanf("%s", filename);
fp = fopen(filename, "w");
if (fp == NULL) {
printf("Error opening file!n");
return 1;
}
printf("Enter name: ");
scanf("%s", name);
printf("Enter age: ");
scanf("%d", &age);
printf("Enter salary: ");
scanf("%f", &salary);
fprintf(fp, "%s,%d,%.2fn", name, age, salary);
fclose(fp);
printf("Data written to %s successfully!n", filename);
return 0;
}
π€ Output:
Input: data.csv Output: Enter the filename to write to (e.g., data.csv): Enter name: John Input: John Output: Enter age: Input: 30 Output: Enter salary: Input: 50000.50 Output: Data written to data.csv successfully!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
FILE *fp;
char filename[100];
char line[200];
char *token;
int data1, data2;
printf("Enter the CSV filename: ");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Error opening file!n");
return 1;
}
// Read header line (optional)
fgets(line, sizeof(line), fp);
while (fgets(line, sizeof(line), fp) != NULL) {
token = strtok(line, ",");
if (token != NULL) {
data1 = atoi(token); // Convert string to integer
}
token = strtok(NULL, ",");
if (token != NULL) {
data2 = atoi(token); // Convert string to integer
}
printf("Data 1: %d, Data 2: %dn", data1, data2);
}
fclose(fp);
return 0;
}
π€ Output:
Input: data.csv Output: Enter the CSV filename: Data 1: 10, Data 2: 20 Data 1: 30, Data 2: 40 Data 1: 50, Data 2: 60 (Assuming data.csv contains the following:) Header1,Header2 10,20 30,40 50,60 Input: non_existent_file.csv Output: Enter the CSV filename: Error opening file!
// Code not available
π€ Output:
Since the C code is not provided, I can only provide hypothetical examples based on the problem description "Count Occurrences of Specific Word in File". Example 1: Input: file.txt Input: the Output: The word 'the' appears 5 times in the file. Example 2: Input: data.txt Input: apple Output: The word 'apple' appears 2 times in the file. Example 3 (File Not Found): Input: non_existent_file.txt Input: anyword Output: Error opening file. Example 4 (Word Not Found): Input: file.txt Input: banana Output: The word 'banana' appears 0 times in the file. Example 5 (Empty File): Input: empty.txt Input: anyword Output: The word 'anyword' appears 0 times in the file.
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *file, *tempFile;
char filename[100];
char ch;
long fileLen;
printf("Enter the filename: ");
scanf("%s", filename);
file = fopen(filename, "r");
if (file == NULL) {
printf("Error opening the file.n");
return 1;
}
fseek(file, 0, SEEK_END);
fileLen = ftell(file);
fseek(file, 0, SEEK_SET);
char *buffer = (char *)malloc(fileLen * sizeof(char));
if (buffer == NULL) {
printf("Memory allocation failed.n");
fclose(file);
return 1;
}
fread(buffer, 1, fileLen, file);
fclose(file);
tempFile = fopen("temp.txt", "w");
if (tempFile == NULL) {
printf("Error creating temporary file.n");
free(buffer);
return 1;
}
for (long i = fileLen - 1; i >= 0; i--) {
fputc(buffer[i], tempFile);
}
fclose(tempFile);
free(buffer);
file = fopen(filename, "w");
if (file == NULL) {
printf("Error opening the file for writing.n");
return 1;
}
tempFile = fopen("temp.txt", "r");
if (tempFile == NULL) {
printf("Error opening temporary file for reading.n");
fclose(file);
return 1;
}
while ((ch = fgetc(tempFile)) != EOF) {
fputc(ch, file);
}
printf("File reversed successfully.n");
fclose(file);
fclose(tempFile);
remove("temp.txt");
return 0;
}
π€ Output:
Input: input.txt Output: Enter the filename: File reversed successfully.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char filename[100];
FILE *inputFile, *tempFile;
char line[200];
printf("Enter the filename: ");
scanf("%s", filename);
inputFile = fopen(filename, "r");
if (inputFile == NULL) {
perror("Error opening input file");
return 1;
}
tempFile = fopen("temp.txt", "w");
if (tempFile == NULL) {
perror("Error opening temporary file");
fclose(inputFile);
return 1;
}
while (fgets(line, sizeof(line), inputFile) != NULL) {
int isBlank = 1;
for (int i = 0; line[i] != '0'; i++) {
if (line[i] != ' ' && line[i] != 'n' && line[i] != 'r') {
isBlank = 0;
break;
}
}
if (!isBlank) {
fputs(line, tempFile);
}
}
fclose(inputFile);
fclose(tempFile);
remove(filename);
rename("temp.txt", filename);
printf("Blank lines removed successfully.n");
return 0;
}
π€ Output:
Input: input.txt Output: Enter the filename: Blank lines removed successfully.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
FILE *fp;
char word[50];
char frequent_word[50] = "";
int count = 1, max_count = 0;
char words[100][50];
int freq[100] = {0};
int num_words = 0;
int i, j;
fp = fopen("input.txt", "r");
if (fp == NULL) {
printf("Error opening file.n");
return 1;
}
while (fscanf(fp, "%s", word) != EOF) {
int found = 0;
for (i = 0; i < num_words; i++) {
if (strcmp(words[i], word) == 0) {
freq[i]++;
found = 1;
break;
}
}
if (!found) {
strcpy(words[num_words], word);
freq[num_words]++;
num_words++;
}
}
fclose(fp);
for (i = 0; i < num_words; i++) {
if (freq[i] > max_count) {
max_count = freq[i];
strcpy(frequent_word, words[i]);
}
}
printf("Most frequent word: %sn", frequent_word);
printf("Frequency: %dn", max_count);
return 0;
}
π€ Output:
// Code not available
#include <stdio.h>
#include <string.h>
int main() {
FILE *fp;
char filename[100];
char word[100];
char longestWord[100] = "";
int longestLength = 0;
printf("Enter the filename: ");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Error opening file.n");
return 1;
}
while (fscanf(fp, "%s", word) == 1) {
int len = strlen(word);
if (len > longestLength) {
longestLength = len;
strcpy(longestWord, word);
}
}
fclose(fp);
if (longestLength > 0) {
printf("Longest word: %sn", longestWord);
} else {
printf("No words found in the file.n");
}
return 0;
}
π€ Output:
Input: test.txt Output: Error opening file. Input: my_file.txt Output: Enter the filename: my_file.txt Longest word: programming Input: data.txt Output: Enter the filename: data.txt No words found in the file.
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *file1, *file2, *mergedFile;
char filename1[100], filename2[100], mergedFilename[100];
char ch;
printf("Enter the name of the first file: ");
scanf("%s", filename1);
printf("Enter the name of the second file: ");
scanf("%s", filename2);
printf("Enter the name of the merged file: ");
scanf("%s", mergedFilename);
file1 = fopen(filename1, "r");
if (file1 == NULL) {
printf("Error opening file %sn", filename1);
return 1;
}
file2 = fopen(filename2, "r");
if (file2 == NULL) {
printf("Error opening file %sn", filename2);
fclose(file1);
return 1;
}
mergedFile = fopen(mergedFilename, "w");
if (mergedFile == NULL) {
printf("Error opening file %s for writingn", mergedFilename);
fclose(file1);
fclose(file2);
return 1;
}
while ((ch = fgetc(file1)) != EOF) {
fputc(ch, mergedFile);
}
fclose(file1);
while ((ch = fgetc(file2)) != EOF) {
fputc(ch, mergedFile);
}
fclose(file2);
fclose(mergedFile);
printf("Files merged successfully into %sn", mergedFilename);
return 0;
}
π€ Output:
Input: file1.txt Input: file2.txt Input: merged.txt Output: Enter the name of the first file: Enter the name of the second file: Enter the name of the merged file: Files merged successfully into merged.txt
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define MAX_WORD_LENGTH 100
#define MAX_WORDS 1000
int main() {
FILE *fp;
char filename[100];
char word[MAX_WORD_LENGTH];
char words[MAX_WORDS][MAX_WORD_LENGTH];
int counts[MAX_WORDS];
int num_words = 0;
int i, j;
printf("Enter the filename: ");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp == NULL) {
printf("Error opening file.n");
return 1;
}
while (fscanf(fp, "%s", word) == 1) {
for (i = 0; word[i]; i++) {
word[i] = tolower(word[i]);
if (!isalnum(word[i])) {
word[i] = '0';
break;
}
}
if(word[0] == '0') continue;
int found = 0;
for (i = 0; i < num_words; i++) {
if (strcmp(words[i], word) == 0) {
counts[i]++;
found = 1;
break;
}
}
if (!found) {
strcpy(words[num_words], word);
counts[num_words] = 1;
num_words++;
}
}
fclose(fp);
printf("Word Frequencies:n");
for (i = 0; i < num_words; i++) {
printf("%s: %dn", words[i], counts[i]);
}
return 0;
}
π€ Output:
Input: test.txt Output: Error opening file. Input: my_file.txt Output: Enter the filename: my_file.txt Word Frequencies: Input: data.txt Output: Enter the filename: data.txt Word Frequencies: this: 1 is: 1 a: 1 test: 1 file: 1 Input: input.txt Output: Enter the filename: input.txt Word Frequencies: hello: 2 world: 1 this: 1 is: 1 a: 1 test: 1 Input: words.txt Output: Enter the filename: words.txt Word Frequencies: the: 2 quick: 1 brown: 1 fox: 1 jumps: 1 over: 1 lazy: 1 dog: 1 a: 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char filename[100], wordToReplace[100], replacementWord[100];
char buffer[1000];
FILE *file, *tempFile;
printf("Enter filename: ");
scanf("%s", filename);
printf("Enter word to replace: ");
scanf("%s", wordToReplace);
printf("Enter replacement word: ");
scanf("%s", replacementWord);
file = fopen(filename, "r");
if (file == NULL) {
printf("Unable to open file.n");
return 1;
}
tempFile = fopen("temp.txt", "w");
if (tempFile == NULL) {
printf("Unable to create temporary file.n");
fclose(file);
return 1;
}
while (fgets(buffer, sizeof(buffer), file) != NULL) {
char *position = strstr(buffer, wordToReplace);
if (position != NULL) {
char temp[1000];
strncpy(temp, buffer, position - buffer);
temp[position - buffer] = '0';
strcat(temp, replacementWord);
strcat(temp, position + strlen(wordToReplace));
fprintf(tempFile, "%s", temp);
} else {
fprintf(tempFile, "%s", buffer);
}
}
fclose(file);
fclose(tempFile);
remove(filename);
rename("temp.txt", filename);
printf("Word replaced successfully.n");
return 0;
}
π€ Output:
Input: input.txt Input: oldword Input: newword Output: Unable to open file.
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *sourceFile, *destFile;
char ch;
char sourceFileName[100], destFileName[100];
printf("Enter the name of the source file: ");
scanf("%s", sourceFileName);
printf("Enter the name of the destination file: ");
scanf("%s", destFileName);
sourceFile = fopen(sourceFileName, "r");
if (sourceFile == NULL) {
printf("Unable to open source file.n");
return 1;
}
destFile = fopen(destFileName, "w");
if (destFile == NULL) {
printf("Unable to open destination file.n");
fclose(sourceFile);
return 1;
}
while ((ch = fgetc(sourceFile)) != EOF) {
fputc(ch, destFile);
}
printf("File copied successfully.n");
fclose(sourceFile);
fclose(destFile);
return 0;
}
π€ Output:
Input: source.txt Input: destination.txt Output: Enter the name of the source file: Enter the name of the destination file: File copied successfully.
#include <stdio.h>
int main() {
FILE *file;
char filename[100];
char ch;
int char_count = 0;
printf("Enter the filename: ");
scanf("%s", filename);
file = fopen(filename, "r");
if (file == NULL) {
printf("Error opening file.n");
return 1;
}
while ((ch = fgetc(file)) != EOF) {
char_count++;
}
fclose(file);
printf("Number of characters in the file: %dn", char_count);
return 0;
}
π€ Output:
Input: test.txt Output: Enter the filename: Number of characters in the file: 26
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main() {
FILE *file;
char filename[100];
char ch;
int wordCount = 0;
int inWord = 0;
printf("Enter the filename: ");
scanf("%s", filename);
file = fopen(filename, "r");
if (file == NULL) {
printf("Error opening file.n");
return 1;
}
while ((ch = fgetc(file)) != EOF) {
if (isalnum(ch)) {
if (!inWord) {
inWord = 1;
wordCount++;
}
} else {
inWord = 0;
}
}
fclose(file);
printf("Number of words: %dn", wordCount);
return 0;
}
π€ Output:
Input: my_file.txt Output: Error opening file. Input: test.txt Output: Enter the filename: Number of words: 5
#include <stdio.h>
int main() {
FILE *file;
char ch;
int line_count = 0;
char filename[100];
printf("Enter the filename: ");
scanf("%s", filename);
file = fopen(filename, "r");
if (file == NULL) {
printf("Error opening file!n");
return 1;
}
while ((ch = fgetc(file)) != EOF) {
if (ch == 'n') {
line_count++;
}
}
fclose(file);
printf("Number of lines in the file: %dn", line_count);
return 0;
}
π€ Output:
Input: test.txt Output: Enter the filename: Number of lines in the file: 0 Input: input.txt Output: Enter the filename: Number of lines in the file: 0 Input: myfile.txt Output: Enter the filename: Error opening file! Input: data.txt Output: Enter the filename: Number of lines in the file: 0
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *file;
char ch;
char filename[100];
printf("Enter the filename to read: ");
scanf("%s", filename);
file = fopen(filename, "r");
if (file == NULL) {
printf("Error opening file!n");
return 1;
}
while ((ch = fgetc(file)) != EOF) {
printf("%c", ch);
}
fclose(file);
return 0;
}
π€ Output:
Input: test.txt Output: Enter the filename to read: This is a test file. It has multiple lines. With some sample text.
#include <stdio.h>
#include <string.h>
typedef struct {
char name[50];
int age;
float salary;
} Employee;
int main() {
Employee emp1;
printf("Enter employee name: ");
scanf("%s", emp1.name);
printf("Enter employee age: ");
scanf("%d", &emp1.age);
printf("Enter employee salary: ");
scanf("%f", &emp1.salary);
printf("nEmployee Details:n");
printf("Name: %sn", emp1.name);
printf("Age: %dn", emp1.age);
printf("Salary: %.2fn", emp1.salary);
return 0;
}
π€ Output:
Input: JohnDoe Input: 30 Input: 50000.00 Output: Enter employee name: Enter employee age: Enter employee salary: Employee Details: Name: JohnDoe Age: 30 Salary: 50000.00
#include <stdio.h>
#include <stdint.h>
struct Date {
unsigned int day : 5; // 5 bits for day (0-31)
unsigned int month : 4; // 4 bits for month (0-15)
unsigned int year : 7; // 7 bits for year (0-127, relative to some base year)
};
int main() {
struct Date today;
printf("Enter day (1-31): ");
scanf("%u", &today.day);
printf("Enter month (1-12): ");
scanf("%u", &today.month);
printf("Enter year (0-127): ");
scanf("%u", &today.year);
printf("Date: %u/%u/%un", today.day, today.month, today.year);
printf("Size of Date structure: %zu bytesn", sizeof(struct Date));
return 0;
}
π€ Output:
Input: 25 Input: 10 Input: 23 Output: Enter day (1-31): Enter month (1-12): Enter year (0-127): Date: 25/10/23 Output: Size of Date structure: 4 bytes
