// collatz.c: test the 3n+1 conjecture of always eventually reaching 1 #include <stdio.h> int main(void) { int n = 0; printf("Enter a positive number:\n"); scanf("%d", &n); if (n > 0) { while (n != 1) { if ((n % 2) == 0) { // n is even n = n / 2; } else { n = 3*n + 1; } printf("%d\n", n); } } else { printf("Not a positive number.\n"); } return 0; } |
// fibonacci.c: compute the first 30 Fibonacci numbers #include <stdio.h> #define MAX 30 int main(int argc, char *argv[]) { int fib[MAX]; int i; fib[0] = 1; fib[1] = 1; for (i=2; i<MAX; i++) { fib[i] = fib[i-1] + fib[i-2]; } for (i=0; i<MAX; i++) { printf("fib[%d] = %d\n", i, fib[i]); } return 0; } |
// string.c: swap 'A' and 'T' in a string #include <stdio.h> #include <string.h> #define MAX_CHARS 128 void convertString(char *); int main(void) { char string[MAX_CHARS]; printf("Enter a string: "); fgets(string, MAX_CHARS, stdin); convertString(string); printf("%s", string); return 0; } void convertString(char *string) { int i; for (i = 0; i < strlen(string); i++) { if (string[i] == 'A') { string[i] = 'T'; } else if (string[i] == 'T') { string[i] = 'A'; } } } |
// file.c: read file and swap all occurrences of 'A' and 'T' #include <stdio.h> #include <string.h> #define MAX_CHARS 128 void convertString(char *); int main(void) { FILE *inputStream; char string[MAX_CHARS]; inputStream = fopen("yeast.dna", "r"); if (inputStream != NULL) { while (fgets(string, MAX_CHARS, inputStream) != NULL) { convertString(string); printf("%s", string); } fclose(inputStream); } return 0; } void convertString(char *string) { int i; for (i = 0; i < strlen(string); i++) { if (string[i] == 'A') { string[i] = 'T'; } else if (string[i] == 'T') { string[i] = 'A'; } } } |
// floats.c: determine the greater of two floating point numbers using pointers #include <stdio.h> float *greater(float *, float *); int main(int argc, char **argv) { float x, y; printf("Enter a number: "); scanf("%f", &x); printf("Enter a number: "); scanf("%f", &y); printf("The greater number is %f\n", *greater(&x, &y)); return 0; } float *greater(float *x, float *y) { float *retval; if (*x > *y) { retval = x; } else { retval = y; } return retval; } |