Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- int main(){
- char inp[512];
- int i, j, len, is_constant, point, expo, plus, minus, after_e;
- start:
- i = 0;
- j = 0;
- len = 0;
- is_constant = 1;
- point = 0;
- expo = 0;
- plus = 0;
- minus = 0;
- after_e = 0;
- printf("Enter Constant: ");
- scanf("%[^\n]s", inp);
- len = strlen(inp);
- for(i = 0; i < len; i++){
- // Check for digits and .
- if(!((inp[i] >= '0' && inp[i] <= '9') || inp[i] == '.' || inp[i] == '-' || inp[i] == '+' || inp[i] == 'E' || inp[i] == 'e')){
- is_constant = 0;
- break;
- }
- // Check for Multiple .
- if(inp[i] == '.'){
- point++;
- if(point > 1){
- is_constant = 0;
- break;
- }
- }
- if(inp[i] == 'E' || inp[i] == 'e'){
- expo++;
- if(expo > 1){
- is_constant = 0;
- break;
- }
- }
- if(inp[i] == '+'){
- plus++;
- if(plus > 1){
- is_constant = 0;
- break;
- }
- }
- if(inp[i] == '-'){
- minus++;
- if(minus > 1){
- is_constant = 0;
- break;
- }
- }
- }
- if(is_constant == 1 && expo == 1){
- for(i = 0; i < len; i++){
- // Plus Minus out of E
- if(inp[i] == '-' || inp[i] == '+'){
- is_constant = 0;
- break;
- }
- if(inp[i] == 'E' || inp[i] == 'e'){
- // More Checks
- for(j = i; j < len; j++){
- after_e++;
- }
- }
- }
- if(expo > 0 && after_e == 1){
- is_constant = 0;
- }
- }
- if(is_constant == 1 && len > 0){
- printf("Constant\n\n");
- }else{
- printf("Not a Constant\n\n");
- }
- fflush(stdin);
- goto start;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement