TCS - 1
TCS - 1
2
TCS Technical round
• Coding round
– 20 Minutes
– One C program
3
Coding platform
4
Coding platform - Instructions
5
Coding platform - Instructions
• We must only print exact output.
• Output must not be re-framed by extra words.
• If there is any error, the error will be shown in the output
dialog box.
• The errors are clearly mentioned.
• If there are no errors, a message like "compiled successfully"
will be printed.
• Along with that they will mention four test cases are 'passed'
or 'failed'. They are indicated like private and public test
cases. They have not mentioned what is the test case, which is
difficult to understand.
• There is no time limit. But, when all the 10 attempts are over,
a message like "attempts exhausted" will be shown.
• To compile and run there is a button provided. To run the
code, just click on that.
6
We can't use any input functions like
scanf(), getch(), getchar().
The input to be provided should be
read as command line arguments.
7
int main(int argc, char *argv[])
COMMAND LINE ARGUMENTS IN C:
main() function of a C program accepts arguments from command
line or from other shell scripts by following commands.
They are argc and argv[]
where,
argc – Number of arguments in the command line
including program name (integer).
argv[] – This is carrying all the arguments including
program name (pointer array ).
8
command line arguments
#include <stdio.h>
int main(int argc, char *argv[]) //command line arguments
{
printf("\n Program name : %s \n", argv[0]);
printf("1st arg : %s \n", argv[1]);
printf("2nd arg : %s \n", argv[2]);
return 0;
}
9
PROGRAMS
Program 1:
Factorial program in c using command line arguments.
10
#include<stdio.h>
int main(int a, char *b[]) //command line arguments
{
Int x,y,f=1;
x=atoi(b[1]);
for(i=1;i<=x;i++)
{
f=f*i;
}
printf("%d",f);
return 0;
}
//atoi function is to convert a character to integer
11
Program 2:
Write a c program, to find the area of a circle
when the diameter is given, using command
line arguments.
The input diameter is an integer and the output
area should be a floating point variable with 2
point precision
12
#include<stdio.h>
#define PI 3.14
int main(int a, char *b[]) //command line arguments
{
int d;
float area =0;
d= atoi(argv[1]);
area =(float) PI*(d/2)*(d/2);
printf(“%0.2f", area);
return 0;
}
%0.2f is to print the answer with 2 values after decimal
point.
13
Program 3:
Write a c program, to check whether the given
year is a leap year or not using command line
arguments.
A leap year is a calendar year containing one
additional day (Feb 29th) added to keep the
calendar year synchronized with
the astronomical year.
14
#include<stdio.h>
int main(int a, char*b[])
{
Int year;
year=atoi(b[1]);
if(year%100==0){
if(year%400==0)
{ printf(“LEAP YEAR”); }
else{ printf(“NOT LEAP YEAR”); }
}
else if(year%4==0)
{ printf(“LEAP YEAR”); }
else{ printf(“NOT LEAP YEAR”); }
return 0;
} 15
Program 4:
Write a c program, to find the GCD of the given
2 numbers, using command line arguments.
The input is 2 integer and the output GCD also
should be an integer value.
16
#include<stdio.h> if((a%i==0)&&(b%i==0))
int main(int x, char *y[]) {
{ printf("%d",i);
inta,b,small,i; break;
a=atoi(y[1]); }
b=atoi(y[2]); }
small=a>b?b:a; return 0;
for(i=small;i>=1;i--) }
{
17
Try more basic level programs using
command line arguments
18
1) How many times the below loop will be executed?
#include<stdio.h>
int main() {
int x, y;
for(x=5;x>=1;x--)
{
for(y=1;y<=x;y++)
printf("%d\n",y);
}
}
19
Options
A. 15
B. 11
C. 10
D. 13
20
2) Where the local variables are stored?
A. Disk
B. Stack
C. Heap
D. 13
21
3) Select the missing statement?
#include<stdio.h>
long int fact(int n);
int main()
{
\\missing statement
}
long int fact(int n)
{
if(n>=1)
return n*fact(n-1);
else
return 1;
}
22
Options
A. printf(“%ll\n",fact(5));
B. printf("%u\n",fact(5));
C. printf("%d\n",fact(5));
D. printf("%ld\n",fact(5));
23
4) Which of the following indicate the end of the file?
A. Feof()
B. EOF
24
5) If a function’s return type is not explicitly defined
then it’s default to ______ (In C).
A. int
B. float
C. void
D. Error
25
6) For passing command line argument the main
function should be like _______
26
7) How many times the below loop will be executed?
#include<stdio.h>
int main()
{
int i;
for(i=0;i<5;i++)
{
printf("Hello\n");
}
}
27
Options
A. 5
B. 1
C. 0
D. 3
28
8) Which of the following is a User-defined data type?
A. long int
B. double
D. enum
29
9) Which has the highest precision?
A. float
B. double
D. Long int
30
Floating point types
types with storage sizes and value ranges and their precision −
31
10) What will be the output/error?(for input: 6, 9
#include<stdio.h> {
int fg(int,int); while(x!=y)
int main() {
{ if(x>y)
int n1,n2,g; return fg(x-y,y);
scanf("%d%d", else
&n1,&n2); return fg(x,y-x);
g=fg(n1,n2); }
printf("%d",g); return x;
} }
int fg(int x,int y)
32
Options
A. 3
B. 6
C. 9
D. Error
33
Tips to Crack Test
34