07/07/07 18:30:38
>>316(・3・) エェー 足し算と引き算だけNE
#include<stdio.h>
#include<ctype.h>
int calc(int ans, int i, int op){
switch( op ){
case 0: return ans + i;
case 1: return ans - i;
}
return ans;
}
main(){
char c[256];
char *p;
int i, op = 0, ans = 0;
printf("Enter a number:");
fgets(c, sizeof(c), stdin);
p = c;
while(*p != '\0'){
i = 0;
while(isdigit(*p)){
i = i*10+(*p)-48;
p++;
}
ans = calc(ans, i, op);
if(*p == '+')op = 0;
else if(*p == '-')op = 1;
else op = -1;
p++;
}
printf("You have entered: %d\n", ans);
return 0;
}