Friday, October 14, 2011

Write the following C Programs without string functions? a. Length of a string b. Reverse of a string c. String Concatenation d. String comparison e. String copy

#include
#include
main()
{
printf("\t\t1.Length of a string\n");
printf("\t\t2.Reverse of a string\n");
printf("\t\t3.String Concatenation\n");
printf("\t\t4.String comparison\n");
printf("\t\t5.String copy\n\n");
int o,i;
char string[500],a[100],b[100],c;
printf("Select a option from the above list:-\t");
scanf("%d",&o);
switch(o)
{
case 1:
{
printf("\n\t=============================>a.Length of a string<==============================================\n"); printf("Enter a string\t:"); scanf("%s",&string); i=0; while (string[i]!='\0') i++; printf("string length\t:%d\n",i); break; } case 2: { printf("\n\t=============================>b.Reverse of a string<==============================================\n"); printf("Enter a string\t\t\t:\t"); scanf("%s",&a); reverse(a); printf("Reverse of entered string is :\t%s\t\n",a); break; } case 3: { printf("\n\t=============================>c.String Concatenation<==============================================\n"); printf("Enter first string to concatenate :\t"); scanf("%s",&a); printf("Enter second string to concatenate :\t"); scanf("%s",&b); concat(a,b); printf("After concatenation String is :\t%s\n", a); break; } case 4: { printf("\n\t=============================>d.String comparison<==============================================\n"); printf("Enter the first string :\t"); scanf("%s",&a); printf("Enter the second string :\t"); scanf("%s",&b); c= compare(a,b); if (c == 0) printf("Both Entered strings are same.\n"); else printf("Entered strings are not equal.\n"); break; } case 5: { printf("\n\t=============================>e.String copy<==============================================\n");
printf("Enter a string :\t");
scanf("%s",&a);
copy(b, a);
printf("copied string :\t%s\n", b);
break;
}
default:
{
printf("\nChoose the right option which is with in the range 1-5 only \n\n");
}
}
}
reverse(char*);
reverse(char *a)
{
int l, i;
char *begin, *end, temp;
l = strlen(a);
begin = a;
end = a;
for (i=0;i<(l-1);i++)
end++;
for (i=0;i {
temp = *end;
*end = *begin;
*begin = temp;
begin++;
end--;
}
}
concat(char*, char*);
concat(char *a, char *b)
{
while(*a)
a++;
while(*b)
{
*a = *b;
b++;
a++;
}
*a = '\0';
}
int compare(char *a, char *b)
{
while(*a)
{
if(*a == *b)
{
a++;
b++;
}
else
return -1;
}
}
copy(char*, char*);
copy(char *b, char *a)
{
while(*a)
{
*b = *a;
a++;
b++;
}
*b = '\0';
}

No comments:

Post a Comment