[英]Multiple test case in c program not working
我正在用C編寫程序,以檢查給定數組中有多少個元素小於或等於同一數組中的特定元素。
t
=測試用例數
n
=數組大小
k
=該元素數組的索引,所有元素都必須與之比較
j
=小於或等於數組元素k
的元素k
for (i = 1; i <= t; i++)
{
scanf("%d", &n);
scanf("%d", &k);
for (i = 1; i <= n; i++)
{
scanf("%d", &arr[i]);
}
for (l = 1; l <= n; l++)
{
if (arr[l] <= arr[k])
{
j++;
}
}
printf("%d\n", j);
fflush(stdin);
}
但是問題是我的程序僅在一種情況下運行。 之后,它終止。 為什么會這樣呢? 為什么在2、3、4 ...測試用例中沒有運行此功能?
您有一個使用變量i
的外循環,也有一個使用(並修改)相同變量i
的內循環。 當內循環完成時,我假設i
大於t
因此外循環也結束了。 如果您使用了更有意義的變量名,則可能更容易避免此錯誤。
這是修剪掉的代碼以顯示問題:
for (i = 1; i <= t; i++)
{
for (i = 1; i <= n; i++)
{
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.