diff --git a/src/hello.c b/src/hello.c index 9d6338f..3383823 100644 --- a/src/hello.c +++ b/src/hello.c @@ -1,12 +1,10 @@ #include - int main(int argc, char *argv[]) { - // This is your first C program my friend - printf("Hello, RTU World from C Lab in 2025!\n"); + printf("Hello, from Hazal!\n"); printf("You passed %d argument(s).\n", argc - 1); for (int i = 1; i < argc; ++i) { printf(" arg[%d] = %s\n", i, argv[i]); } return 0; -} +} \ No newline at end of file diff --git a/src/lab2_1.c b/src/lab2_1.c index 699339a..3ba78ad 100644 --- a/src/lab2_1.c +++ b/src/lab2_1.c @@ -1,28 +1,22 @@ #include -/* - Task: - Write a function `int sum_to_n(int n)` that computes - the sum of all integers from 1 up to n using a for loop. - - In main(): - - Ask user for a positive integer n - - If n < 1, print an error - - Otherwise, call sum_to_n and print the result -*/ - -int sum_to_n(int n) { - // TODO: implement sum with a for loop - return 0; // placeholder +int sum_to_n(int n){ + int s = 0; + for(int i = 1; i <= n; i++){ + s += i; + } + return s; } -int main(void) { +int main(void){ int n; - printf("Enter a positive integer n: "); - scanf("%d", &n); - - // TODO: validate input, call function, and print result + if (scanf("%d", &n) != 1) return 0; + if(n < 1){ + printf("Error: n must be >= 1\n"); + } else { + printf("Sum 1..%d = %d\n", n, sum_to_n(n)); + } return 0; } diff --git a/src/lab2_2.c b/src/lab2_2.c index d88ef6d..a2eae26 100644 --- a/src/lab2_2.c +++ b/src/lab2_2.c @@ -1,28 +1,22 @@ #include -/* - Task: - Write a function `long long factorial(int n)` that computes n! - using a loop (not recursion). - - In main(): - - Ask user for an integer n - - If n is negative, print an error and exit - - Otherwise, call factorial and print the result -*/ - -long long factorial(int n) { - // TODO: compute factorial iteratively - return 1; // placeholder +long long factorial(int n){ + long long r = 1; + for(int i = 1; i <= n; i++){ + r *= i; + } + return r; } -int main(void) { +int main(void){ int n; + printf("Enter n: "); + if (scanf("%d", &n) != 1) return 0; - printf("Enter a non-negative integer n: "); - scanf("%d", &n); - - // TODO: validate input, call function, print result - + if(n < 0){ + printf("Error: n must be >= 0\n"); + } else { + printf("%d! = %lld\n", n, factorial(n)); + } return 0; } diff --git a/src/lab2_3.c b/src/lab2_3.c index ddc8af6..e3abc1b 100644 --- a/src/lab2_3.c +++ b/src/lab2_3.c @@ -1,28 +1,26 @@ #include -/* - Task: - Write a function `int is_prime(int n)` that returns 1 if n is prime, - 0 otherwise. - - In main(): - - Ask user for an integer n (>= 2) - - If invalid, print an error - - Otherwise, print all prime numbers up to n -*/ - -int is_prime(int n) { - // TODO: check if n is prime using loop up to sqrt(n) - return 0; // placeholder +int is_prime(int n){ + if(n < 2) return 0; + for(int i = 2; i*i <= n; i++){ + if(n % i == 0) return 0; + } + return 1; } -int main(void) { +int main(void){ int n; + printf("Enter n: "); + if (scanf("%d", &n) != 1) return 0; - printf("Enter an integer n (>= 2): "); - scanf("%d", &n); - - // TODO: validate input and print all primes up to n - + if(n < 2){ + printf("Error: n must be >= 2\n"); + } else { + printf("Primes up to %d:\n", n); + for(int i = 2; i <= n; i++){ + if(is_prime(i)) printf("%d ", i); + } + printf("\n"); + } return 0; }