输入语句scanf("%f,%f,%d",&p,&w,&s);
你写的输入格式是 %f,%f,%d 所以你输入的时候,数据只能是逗号,否则就错误。
一般情况输入语句改为scanf("%f%f%d",&p,&w,&s); 这样输入的时候就可以用空格隔开。
呵呵,用WIN_TC帮你编译了一下,没有什么错误啊!只是我觉得这个程序的循环中,C的值只有到11,那12的呐?即当if(s>=3000)c=12;成立的时候,d的值该等于多少呢?
switch 语句里面漏了个case 12,所以每次把距离设为3000以上就会报错
或者你加个default也行