Lab 12
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

Lab 12 PowerPoint PPT Presentation


  • 75 Views
  • Uploaded on
  • Presentation posted in: General

Lab 12. Strings Recursion Note: Read the whole Chapter 9 and 10. Review of Strings. Strings in C are arrays of characters ended by the null character ‘\0’.

Download Presentation

Lab 12

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Lab 12

Lab 12

  • Strings

  • Recursion

    Note:

    Read the whole Chapter 9 and 10.


Review of strings

Review of Strings

  • Strings in C are arrays of characters ended by the null character ‘\0’.

  • String input is done using scanf with %s descriptor for strings seperated by whitespace, usings gets for input of whole lines, and using getchar for single character input.

  • String output is done using printf with %s descriptor; putchar does single character output.

    # include<stdio.h>

    void main(){

    char first_name[20],last_name[20],city[25];

    printf("Enter the city name:");

    gets(city);

    printf("Enter your last and first name :");

    scanf("%s %s",first_name,last_name);

    printf("Hi %s %s, you live in ",first_name,last_name);

    puts(city);}


Lab 12

//using getchar() and putchar

# include<stdio.h>

void main(){

char c;

printf("Enter a character:");

c= getchar();

putchar(c);}

//using strcat

# include<stdio.h>

# include <string.h>

void main(void)

{char ch1[15]="hello";

char *ch2=" Sir";

printf("Before %s\n" ,ch1);

strcat(ch1,ch2);

printf("After %s\n" ,ch1);

}


Lab 12

//using strncat

# include<stdio.h>

# include <string.h>

void main(void)

{char ch1[15]="hello";

char *ch2=" Sir";

printf("Before %s\n" ,ch1);

strncat(ch1,ch2,2);

printf("After %s\n" ,ch1);}

//using strlen()

# include<stdio.h>

# include <string.h>

void main(void)

{

char ch1[15]="hello";

char *ch2=" Sir";

printf("Before %s\n" ,ch1);

strncat(ch1,ch2,2);

printf("After %s, ch1 size %d \n" ,ch1,strlen(ch1));}


Lab 12

//using strcmp

# include<stdio.h>

# include <string.h>

void main(void)

{

char ch1[15]="Amal";

char *ch2="Yasmine";

int result;

result=strcmp(ch1,ch2);

if(result >0)

printf("ch1 after ch2 \n");

else if(result <0)

printf("ch1 before ch2 \n");

else

printf("the 2 strings are equal \n");}


Lab 12

  • Exercise1 :

    • use strncmp(string1,string2,lgmax);

    • use strnicmp(string1,string2,lgmax)

      # include<stdio.h>

      # include <string.h>

      void main(void)

      {char ch1[15]="AM";

      char *ch2="am";

      int result;

      result=stricmp(ch1,ch2);

      if(result >0)

      printf("ch1 after ch2 \n");

      else if(result <0)

      printf("ch1 before ch2 \n");

      else

      printf("the 2 strings are equal \n");}


Lab 12

//use of strncpy

# include<stdio.h>

# include <string.h>

void main(void)

{char ch1[15]="AAAAAAAAAAAAA";

char *ch2="BBBBB";

strncpy(ch1,ch2,5);

printf("ch1=%s\n",ch1);}

//use of atoi

# include<stdio.h>

# include <stdlib.h>

void main(void)

{

char ch1[15]="143";

printf("position=%d\n",atoi(ch1));}


Lab 12

//use of atof()

# include<stdio.h>

# include <stdlib.h>

void main(void)

{char ch1[15]="143.4";

printf("position=%.2f\n",atof(ch1));}

//use of strchr

# include<stdio.h>

# include <string.h>

# efine CAR 'e'

# define LGMAX 132

void main(void)

{char ch1[LGMAX+1];

char *adr;

int ncar;

printf("Enter a string ");

gets(ch1);

ncar=0;

adr=ch1;

while(adr==strchr(adr,CAR))

{ncar++;

adr++;

}printf(" the number of e is %d",ncar);}


Lab 12

  • Write a C program that deletes all the letters ‘e’ in a string and displays the new string (use strchr() and strcpy()).

  • Write a C program taht reads a string and displays it in reverse order.

    (use strlen() and putchar()).

  • Recursion

    # include<stdio.h>

    long facto(int n)

    {long result;

    if(n>1)

    result=facto(n-1)*n;

    else

    result=1;

    return result;}

    void main(void)

    {int n;

    printf("enter n :");

    scanf("%d",&n);

    printf("Factorial of %d is %ld \n",n,facto(n));

    }


Lab 12

  • Write a C program that use a recursive function to compute « Ackermann function » defined as following :

    • A(m,n)=A(m-1,A(m,n-1)) for m>0 and n >0

    • A(0,n)=n+1 for n>0

    • A(m,0)=A(m-1,1) for m> 0


  • Login