2013-02-11 113 views
1

为什么这段代码无效?xcode scanf不能正常工作c

基本点子:

每辆车可以有4人在里面。每列火车的第一辆车长10英尺,其后每辆长8英尺。 列车只能占据轨道总长度的25%。
目标是打印出可以填充火车轨道的最大人数,以及用户输入的最大轨道长度和最大列车长度。

//Roller Coaster Capacity 
//Justin Castillo, Section 1, COP 3223, 2/9/2013 
//This program calculates the maximum number of people that can be on the 
//track at one time. 

int main(void) { 

    int max_people_train; 
    int num_cars_train; 
    int total_num_trains; 
    int max_length_track; 
    int max_length_train; 
    int max_people_track; 
    int prev_max_people_track; 
    int prev_total_num_trains, i; 

    printf("Please enter the track length:\n"); 
    scanf("%d", &max_length_track); 

    printf("Please enter the max length of the train:\n"); 
    scanf("%d", &max_length_train); 

    for (i=10; i<=max_length_train; i+8) { 
     num_cars_train = ((i-10)/8 +1); 
     max_people_train = (num_cars_train)*4; 
     total_num_trains = max_length_track/i; 
     max_people_track = total_num_trains*max_people_train; 

     prev_max_people_track = prev_total_num_trains * max_people_train; 
     prev_total_num_trains = max_length_track/(i-8); 

     if (prev_max_people_track > max_people_track) 
      max_people_track = prev_max_people_track; 
    } 



    printf("Your ride can have at most %d people on the track,\n", max_people_track); 
    printf("This can be achieved with trains of %d cars.\n", num_cars_train); 


    system("pause"); 
    return 0; 
} 

回答

1

我猜它有事情做与此:

for (i=10; i<=max_length_train; i+8) { 
// ============================^^^ WTF ? 

尝试:

for (i=10; i<=max_length_train; i+=8) { 
+0

谢谢伙计! – user2044189 2013-02-11 03:58:49

+0

@ user2044189如果这个答案解决了你的问题,你应该接受它作为正确的答案。常见问题的这一部分[我如何在这里提问?](http://stackoverflow.com/faq#howtoask)解释了如何做到这一点。 – Nocturno 2013-02-11 04:20:23

+0

@Nocturno我怀疑他已经走了很久,但我当然很欣赏你的投票权,先生。谢谢。 – WhozCraig 2013-02-11 04:21:40