# Introduction to Programming in C Week 3

**Session: JAN-APR 2024**

**Course Name: Introduction to Programming in C**

**Course Link: Click Here**

**For answers or latest updates join our telegram channel: Click here to join **

**These are Introduction to Programming in C Assignment 3 Answers**

**Question 1**

**Find moving average**

In this question, you have to output the “two moving average” of a sequence of non-negative numbers.

The two moving average is the sequence of averages of the last 2 entries.

For the first number, no average is output.

For example, if the sequence of numbers is a1,a2,a3,a4,a5

The 2-moving average is (a1+a2)/2,(a2+a3)/2,(a3+a4)/2,(a4+a5)/2

**Input**

The input is a sequence of non-negative numbers, terminated by a -1.

There will be at least 3 numbers in the sequence.

Note: The -1 is not part of the sequence. It is just to indicate that the input has ended.**Output**

You have to output the moving average of the sequence. The output should be printed correct to one digit after the decimal.

Hint: Use the format specifier “%.1f” inside printf.

**Solution:**

```
#include <stdio.h>
int main() {
double current, prev, twoMovingAverage;
scanf("%lf", &prev);
scanf("%lf", ¤t);
while (current != -1) {
twoMovingAverage = (prev + current) / 2.0;
printf("%.1f ", twoMovingAverage);
prev = current;
scanf("%lf", ¤t);
}
return 0;
}
```

**For answers or latest updates join our telegram channel: Click here to join **

**These are Introduction to Programming in C Assignment 3 Answers**

**Question 2**

**Prime Checking**Complete the function

**int is_prime(int n)**to check if a positive number n is prime or not.

The function returns 1 if n is prime, and 0 otherwise.

The function will be used in a program (code given) that prints the prime numbers in a given sequence.

**Input**

——-

The first line of input is a positive integer N.

The next line contains N positive integers ki for i=1 to N.**Output**

———

The elements in the input list which are primes, in the original order.

**Solution:**

```
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int N;
scanf("%d", &N);
int sequence[N];
for (int i = 0; i < N; i++) {
scanf("%d", &sequence[i]);
}
for (int i = 0; i < N; i++) {
if (is_prime(sequence[i])) {
printf("%d ", sequence[i]);
}
}
return 0;
}
```

**For answers or latest updates join our telegram channel: Click here to join **

**These are Introduction to Programming in C Assignment 3 Answers**

**Question 3**

**Find the kth Odd integer in sequence**

Write a C function to find the kth occurrence of an odd integer in a sequence of non-negative integers.

**Input**

You are given the input in two lines:

The first line contains a positive integer k.

In the second line, you will be given a sequence of numbers terminated with a -1.

You have to find the kth occurrence of an odd integer in the sequence.

Note: The -1 is not part of the sequence.**Output**

If there are k odd numbers in the sequence, then output the kth occurrence of an odd number in the sequence, if present. If there are less than k odd numbers in the sequence, output -1.

**Solution:**

```
#include <stdio.h>
int find_kth_odd(int k, int sequence[]) {
int countOdd = 0;
for (int i = 0; sequence[i] != -1; i++) {
if (sequence[i] % 2 != 0) {
countOdd++;
if (countOdd == k) {
return sequence[i];
}
}
}
return -1;
}
int main() {
int k;
scanf("%d", &k);
int sequence[100];
int num, i = 0;
while (1) {
scanf("%d", &num);
if (num == -1) {
break;
}
sequence[i++] = num;
}
int result = find_kth_odd(k, sequence);
printf("%d", result);
return 0;
}
```

**For answers or latest updates join our telegram channel: Click here to join **

**These are Introduction to Programming in C Assignment 3 Answers**

More Solutions of Introduction to Programming in C: Click Here

More NPTEL Solutions: https://progiez.com/nptel-assignment-answers/

**Session: JAN-APR 2023**

**Course Name: Introduction to programming in C**

**Course Link: Click Here**

**These are Introduction to Programming in C Assignment 3 Answers**

**Question 1**

**Complete the function int find_factorial(int k) to find the factorial of the positive number k.**

The factorial of a positive integer k, denoted by k!, is the product of all positive integers less than or equal to k.

k!=k×(k−1)×⋯×1.

**Input**

The first line of input is a positive integer N.

The next line contains N positive integers ki for i=1 to N.

**Output**

For each ki given as input, print factorial of ki.

The factorial of a positive integer k, denoted by k!, is the product of all positive integers less than or equal to k.

**Code:-**

```
#include <stdio.h>
int find_factorial(int k){
int i,f = 1;
for(i=1;i<=k;i++)
f*=i;
return f;
}
int main(){
int n,k;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&k);
printf("%d ", find_factorial(k));
}
return 0;
}
```

**These are Introduction to Programming in C Assignment 3 Answers**

Question 2

**Write a C function to find the kth occurrence of an odd integer in a sequence of non-negative integers, and then call your function from main.Your function should be according to the following declaration:int find_odd(int k);**

**Input**

——–

You are given the input in two lines:

The first line contains a positive integer k.

In the second line, you will be given a sequence of numbers terminated with a -1.

You have to find the kth occurrence of an odd integer in the sequence.

Note: The -1 is not part of the sequence.

**Output**

———-

If there are k odd numbers in the sequence, then output the kth occurrence of an odd number in the sequence, if present. If there are less than k odd numbers in the sequence, output -1.

Sample Input

——————

2

1 4 3 6 5 2 3 4 1 -1

Sample Output

——————–

3

**These are Introduction to Programming in C Assignment 3 Answers**

**Code:-**

```
#include <stdio.h>
int find_odd(int k){
int x0=1,cnt=0;
while(x0!=-1)
{
scanf("%d",&x0);
if(x0%2)
++cnt;
if(cnt==k)
{
return x0;
break;
}
}
return -1;
}
int main(){
int k;
scanf("%d",&k);
printf("%d",find_odd(k));
return 0;
}
```

**These are Introduction to Programming in C Assignment 3 Answers**

**Question 3**

**The two moving average is the sequence of averages of the last 2 entries.For the first number, no average is output.For example, if the sequence of numbers is a1,a2,a3,a4,a5The 2-moving average is (a1+a2)/2,(a2+a3)/2,(a3+a4)/2,(a4+a5)/2.**

**Code:-**

```
#include <stdio.h>
int main()
{
int x0,x1;
scanf("%d",&x0);
while(1)
{
scanf("%d",&x1);
if(x1==-1)
break;
printf("%.1f ",((x0+x1)/2.0));
x0=x1;
}
return 0;
}
```

**These are Introduction to Programming in C Assignment 3 Answers**

More Weeks of Introduction to Programming in C: Click Here

More Nptel courses: https://progiez.com/nptel

**These are Introduction to Programming in C Assignment 3 Answers**