Cognizant Menu9>
- Cognizant Home
- Aptitude
- Aptitude Dashboard
- LCM and HCF
- Divisibility
- Number-Fraction
- Averages
- Ratio and Proportion
- Algebra
- Surds and Indices
- Profit and Loss
- Simple and Compound Interest
- Speed, Time and Distance
- Inverse
- Time and Work
- Allegations and Mixture
- Percentage
- Area,Shape and Perimeter
- Permutation and Combination
- Logarithm
- Probability
- Pipes and Cisterns
- Geometry,Co-ordinate Geometry
- Clocks and Calender
- Logical Reasoning
- Verbal Ability
- Communication Assessment
- Syllabus
- Recruitment Process
- Cognizant GenC Interview Experience
- Cognizant GenC Technical Interview
- Cognizant GenC HR Interview Questions
- Code Debugging
- Automata Fix
- Coding
- Advanced Coding
- Programmer Trainee Interview Questions
- CTS Interview Questions
PREPINSTA PRIME
Cognizant GenC Code Debugging Questions and Answers 2025
Cognizant GenC Code Debugging Questions and Solutions PDf 2025
Cognizant GenC has introduced some changes in its hiring process for 2025 pass-outs. They have introduced some new rounds, and 2 different hiring positions. Code Debugging was one of the most important round in Cognizant GenC Selection Process.Go through Cognizant Code Debugging Questions.
Here we have given some Sample Practice Questions for Cognizant GenC Code Debugging Section, prepare well for this section.
Important Information about Code Debugging in Cognizant GenC
This round will test your code analyzing and problem solving techniques. The questions in this section will mostly be related to number and string operations, data structures, and basic searching and sorting algorithms, you need to analyze that what part of the code is incorrect and then correct that faulty part.
Code Debugging Section | Details |
---|---|
Number of Questions | 20 |
Time Limits | 20 mins |
Difficulty Level | High |
Questions Based on |
|
Below we have provided some sample practice questions, based on the analysis of Code Debugging Section of CTS GenC, prepare well for this round
Sample Cognizant GenC Code Debugging Questions (CTS)
Question 1
Problem Statement – :
Check for syntax error/ logical error and correct the error to get the desired output.
The following code snippet finds out the last digit of a number entered by the user.
- For example– If the user enters a number 56, than the output will be 6
The code snippets accepts a single argument – num representing the number entered by the user.
The code snippet compiles successfully but fails to get the desired results for some test cases due to logical errors. Your task is to fix the code, so that it passess all the test cases
#include <stdio.h>
int main()
{
int num, LD;
printf(" Enter a number"4589);
scanf("%d", &num);
LD = num / 10;
printf(" \n The Last Digit of a Given Number %d = %d", num, LD);
return 0;
}
Correct Code
#include <stdio.h> int main() { int num, LD; printf(" Enter a number"); scanf("%d", &num); LD = num % 10; //this is the corrected statement printf(" \n The Last Digit of a Given Number %d = %d", num, LD); return 0; }
Question 2
Check for syntax error/ logical error and correct the error to get the desired output.
The function palindrome(int number) checks whether the number entered by the user is palindrome or not.A palindrome number is a number which remains the same when its digits are reversed
The function palindrome(int number) accepts a single argument, and print whether the number is palindrome or not.
The function palindrome(int number) compiles successfully but fails to get the desired results for some test cases due to logical errors. Your task is to fix the code, so that it passess all the test cases
void palindrome(int number) { int rev = 0,store, n1,left; n1=number; store= number; while (number > 0) { left= number/10; rev = rev + 10 * left; number=number%10; } if(n1==rev) printf("Number %d is Palindrome number",n1); else printf("it is not a Palindrome number"); }
void palindrome(int number)
{
int rev = 0,store, n1,left;
n1=number;
store= number;
while (number > 0)
{
left= number%10; //these are the correct lines
rev = rev * 10 + left; //these are the correct lines
number=number/10; //these are the correct lines
}
if(n1==rev)
printf("Number %d is Palindrome number",n1);
else
printf("it is not a Palindrome number");
}
Question 3
Check for syntax error/ logical error and correct the error to get the desired output.
The function sumOfValue(int len, int *arr, int value) adds up all the numbers of the entered array, which are completely divisible by the entered value,
- For example – If the entered array is arr{1,2,3,4,5}, and the entered value is 2, then the output will be 2+4 = 6.
The function sumOfValue(int len, int *arr, int value) accepts three inputs, that are – len which represents the length of the array, arr[] which represents the array of numbers and value which represents the value that will be entered by the user.
The function sumOfValue(int len, int *arr, int value) compiles successfully but fails to get the desired results for some test cases due to logical errors. Your task is to fix the code, so that it passes all the test cases
int sumOfValue(int len, int* arr, int value) { int sum = 0; for(int i =0 ; i < len; i++ ) { if(arr[i]%value == 0) sum =+ arr[i]; } return sum; }
int sumOfValue(int len, int* arr, int value) { int sum = 0; for(int i =0 ; i < len; i++ ) { if(arr[i]%value == 0) sum += arr[i]; //these are the correct lines } return sum; }
Question 4
Check for syntax error/logical error and correct the error to get the desired output.
The function search(int a[ ], int start, int last, int item) searches a certain value entered by the user in the entered array.
- For example – If the entered array is arr{1,2,3,4,5}, and the entered value is 2, then the output will be, item found at location 2. And if the entered value is 6, then the output will be item not found.
The function search(int a[ ], int start, int last, int item) accepts 4 inputs, that are – int a [ ] which represents the array, start which represents the start of the array, last which represents the last element of the list, and item that represents the .
The function search(int a[ ], int start, int last, int item) compiles successfully but fails to get the desired results for some test cases due to logical errors. Your task is to fix the code, so that it passes all the test cases
int Search(int a[], int start, int last, int item) { int mid; if(last >= start) { mid = (start + last)/2; if(a[mid] == item){ return mid+1; } else if(a[mid] < item){ return Search(a,start,mid+1,item); } else{ return Search(a,mid-1,last,item); } } return -1;
Corrected Code
int Search(int a[], int start, int last, int item) { int mid; if(last >= start) { mid = (start + last)/2; if(a[mid] == item){ return mid+1; } else if(a[mid] < item){ return Search(a,mid+1,last,item); // This line is correct. } else{ return Search(a,start,mid-1,item); // This line is correct. } } return -1; }
Question 5
Problem Statement – :
Check for syntax error/ logical error and correct the error to get the desired output.
The following code snippet converts a binary decimal into a decimal number.
- For example– If the user enters a number 1001, than the output will be 9
The code snippets accepts a single argument – num representing the number entered by the user.
The code snippet compiles successfully but fails to get the desired results for some test cases due to logical errors. Your task is to fix the code, so that it passess all the test cases
#include <stdio.h> int main() { int num, binary_val, decimal_val = 0, base = 1, rem; printf("Insert a binary num (1s and 0s) \n"); scanf("%d", &num); binary_val = num; while (num > 0) { rem = num % 10; decimal_val = decimal_val + rem * base; num = num / 2 ; base = base * 10; } printf("%d \n", binary_val); printf("%d \n", decimal_val); return 0; }
Corrected Code
#include<stdio.h> int main() { int num, binary_val, decimal_val = 0, base = 1, rem; printf("Insert a binary num (1s and 0s) \n"); scanf("%d", &num); binary_val = num; while (num > 0) { rem = num % 10; decimal_val = decimal_val + rem * base; num = num / 10 ; // This line is correct. base = base * 2; // This line is correct. } printf("%d \n", binary_val); printf("%d \n", decimal_val); return 0; }
Question 6
Problem Statement – :
Check for syntax error/ logical error and correct the error to get the desired output.
The following code snippet to Print the Fibonacci series up to the nth term.
- For example– If the user enters the number 15, then the output will be 15 Fibonacci numbers.
The code snippets accept a single argument – n representing the number entered by the user.
The code snippet compiles successfully but fails to get the desired results for some test cases due to logical errors. Your task is to fix the code so that it passes all the test cases
#include<stdio.h> int main() { int n; printf("Enter the value of n: "); scanf("%d", &n); int a = 0, b = 1; // printing the 0th and 1st term printf("%d, %d", a, b); int nextTerm; // printing the rest of the terms here for(int i = 2; i < n; i++){ nextTerm = a + b; a = nextTerm; b = a; printf(", %d", nextTerm); } return 0; }
Corrected Code
#include<stdio.h> int main() { int n; printf("Enter the value of n: "); scanf("%d", &n); int a = 0, b = 1; // printing the 0th and 1st term printf("%d, %d", a, b); int nextTerm; // printing the rest of the terms here for(int i = 2; i < n; i++){ nextTerm = a + b; a = b; // This line is correct. b = nextTerm; // This line is correct. printf(", %d", nextTerm); } return 0; }
Question 7
Problem Statement – :
Check for syntax error/ logical error and correct the error to get the desired output.
The following code snippet to Check whether a given year is leap year or not.
For example –
- If the user enters the year 2020 , then the output will be ” 2020 is a Leap Year “.
- If the user enters the year 2025 , then the output will be ” 2025 is not a Leap Year “.
The code snippets accept a single argument – year representing the number entered by the user.
The code snippet compiles successfully but fails to get the desired results for some test cases due to logical errors. Your task is to fix the code so that it passes all the test cases
#include<stdio.h> int main () { int year; scanf("%d",&year); if(year % 200 == 0) printf("%d is a Leap Year",year); else if(year % 4 == 0 && year % 200 != 0) printf("%d is a Leap Year",year); else printf("%d is not a Leap Year",year); return 0; }
#include<stdio.h> int main () { int year; scanf("%d",&year); if(year % 400 == 0) // This line is Correct. printf("%d is a Leap Year",year); else if(year % 4 == 0 && year % 100 != 0) // This line is correct. printf("%d is a Leap Year",year); else printf("%d is not a Leap Year",year); return 0; }
Question 8
Problem Statement – :
Check for syntax error/ logical error and correct the error to get the desired output.
The following code snippet to Check whether a character is a vowel or consonant.
For example –
- If the user enters the letter E , then the output will be ” E is a vowel “.
- If the user enters the letter F , then the output will be ” F is a consonant “.
The code snippets accept a single argument – c(character) representing the Alphabet entered by the user.
The code snippet compiles successfully but fails to get the desired results for some test cases due to logical errors. Your task is to fix the code so that it passes all the test cases
#include<stdio.h> int main() { char c; int isLowerVowel, isUpperVowel; printf("Enter an alphabet: "); scanf("%c",&c); isLowerVowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); isUpperVowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); if (isLowerVowel && isUpperVowel) printf("%c is a vowel", c); else if((c >= 'a' || c== 'A')&& c <= 'Z') printf("\n not a alphabet\n"); else printf("%c is a consonant", c); return 0; }
#include<stdio.h> int main() { char c; int isLowerVowel, isUpperVowel; printf("Enter an alphabet: "); scanf("%c",&c); isLowerVowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); isUpperVowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); if (isLowerVowel || isUpperVowel) This line is correct. printf("%c is a vowel", c); else if((c >= 'a' && c== 'A')&& c <= 'Z') This line is correct. printf("\n not a alphabet\n"); else printf("%c is a consonant", c); return 0; }
Question 9
Problem Statement – :
Check for syntax error/ logical error and correct the error to get the desired output.
The following code snippet To Reverse the element of the array.
For example –
- If the user enters the
No. of elements – 5 , then
Enter 5 elements:
1 2 3 4 5 - Output:
Array in Reverse:
5 4 3 2 1
The code snippets accept 2 arguments :
- Number of elements
- All 5 elements of array to be reversed
The code snippet fails to give the desired results for some test cases due to logical errors. Your task is to fix the code so that it passes all the test cases
#include<stdio.h> void printReverse(int arr[], int len){ for(int i = len + 1; i <= 0; i++) printf("%d ", arr[i]); } int main() { int len; printf("Enter the length of the array: "); scanf("%d", &len); int arr[len]; printf("Enter %d elements:\n", len); for (int i = 0; i < len; i++) { scanf("%d", &arr[i]); } printf("Array in Reverse:\n"); printReverse(arr, len); return 0; }
#include<stdio.h>
void printReverse(int arr[], int len){
for(int i = len - 1; i >= 0; i--) // This line is correct.
printf("%d ", arr[i]);
}
int main()
{
int len;
printf("Enter the length of the array: ");
scanf("%d", &len);
int arr[len];
printf("Enter %d elements:\n", len);
for (int i = 0; i < len; i++) {
scanf("%d", &arr[i]);
}
printf("Array in Reverse:\n");
printReverse(arr, len);
return 0;
}
Question 10
Problem Statement – :
Check for syntax error/ logical error and correct the error to get the desired output.
The following code snippet To Find out the Sum of Digits of a Number.
For example –
- Enter a number:
223153 - Output:
Sum: 16
The code snippets accepts 1 argument num : Number
The code snippet fails to give the desired results for some test cases due to logical errors. Your task is to fix the code so that it passes all the test cases
#include<stdio.h> int main () { int num, sum = 0; printf("Enter a number: "); scanf("%d",&num); while(num!=0){ sum =+ num % 10; num = num % 10; } //output printf("Sum: %d",sum); return 0; }
#include<stdio.h>
int main ()
{
int num, sum = 0;
printf("Enter a number: ");
scanf("%d",&num);
while(num!=0){
sum += num % 10; This line of code is correct.
num = num / 10; This line of code is correct.
}
printf("Sum: %d",sum);
return 0;
}
Login/Signup to comment