1 / 10

Lab 12

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 ‘’.

xenon
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lab 12 • Strings • Recursion Note: Read the whole Chapter 9 and 10.

  2. 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);}

  3. //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); }

  4. //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));}

  5. //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");}

  6. 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");}

  7. //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));}

  8. //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);}

  9. 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)); }

  10. 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

More Related