請問為何輸入5跟35時輸出值是55?
我檢查過程序 但找不到原因 請求各位的協助 謝謝
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int a;
int sum=0;
while(cin>>a)
{
for(int b=1;b<=a;b++)
{
int x,y;
cin>>x>>y;
for(int k=1;k<=sqrt(y);k++)
{
if(x<=k*k&&y>=k*k)
{
sum=sum+k*k;
}
}
cout<<"Case "<<b<<": "<<sum<<endl;
}
}
return 0;
}
你的 sum 並沒有歸零,
所以輸入下一筆測資時還會保留著上一筆測資的紀錄唷~希望有幫助到你~ OwO
sum計算完要初始化為0
請問為何輸入5跟35時輸出值是55?
我檢查過程序 但找不到原因 請求各位的協助 謝謝
#include
#include
using namespace std;
int main()
{
int a;
int sum=0;
while(cin>>a)
{
for(int b=1;b<=a;b++)
{
int x,y;
cin>>x>>y;
for(int k=1;k<=sqrt(y);k++)
{
if(x<=k*k&&y>=k*k)
{
sum=sum+k*k;
}
}
cout<<"Case "<<b<<": "<<sum<<endl;
}
}
return 0;
}
計算完一次初始化一次