Professional Documents
Culture Documents
Structured Programming
int main(){
int i;
char str[] = "HELLO";
5
for(i = 0; i< ; i++)
printf("%c", str[i]);
return 0;
}
Printing Strings
#include<stdio.h>
int main(){
int i;
char str[] = "HELLO";
for(i = 0; str[i]!=‘\0’; i++)
printf("%c", str[i]);
return 0;
}
Printing Strings
#include<stdio.h>
int main(){
char str[] = "HELLO";
printf(“%s”,str);
printf(“%s”,str);
return 0;
}
Printing Strings
#include<stdio.h>
int main(){
char str[] = "HELLO";
puts(str); //It prints the string
puts(str); //and a newline
return 0;
}
Reading Strings Character by
Character
char str[100 ];
int i = 0;
char ch;
while ((ch = getchar()) != '\n')
{
if (i < 100 )
{
str[i++] = ch;
}
}
str[i] = '\0'; /* terminates string */
puts(str);
Taking a String Input
#include<stdio.h>
int main(){
char str[100];
printf("Enter your name:");
//scanf stops taking string input
//when it finds a whitespace character
scanf("%s",str);
printf("You name is %s\n",str);
return 0;
}
Taking a String Input
#include<stdio.h>
int main(){
char str[100];
printf("Enter your name:");
//gets stops taking string input
//when it finds a Newline character
gets(str);
printf("You name is %s\n",str);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
int d, m, y, ret;
printf("Enter day, month year: ");
ret = scanf("%d%d%d",&d,&m,&y);
printf("scanf returned: %d\n",ret);
printf("Day = %d\nMonth = %d\nYear = %d\n",d,m,y);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
int d, m, y, ret;
printf("Enter day, month year as (d/m/y) format:");
ret = scanf("%d/%d/%d",&d,&m,&y);
printf("scanf returned: %d\n",ret);
printf("Day = %d\nMonth = %d\nYear = %d\n",d,m,y);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
int d, m, y, ret;
printf("Enter day, month year as (d/m/y) format:");
ret = scanf("%d/%d/%d",&d,&m,&y);
printf("scanf returned: %d\n",ret);
printf("Day = %d\nMonth = %d\nYear = %d\n",d,m,y);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
int d, m, y, ret;
printf("Enter day, month year as (d/m/y) format:");
ret = scanf("%d-%d-%d",&d,&m,&y);
printf("scanf returned: %d\n",ret);
printf("Day = %d\nMonth = %d\nYear = %d\n",d,m,y);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
char str[100];
printf("Enter your name: ");
scanf("%s",str);
printf("Your name is %s\n",str);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
char str[100];
printf("Enter your name: ");
"%[abcd]",str);
scanf(
printf("Your name is %s\n",str);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
char str[100];
printf("Enter your name: ");
"%[a-zA-Z]",str);
scanf(
printf("Your name is %s\n",str);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
char str[100];
printf("Enter your name: ");
"%[a-zA-Z 0-9\t]",str);
scanf(
printf("Your name is %s\n",str);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
char str[100];
printf("Enter your name: ");
"%[^abcd]",str);
scanf(
printf("Your name is %s\n",str);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
char str[100];
printf("Enter your name: ");
"%[^abcd]",str);
scanf(
printf("Your name is %s\n",str);
return 0;
}
Don’t Underestimate scanf
#include<stdio.h>
int main(){
char str[100];
printf("Enter your name: ");
"%[^\n]",str);
scanf( //Similar to gets(str)
printf("Your name is %s\n",str);
return 0;
}
String Library(string.h) functions
//strlen():
#include<stdio.h>
#include<string.h>
int main(){
int len;
char str[100];
gets(str);
len = strlen(str);
printf("Length of string = %d\n",len);
return 0;
}
String Library(string.h) functions
#include<stdio.h>
#include<string.h>
int main(){
int len;
char str1[100], str2[100];
gets(str1);
strcpy(str2,str1);
printf("String 1 = %s\n",str1);
printf("String 2 = %s\n",str2);
return 0;
}
String Library(string.h) functions
//strcat
#include<stdio.h>
#include<string.h>
int main(){
int len;
char str1[100], str2[100];
printf("Enter first string:");
gets(str1);
printf("Enter second string: ");
gets(str2);
strcat(str1,str2);
printf("String 1 = %s\n",str1);
printf("String 2 = %s\n",str2);
return 0;
}
String Library(string.h) functions
//strcmp
#include<stdio.h>
#include<string.h>
int main(){
int len, retVal;
char str1[100], str2[100];
printf("Enter first string:");
gets(str1);
printf("Enter second string: ");
gets(str2);
retVal = strcmp(str1,str2);
if(retVal == 0)
printf("str1 and str2 are both equal\n");
else if(retVal > 0)
printf("str1 is below str2 in a dictionary\n");
else if(retVal < 0)
printf("str1 is above str2 in a dicationary\n");
return 0;
}
Building a Spell Checker
#include<stdio.h>
#include<string.h>
#include<conio.h>
int main(){
//This dictionary will contain at most 100 strings
//Each string may have length at most 19 characters
char dictionary[100][20];
char word[20];
int i, found, j;
Building a Spell Checker
//Take words input to the dictionary
printf("Build the dictionary:(EOF to break)");
i = 0;
while(gets(dictionary[i])!=NULL)
i++;
return 0;
}
Sort the dictionary (in lexicographical order
//Now we have i words in the dictionary
N = i;
//Sort the dictionary in lexicographical order
//that means ascending order
for(i = 0; i< N-1; i++){
for(j = 0; j<N-i-1; j++){
//if(a[j] > a[j+1])
if(strcmp(dictionary[j],dictionary[j+1])>0){
//Swap a[j] with a[j+1]
//t = a[j];
strcpy(t,dictionary[j]);
//a[j] = a[j+1];
strcpy(dictionary[j], dictionary[j+1]);
//a[j+1] = t;
strcpy(dictionary[j+1],t);
}
}
}
Sort the dictionary (in lexicographical order
//Let's check the dictionary
for(i = 0; i<N; i++)
{
printf("Word %d: %s\n",i, dictionary[i]);
}
return 0;
}