eng
competition

Text Practice Mode

C language drill

created Mar 9th, 01:50 by Zaphod Beeblebrox


0


Rating

322 words
4 completed
00:00
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <stdbool.h>
#include <limits.h>
#include <ctype.h>
#include <time.h>
 
#define PI 3.14159
#define SQUARE(x) ((x) * (x))
#define CUBE(x) ((x) * (x) * (x))
 
typedef struct {
int value;
} Example;
 
void increment(Example *e) {
e->value += 1;
}
 
void print_example(const Example *e) {
printf("Value: %d\n", e->value);
}
 
int fibonacci(int n, int *sequence) {
if (n <= 0) return 0;
sequence[0] = 0;
if (n > 1) sequence[1] = 1;
for (int i = 2; i < n; i++) {
sequence[i] = sequence[i - 1] + sequence[i - 2];
}
return 1;
}
 
void reverse_string(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = temp;
}
}
 
void print_array(int *arr, int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
 
int main() {
printf("C typing practice!\n");
printf("Operators: + - * / %% ++ --\n");
printf("Comparison: == != < > <= >=\n");
printf("Logical: && || !\n");
printf("Bitwise: & | ^ ~ << >>\n");
printf("Assignment: = += -= *= /= %%= &= |= ^= <<= >>=\n");
 
Example ex = {10};
print_example(&ex);
increment(&ex);
print_example(&ex);
 
int sequence[20];
if (fibonacci(20, sequence)) {
    printf("Fibonacci: ");
    print_array(sequence, 20);
}
 
FILE *file = fopen("sample.txt", "w");
if (file) {
    fprintf(file, "Hello, world!\n");
    fclose(file);
}
 
char *words[] = {"apple", "banana", "cherry", "date", "elderberry"};
for (int i = 0; i < 5; i++) {
    printf("%s\n", words[i]);
}
 
int numbers[20];
for (int i = 0; i < 20; i++) {
    numbers[i] = CUBE(i);
    printf("%d:%d ", i, numbers[i]);
}
printf("\n");
 
char str[] = "abcdef";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str);
 
srand(time(NULL));
printf("Random number: %d\n", rand() % 100);
 
int (*func_ptr)(int) = &abs;
printf("Absolute of -10: %d\n", func_ptr(-10));
 
bool flag = false;
printf("Boolean flag: %s\n", flag ? "true" : "false");
 
return 0;

saving score / loading statistics ...