你的样例感觉有问题base=2above=1那么,设通话时间为t如果total>base那么total=base+(t-3)*abovet=(total-base)/above+3按你的例样,t=(4-2)/1+3应该是5,怎么也不可能是6的这个不是考C语言,而是考算法程序简单,参考#include<stdio.h>int main(){ int base,above,total,x; scanf("%d%d%d",&base,&above,&total); x=(total<base)?x=total/3:3+(total-base)/above; printf("%d\n",x); return 0;}