#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int main()
{
int n,x,y;
char ss[10],ans[50],k;
scanf("%n", &n);
for(int i = 0; i < n; i++){
scanf("%s", ss);
if(isalpha(ss)){
k = ss;
scanf("%d%d", &x, &y);
}else{
x = ss - '0';
scanf("%d", &y);
}
swtich(k){
case 'a':
sprintf(ans, '%d+%d=%d', x, y, x+y);
printf("\n%d\n",strlen(ans));
break;
case 'b':
sprintf(ans, '%d-%d=%d', x, y, x-y);
printf("\n%d\n",strlen(ans));
break;
case 'c':
sprintf(ans, '%d*%d=%d', x, y, x*y);
printf("\n%d\n",strlen(ans));
break;
}
}
return 0;
}
swtich语句那为啥总是报错??
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
qzjhjxj 2022-01-29 08:42关注修改如下,供参考:
#include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> int main() { int n, x, y; char ss[10], ans[50], k; //scanf("%n", &n); scanf("%s", ss); for (int i = 0; ss[i]; i++) { //for (int i = 0; i < n; i++) if (isalpha(ss[i])) { k = ss[i]; scanf("%d%d", &x, &y); } else { x = ss[i] - '0'; scanf("%d", &y); } switch(k) { //swtich(k) { case 'a': sprintf(ans, " % d + % d = % d", x, y, x + y); //sprintf(ans, '%d+%d=%d', x, y, x+y); printf("\n%d,%s\n", strlen(ans),ans); //printf("\n%d\n",strlen(ans)); break; case 'b': sprintf(ans, " % d - % d = % d", x, y, x - y); // sprintf(ans, '%d-%d=%d', x, y, x-y); printf("\n%d,%s\n", strlen(ans),ans); //printf("\n%d\n",strlen(ans)); break; case 'c': sprintf(ans, " % d * %d = % d", x, y, x * y); // sprintf(ans, '%d*%d=%d', x, y, x*y); printf("\n%d,%s\n", strlen(ans),ans); //printf("\n%d\n",strlen(ans)); break; default:break; //修改 } } return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报