我正在尝试提交有关codechef“https://www.codechef.com/problems/FLOW009”的答案 这是我的代码。
#include <stdio.h>
int main()
{
int t, i;
scanf("%d",&t);
i=t;
float qty[t], per[t], sum[t];
do{
scanf("%f %f", &qty[t-1], &per[t-1]);
sum[t-1] = qty[t-1] * per[t-1];
if(qty[t-1] > 1000 )
{
sum[t-1] = sum[t-1] - (sum[t-1]*10)/100;
}
}while(--t);
do{
printf("%f\n", sum[i-1]);
}while(--i);
return 0;
}
它再次告诉我,我的解决方案是错误的,我无法理解。我不能在那里提问,因为我的业力较少。
答案 0 :(得分:0)
两件事:
永远不要存储每个测试用例的值,直到告知有时测试用例可能很大,为每个测试用例计算和打印输出。这可以节省内存,时间和混乱。
为什么要处理太多的代码和混乱,可以用几行代码完成。
见:
#include <stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int p,q;
scanf("%d %d",&q,&p);
float ans=(float)q*p;
if(q>1000)
ans-=(ans/10);
printf("%f\n",ans);
}
return 0;
}
答案 1 :(得分:0)
您无法将int扫描为字符串。 sscanf()函数根据指定的格式字符串扫描字符串。此代码可能会使用更多错误检查。
Select *
FROM TableName t
WHERE NOT EXISTS (SELECT 1
FROM TableName
WHERE [State] = t.[State]
AND [Group] = t.[Group]
AND [Status] = 'AC')