> For the complete documentation index, see [llms.txt](https://mun.gitbook.io/ad/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mun.gitbook.io/ad/spl/sample-questions.md).

# Sample Questions

## Output Tracing

```c
#include <stdio.h>
int main() {
    int a = 10;
    
    printf("%d %d %d\n", a, a, a);       //10 10 10 //10
    printf("%d %d %d\n", a++, a++, a++); //12 11 10 //12
    printf("%d %d %d\n", ++a, ++a, ++a); //16 16 16 //16
    printf("%d %d %d\n", a++, ++a, a++); //18 19 16 //19
    printf("%d %d %d\n", ++a, a++, ++a); //22 20 22 //22
    
    return 0;
}
```

```c
#include <stdio.h>
int main() {
    int a = 10;
    int *b = &a;
    
    printf("%d %d %d\n", a, a, a);       //10 10 10 //10
    printf("%d %d %d\n", a++, a++, a++); //12 11 10 //13
    printf("%d %d %d\n", ++a, ++a, ++a); //16 15 14 //16
    printf("%d %d %d\n", a++, ++a, a++); //18 18 16 //19
    printf("%d %d %d\n", ++a, a++, ++a); //22 20 20 //22
    
    return 0;
}
```

```c
#include <stdio.h>
int main() {
    int a = 10;
    int *b = &a;
    int **c = &b;
    
    printf("%d %d %d\n", a, a, a);       //10 10 10 //10
    printf("%d %d %d\n", a++, a++, a++); //12 11 10 //13
    printf("%d %d %d\n", ++a, ++a, ++a); //16 15 14 //16
    printf("%d %d %d\n", a++, ++a, a++); //18 18 16 //19
    printf("%d %d %d\n", ++a, a++, ++a); //22 20 20 //22
    
    return 0;
}
```

```c
#include <stdio.h>
int main() {
    int a = 10;
    int *b = &a;
    int **c = &b;
    
    printf("%d %d %d\n", a, *b, **c);//10 10 10 //10
    printf("%d %d %d\n", ++a, ++a, ++a);//13 12 11 //13
    printf("%d %d %d\n", ++a, ++(*b), ++(**c));//16 15 14 //16
    printf("%d %d %d\n", a++, (*b)++, (**c)++);//18 17 16 //19
    printf("%d %d %d\n", a++, ++(*b), (**c)++);//21 21 19 //22
    printf("%d %d %d\n", ++a, (*b)++, ++(**c));//25 23 23 //25
    
    return 0;
}
```

```c
#include <stdio.h>
int main() {
    int a = 5, x = 0;
    
    a = 5;
    x = a++ + a++ + a++ + a++;
    printf("X = %d \tA=%d\n", x, a); //X = 26 	A=9
    
    a = 5;
    x = a++ + a++ - a++ + a++;
    printf("X = %d \tA=%d\n", x, a); //X = 12 	A=9
    
    a = 5;
    x = a++ + a++ * a++ + a++;
    printf("X = %d \tA=%d\n", x, a); //X = 55 	A=9
    
    a = 5;
    x = a++ + a++ - a++ * a++;
    printf("X = %d \tA=%d\n", x, a); //X = -45 	A=9
    
    a = 5;
    x = a++ + a++ * a++ * a++;
    printf("X = %d \tA=%d\n", x, a); //X = 341 	A=9

    return 0;
}
```

```c
#include <stdio.h>
int main() {
    int a = 5, x = 0;
    
    a = 5;
    x = ++a + ++a + ++a + ++a;
    printf("X = %d \tA=%d\n", x, a); //X = 31 	A=9
    
    a = 5;
    x = ++a + ++a - ++a + ++a;
    printf("X = %d \tA=%d\n", x, a); //X = 15 	A=9
    
    a = 5;
    x = ++a + ++a * ++a + ++a;
    printf("X = %d \tA=%d\n", x, a); //X = 81 	A=9
    
    a = 5;
    x = ++a + ++a - ++a * ++a;
    printf("X = %d \tA=%d\n", x, a); //X = -67 	A=9
    
    a = 5;
    x = ++a + ++a * ++a * ++a;
    printf("X = %d \tA=%d\n", x, a); //X = 585 	A=9

    return 0;
}
```

```c
#include <stdio.h>
int main() {
    int a = 5, x = 0;
    
    a = 5;
    x = a++ + ++a + a++ + ++a;
    printf("X = %d \tA=%d\n", x, a); //X = 28 	A=9
    
    a = 5;
    x = a++ + ++a - ++a + a++;
    printf("X = %d \tA=%d\n", x, a); //X = 12 	A=9
    
    a = 5;
    x = ++a + a++ * ++a + ++a;
    printf("X = %d \tA=%d\n", x, a); //X = 65 	A=9
    
    a = 5;
    x = ++a + a++ - a++ * ++a;
    printf("X = %d \tA=%d\n", x, a); //X = -50 	A=9
    
    a = 5;
    x = ++a + a++ * ++a * ++a;
    printf("X = %d \tA=%d\n", x, a); //X = 441 	A=9

    return 0;
}
```

```c
#include <stdio.h>
int main() {
    int a = 10, b = 5;
    
    printf("%d\n", a || ++b);
    printf("%d\n", b);
    
    return 0;
}
```

```c
#include <stdio.h>
int main() {
    int a = 100;
    char b = a*3;
    
    printf("%d\n", a);
    printf("%d\n", b);
    
    return 0;
}
```

```c
#include<stdio.h>
int main()
{
    int a = 15, b = 4; // practice for 0 <= b <= 20
    printf("%d\n", a % b);
    printf("%d\n", a % -b);
    printf("%d\n", -a % b);
    printf("%d\n", -a % -b);
    
    return 0;
}
```

```c
#include <iostream>
using namespace std;
int main() {
    string cars[4] = {"Apple", "Blueberry", "Banana", "Cherry", "Mango"}; 
    
    cout<<cars[3];
    cout<<cars[2];

    return 0;
}
```

## Write C Programs for the following questions:

* Write down a function that will check whether a year is a leap year or not
* Write a program to calculate factorial
* Write a pseudo code to identify whether a given sequence is palindrome or not using stack and queue. You do not need to write code to implement stack and queue.
* Compute the sum of palindrome numbers between 100 and 999
* Write a function to reverse a string without using a global variable
  * Write down a method in C++ to reverse a char array. You are not permitted to use temp array and STL lib function.
* Find the number of integers not divisible by 3, 5, or 7 which are <= 100
* Write a program using a pointer to insert a number in a sorted list, it was forbidden to use array notation like array\[], all should be done by pointer notation.
* Write a function that takes an integer number and separates each digit using recursion

## Write pseudocode

* Test whether a list is sorted or not
*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://mun.gitbook.io/ad/spl/sample-questions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
