我試圖在CodeChef問題上工作(問題鏈接:: http://www.codechef.com/problems/K2)。在移動到下一個測試用例之前,代碼應該爲每個測試用例輸入一個輸入,並顯示結果。但它只是在沒有任何輸出的情況下進行輸入。 我無法找出錯誤,因爲g ++編譯器沒有提供任何信息。Segmentaton Fault
#include <iostream>
#include <string>
#include <cstring>
#include <stdio.h>
using namespace std;
using std::string;
char baseArr[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
bool isPalin(string number)
{
int len=number.size();
bool flag=true;
for(int i=0; i<len/2, flag==true; i++)
{
if(number[i]==number[len-(i+1)])
continue;
else
{
flag=false;
}
}
return flag;
}
string baseChange(long int number, int base)
{
int i=1;
int rem=0;
string output =" ";
while(number>0)
{
rem=number%base;
number=number/base;
output=baseArr[rem]+output;
}
return output;
}
int main()
{
long int input;
int testcase;
string number;
int i;
bool palin=false;
scanf("%d", &testcase);
while(testcase--)
{
palin=false;
scanf("%ld", &input);
for(i=2; palin==false;i++)
{
{
palin=isPalin(baseChange(input, i));
}
}
printf("%d\n",i);
}
}
你得到什麼錯誤? –
爲什麼不直接通過調試器中的代碼直到找到該錯誤? –
@Shamim Hafiz - 沒有錯誤。 「但它只是在沒有任何輸出的情況下進行投入。」這只是表現不盡人意。 –