int strcmp(char *s1, char *s2) { int i; for (i=0; s1[i]||s2[i]; i++) if (s1[i]<s2[i]) return -1; else if (s1[i]>s2[i]) return 1; return 0; } |
int strcmp(char *s1, char *s2) { int i; for (i=0; s1[i]||s2[i]; i++) if (s1[i]!=s2[i]) break; return s1[i]-s2[i]; } |
char *strcpy(char *d, char *s) { int i=0; while (s[i]) { /* nu s-a ajuns la sfarsitul sirului s */ d[i]=s[i]; i++; } d[i]='\0'; return d; }
int hexa (char c) { if (isalpha(c)) return toupper(c)-'A'+10; return c-'0'; }
#include <stdio.h> #include <string.h> #include <ctype.h> int numar(char * s) { int i=0; while(s[i]) if (!isdigit(s[i++])) return 0; /* s-a gasit un caracter non-cifra */ return 1; /* toate caraterele sunt cifre */ } void main(void) { char sir[80], c; short i, j; while (gets(sir)!=NULL) { if (!numar(sir)) /* se interschimba prin intermediul lui c elementele aflate pe pozitii simetrice in raport cu mijlocul sirului */ for (i=0, j=strlen(sir)-1; i<j; ++i, --j) c=sir[i], sir[i]=sir[j], sir[j]=c; puts(sir); } }