int main() { int num,reverse; printf("\n Enter a number to be reversed: "); scanf("%d",&num); reverse = reverseNum(num); printf("\n The reverse of the number %d is: %d",num,reverse); return 0; }
/** * @param k: * @return: the sum of first k even-length palindrome numbers */ int sumKEven(int k) { // Write your code here int base = 10, start = 1, sum = 0; while (k--) { sum += (start * base + reverseNum(start)); if (++start >= base) base *= 10; } return sum; }
int main (void){ int number, reverse, reverse2, difference, sum; // Get Number from User printf("Please enter a 3 digit number in which the digits decrease in value (i.e. 542) : "); scanf("%i", &number); // Reverse number reverse = reverseNum(number); // Subtract original number from reversed number difference = difNum(number, reverse); // Take the difference of the previous equation and reverse the digits reverse2 = reverseNum(difference); // Add the difference and and the reversed number sum = sumNum(difference, reverse2); // return value : will always be 1089 printf("%i - %i = %i, %i + %i = %i\n", number, reverse, difference, difference, reverse2, sum); }
int count(int goal){ int currentCnt = 1; int currentNum = 1; while(currentNum != goal){ int nextInc = incNum(currentNum); int nextReverse = reverseNum(currentNum); if(nextInc >= nextReverse || nextReverse > goal){ currentNum = nextInc; }else{ currentNum = nextReverse; } currentCnt++; } return currentCnt; }
int main ( int argc, char *argv[] ) { int primeCheckStorage; int reverseNumStorage; int palindromeCheckStorage; int input = 0; int x = 0; //int y = 0; //int z = 0; int primeFlag = 0; int reverseFlag = 0; int palidromeFlag = 0; int readFlag = 0; int writeFlag = 0; int output; //char *stringToParse; FILE *fp = NULL; /* * SECTION 2 FLAG RAISING * For this section we are taking the command line arguments and going through them * and checking to see which ones were entered by the user * Additionally if one was entered by the user we will raise its appropriate flag to call associated * code and functions form it */ for(int i = 0 ; i < argc; i++) { if(argv[i][0] == '-' && argv[i][1] == 'h') { options(); //here we are checking if there is a -h giving it precedence and breaking out of the loop primeFlag = 0; reverseFlag = 0; palidromeFlag = 0; readFlag = 0; writeFlag = 0; break; } if(argv[i][0] == '-' && argv[i][1] == 'p') { primeFlag = 1; } if(argv[i][0] == '-' && argv[i][1] == 'r') { reverseFlag = 1; } if(argv[i][0] == '-' && argv[i][1] == 'd') { palidromeFlag = 1; } if(argv[i][0] == '-' && argv[i][1] == 'f')// get file name and READ from File { //check to see if there is a file name if( argv[i+1] == NULL) { printf("expecting argument following -f \n"); } //copy file name inFile = argv[i+1]; fp = fopen(inFile, "r"); if(!fp) { printf("Can not open %s \n" , inFile); return 0; } else //read data from file fclose(fp); readFlag = 1; } if(argv[i][0] == '-' && argv[i][1] == 'o') { //check to see if there is a file name if( argv[i+1] == NULL) { printf("expecting argument following -o \n"); } //copy file name outFile = argv[i+1]; fp = fopen(outFile, "w"); //write data from user to file if(!fp) { printf("Can not open %s \n" , outFile); return 0; } else //write to file fclose(fp); writeFlag = 1; } } /* * For this section we will be checking if there were 3 commands entered or 2 of each command OR * both of the read/write commands entered * IF ANY of these conditions occur we throw and error message to the user. */ if((primeFlag == 1 && reverseFlag == 1 && palidromeFlag == 1) || (primeFlag ==1 && reverseFlag == 1)|| (primeFlag == 1 && palidromeFlag == 1) || (reverseFlag ==1 && palidromeFlag == 1)) { printf("Please use only 1 command at a time. \n"); printf("Usage: ./prog [-p/-r/-d] –f filename –o filename \n"); //we are going to reset the flags to stop program flow. primeFlag = 0; reverseFlag = 0; palidromeFlag = 0; readFlag = 0; writeFlag = 0; /* * SECION 3 * This section of code is where all my manipulations on the files and the user input * happens. WE are also check certain conditions to differentate whether or not we * want to take user input or input to a file or write to a file */ } else if((primeFlag == 1) && (readFlag == 0)) { printf("You have selected finding a prime number. \n"); printf("Please enter a positive integer: \n"); scanf("%d", &x); primeCheckStorage = checkPrime(x); if(primeCheckStorage == -1) { printf("Please enter a positive integer. \n"); } else if(primeCheckStorage == 1) { printf("Number %d is a prime number. \n", x); } else { printf("Number %d is NOT a prime number. \n", x); } } else if((reverseFlag == 1)&& (readFlag == 0)) { printf("You have selected reversing a number. \n"); printf("Please enter the integer you wish to reverse: \n"); scanf("%d", &input); reverseNumStorage = reverseNum(input); printf("Reverse of %d is %d. \n", input, reverseNumStorage); } else if((palidromeFlag == 1) && (readFlag == 0)) { printf("You have selected checking if a number is a palindrome. \n"); printf("Please enter the integer you wish to check: \n"); scanf("%d" , &input); palindromeCheckStorage = palindrome(input); if( palindromeCheckStorage == 1) { printf("The number %d is a palindrome \n", input); } else { printf("The number %d is NOT a palidrome \n", input); } } if((readFlag == 1) && (primeFlag == 1)) { fp = fopen(inFile, "r"); fscanf(fp, "%d", &output); //if else (call the approbate function) if(primeFlag == 1) { primeCheckStorage = checkPrime(output); if(primeCheckStorage == -1) { printf("Please enter a positive integer. \n"); } else if(primeCheckStorage == 1) { printf("Number %d is a prime number. \n", output); } else { printf("Number %d is NOT a prime number. \n", output); } } fclose(fp); } if((readFlag == 1) && (reverseFlag == 1)) //reverse the number { fp = fopen(inFile, "r"); fscanf(fp, "%d", &output); reverseNumStorage = reverseNum(output); printf("Reverse of %d is %d. \n", output, reverseNumStorage); } if((readFlag == 1) && (palidromeFlag == 1)) //expcitely dictate this condition { fp = fopen(inFile, "r"); fscanf(fp, "%d", &output); palindromeCheckStorage = palindrome(output); //get the num from the function if( palindromeCheckStorage == 1) { printf("The number %d is a palindrome. \n",output ); } else { printf("The number %d is NOT a palindrome. \n", output); } } if(writeFlag == 1) { fp = fopen(outFile , "w"); if(!fp) { puts("cannot open data file!"); return 0; } //get data from user printf("Please enter a number to write to the file"); scanf("%s", inputData); fprintf(fp, "%s ",inputData); // write to the file } }