结果正确有没有大佬解释下C语言错哪了

P8834 [传智杯 #3 决赛] 序列

问题比较多 1.你的第二个 $for$ 循环里面的 $i$ 从 $1$ 开始了 你应该从 $0$ 开始循环才对 2.你的第二个 $for$ 循环里面的 $j$ 循环里面的 $if$ 并没有把 $sum$ 扩进去 无论如何 $sum++$ 这一句都会运行 这两个错误叠加起来使你的程序碰巧通过了样例 其实错的挺离谱的 ```c #include<stdio.h> int main() { long long int n,k,i; long long int sum=0; scanf("%lld %lld",&n,&k); long long int a[1234]={0}; for(i=0;i<n;i++) { scanf("%lld",&a[i]); } for(int i=0; i<n; i++) { for(int j=i+1; j<n; j++) { if(a[i]*a[j]<=k) { sum++; } } } printf("%lld",sum); return 0; } ```
by LYRT_Subway @ 2024-03-28 17:28:43


@[dzy35040124](/user/1184691) 怎么不回复(
by LYRT_Subway @ 2024-05-05 17:02:19


|