Skip to content

Commit 16cf02f

Browse files
ashwekMadhavBahl
authored andcommitted
Day 14 - C (#146)
* Create sum_of_digits.c * Create product_of_2_numbers.c * Update README.md
1 parent af75f9c commit 16cf02f

File tree

3 files changed

+137
-1
lines changed

3 files changed

+137
-1
lines changed

day14/C/product_of_2_numbers.c

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
* @author: ashwek
3+
* @date: 8/1/2019
4+
*/
5+
6+
#include <stdio.h>
7+
8+
int product(int a, int b){
9+
10+
if( a == 0 || b == 0 )
11+
return 0;
12+
else if( a == 1 )
13+
return b;
14+
else if( b == 1 )
15+
return a;
16+
17+
if( a < 0 && b < 0 )
18+
return product(-a, -b);
19+
else if( a < 0 )
20+
return product(b, a);
21+
else
22+
return b + product(a-1, b);
23+
24+
}
25+
26+
void main(){
27+
28+
int a, b;
29+
30+
printf("Enter 1st number = ");
31+
scanf("%d", &a);
32+
printf("Enter 2nd number = ");
33+
scanf("%d", &b);
34+
35+
printf("%d x %d = %d\n", a, b, product(a, b));
36+
37+
}

day14/C/sum_of_digits.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/*
2+
* @author: ashwek
3+
* @date: 8/1/2019
4+
*/
5+
6+
#include <stdio.h>
7+
8+
int sum(int num) {
9+
if( num <= 0 ){
10+
return 0;
11+
}
12+
return (num%10) + sum(num/10);
13+
}
14+
15+
void main(){
16+
17+
int num;
18+
19+
printf("Enter a number = ");
20+
scanf("%d", &num);
21+
22+
printf("Sum of digits = %d\n", sum(num));
23+
24+
}

day14/README.md

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,37 @@ public class SumDigits {
9090
}
9191
```
9292

93+
### C Implementation
94+
95+
#### [Solution](./C/sum_of_digits.c)
96+
97+
```c
98+
/*
99+
* @author: ashwek
100+
* @date: 8/1/2019
101+
*/
102+
103+
#include <stdio.h>
104+
105+
int sum(int num) {
106+
if( num <= 0 ){
107+
return 0;
108+
}
109+
return (num%10) + sum(num/10);
110+
}
111+
112+
void main(){
113+
114+
int num;
115+
116+
printf("Enter a number = ");
117+
scanf("%d", &num);
118+
119+
printf("Sum of digits = %d\n", sum(num));
120+
121+
}
122+
```
123+
93124
<hr />
94125
95126
## Part B - Product of numbers
@@ -177,4 +208,48 @@ public class Product {
177208
System.out.println("Product of numbers " + num1 + " and " + num2 + " is: " + recursiveProd(num1, num2));
178209
}
179210
}
180-
```
211+
```
212+
213+
### C Implementation
214+
215+
#### [Solution](./C/product_of_2_numbers.c)
216+
217+
```c
218+
/*
219+
* @author: ashwek
220+
* @date: 8/1/2019
221+
*/
222+
223+
#include <stdio.h>
224+
225+
int product(int a, int b){
226+
227+
if( a == 0 || b == 0 )
228+
return 0;
229+
else if( a == 1 )
230+
return b;
231+
else if( b == 1 )
232+
return a;
233+
234+
if( a < 0 && b < 0 )
235+
return product(-a, -b);
236+
else if( a < 0 )
237+
return product(b, a);
238+
else
239+
return b + product(a-1, b);
240+
241+
}
242+
243+
void main(){
244+
245+
int a, b;
246+
247+
printf("Enter 1st number = ");
248+
scanf("%d", &a);
249+
printf("Enter 2nd number = ");
250+
scanf("%d", &b);
251+
252+
printf("%d x %d = %d\n", a, b, product(a, b));
253+
254+
}
255+
```

0 commit comments

Comments
 (0)