// Fibonacci sequence // Number in series interactively or via command line argument #include #include #include int countFibonacci(int i) { // Recursive function int fibonacci; if (i == 0) { return 0; } else if (i == 1) { return 1; } fibonacci = countFibonacci(i-1) + countFibonacci(i-2); return fibonacci; } int main(int argc, char *args[]) { char delim[3]=", \0"; int nsize = 0, fibonacci, i; // Check for argument 1 number in series if (argc > 1) { for(i=0; i= '0' && args[1][i] <= '9')) { nsize = nsize; } else if (args[0][i] != '-') { nsize--; } } if (nsize == 0) sscanf(args[1], "%d", &nsize); } if (argc <= 1) { //nsize <= 0) { printf("How many numbers are there in your fibonacci sequence (-ve for in a row): "); scanf(" %d", &nsize); } if (nsize > 0) { strcpy(delim, "\n\0"); } for (i=0; i<=(int) abs(nsize); i++) { fibonacci = countFibonacci(i); if (i == (int) abs(nsize)) { printf("%d", fibonacci); } else { printf("%d%s", fibonacci, delim); } } printf("\n"); }