QUESTION-28 Find total number of alphabets, digits or special characters in a string
Answer-
#define MAX_SIZE 100 // Maximum string size
int main()
{
char str[MAX_SIZE];
int alphabets, digits, others, i;
alphabets = digits = others = i = 0;
printf("Enter any string : ");
gets(str);
while(str[i]!='\0')
{
if((str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z')) { alphabets++; } else if(str[i]>='0' && str[i]<='9')
{
digits++;
}
else
{
others++;
}
i++;
}
printf("Alphabets = %d\n", alphabets);
printf("Digits = %d\n", digits);
printf("Special characters = %d", others);
return 0;
}
QUESTION-29 Find the first occurrence of a character in a string
Answer-
#define MAX_SIZE 100 // Maximum string size
int indexOf(const char * str, const char toFind);
int main()
{
char str[MAX_SIZE];
char toFind;
int index;
printf("Enter any string: ");
gets(str);
printf("Enter character to be searched: ");
toFind = getchar();
index = indexOf(str, toFind);
if(index == -1)
printf("'%c' not found.", toFind);
else
printf("'%c' is found at index %d.", toFind, index);
return 0;
}
int indexOf(const char * str, const char toFind)
{
int i = 0;
while(str[i] != '\0')
{
if(str[i] == toFind)
return i;
i++;
}
return -1;
}
QUESTION-30 Find last occurrence of a character in a string
Answer-
#define MAX_SIZE 100 // Maximum string size
int lastIndexOf(const char * str, const char toFind);
int main()
{
char str[MAX_SIZE];
char toFind;
int index;
printf("Enter any string: ");
gets(str);
printf("Enter any character to find: ");
toFind = getchar();
index = lastIndexOf(str, toFind);
printf("\nLast index of '%c' is %d", toFind, index);
return 0;
}
int lastIndexOf(const char * str, const char toFind)
{
int index = -1;
int i = 0;
while(str[i] != '\0')
{
if(str[i] == toFind)
{
index = i;
}
i++;
}
return index;
}
QUESTION-31 Search all occurrences of a character in a string
Answer-
#define MAX_SIZE 100 // Maximum string size
int main()
{
char str[MAX_SIZE];
char toSearch;
int i;
printf("Enter any string: ");
gets(str);
printf("Enter any character to search: ");
toSearch = getchar();
i=0;
while(str[i]!='\0')
{
/* If character is found in string */
if(str[i] == toSearch)
{
printf("'%c' is found at index %d\n", toSearch, i);
}
i++;
}
return 0;
}
QUESTION-32 Compare Strings
Answer-
int main() {
char s1[] = "advise";
char s2[] = "advice";
int n = 0;
unsigned short flag = 1;
while (s1[n] != '\0') {
if(s1[n] != s2[n]) {
flag = 0;
break;
}
n++;
}
if(flag == 1) {
printf("%s and %s are identical\n", s1, s2);
}else {
printf("%s and %s are NOT identical\n", s1, s2);
}
return 0;
}
QUESTION-33 Reverse a line
Answer-
int string_length(char s[]) {
int i=0;
while(s[i]!='\0')
i++;
return i;
}
void string_reverse(char st[]) {
int i,j,len;
char ch;
j = len = string_length(st) - 1;
i = 0;
while(i < j) { ch = st[j]; st[j] = st[i]; st[i] = ch; i++; j--; } } int main (void) { char line[] = "Taj Mahal is one of the seven wonders of the world"; char reverse[100] = "", temp[50]; int i, j, n; n = string_length(line); for(i = n-1; i >= 0; --i) {
for(j = 0; i >= 0 && line[i] != ' '; --i,++j)
temp[j] = line[i];
temp[j] = '\0';
string_reverse(temp);
strcat(reverse,temp);
strcat(reverse," ");
}
printf("Original - %s\n", line);
printf("Reversed - %s\n",reverse);
return 0;
}
[/vc_column_text][/vc_column][/vc_row]

