大佬求助,c语言样例都通过了却是0分

P1909 [NOIP2016 普及组] 买铅笔

@[zhang2017517161](/user/759746) [AC](https://www.luogu.com.cn/record/81326993)代码: ``` #include<stdio.h> int main() { int num,i,min=2147483647; int num1,pri1,num2,pri2,num3,pri3,price[3]; scanf("%d",&num); scanf("%d %d",&num1,&pri1); scanf("%d %d",&num2,&pri2); scanf("%d %d",&num3,&pri3); int a,b,c; a=num/num1; b=num/num2; c=num/num3; a=num%num1==0?a:a+1; b=num%num2==0?b:b+1; c=num%num3==0?c:c+1; price[0]=a*pri1; price[1]=b*pri2; price[2]=c*pri3; for(i=0;i<3;i++) { if(min>price[i]) { min=price[i]; } } printf("%d\n",min); return 0; } ``` ~~话说您样例真的过了吗。~~ **错误原因**待会说
by coldy_rainy @ 2022-07-27 10:09:50


@[zhang2017517161](/user/759746) **错误代码**:```int num,i,min;``` **正确代码**:```int num,i,min=2147483647;``` **错误原因**: 因为这是选**最小值**```min```,所以**初始值**应该要**尽量大**,而不是**未赋值时**默认的$0$。 我这里选的是``int``能表示的最大的数```INT_MAX```($2147483647$),用其他比较大的数也是一样的效果。
by coldy_rainy @ 2022-07-27 10:13:48


@[penhaochen](/user/526755) ~~说不定lz运气好样例真的过了~~。
by _cyle_King @ 2022-07-27 10:25:20


@[penhaochen](/user/526755) 全局变量未赋值时会是零,但是函数内的变量未赋值时是不确定的(随机的)。
by _cyle_King @ 2022-07-27 10:26:55


@[penhaochen](/user/526755) AC了,感谢感谢
by zhang2017517161 @ 2022-07-27 12:57:55


@[_cyle_King](/user/582035) 好的知道了,谢谢提醒
by zhang2017517161 @ 2022-07-27 13:02:53


@[zhang2017517161](/user/759746) 萌新想问一下楼主i代表的是什么 为什么要用 for(i=0;i<3;i++)
by KFCicecream @ 2022-09-20 22:59:39


|