SHARE
TWEET

Bài 15

a guest Jul 17th, 2017 41 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Nhận xét
  2. bài 15 p6. nhập chuỗi 2 khoảng trắng + "abc"
  3. ==> kết quả: 1 khoảng trắng + "abc"
  4. ==> sai
  5. //Code
  6. #include<stdio.h>
  7. #include<conio.h>
  8. #include<string.h>
  9. #include<ctype.h>
  10. void Chen(int start, char s[])
  11. {
  12.     int t=strlen(s);
  13.     int i;
  14.     for(i=t;i>start;i--)
  15.     {
  16.         s[i]=s[i-1];
  17.     }
  18.     s[start]=' ';
  19.     s[t+1]='\0';
  20. }
  21. void Chuanhoa(char s[])
  22. {
  23.     int i;
  24.     int t=strlen(s);
  25.     int n=0;
  26.     char *p=strstr(s,"  ");
  27.     while(p!=NULL)
  28.     {
  29.         strcpy(p,p+1);
  30.         p=strstr(s,"  ");
  31.     }
  32.     if(isspace(s[0])!=0)
  33.         strcpy(&s[0],&s[1]);
  34.     if(isspace(s[t-1])!=0)
  35.         strcpy(&s[t-1],&s[t]);
  36.     for(i=0;i<t;i++)
  37.     {
  38.         if(ispunct(s[i])!=0&&isspace(s[i-1])!=0)
  39.         {
  40.             strcpy(&s[i-1],&s[i]);
  41.         }
  42.     }
  43.     //Tao khoảng trắng sau dấu chấm;
  44.     for(i=0;i<strlen(s);i++)
  45.     {
  46.         if(ispunct(s[i])!=0&&isalpha(s[i+1])!=0)
  47.         {
  48.             Chen(i+1,s);
  49.         }
  50.     }
  51.     //Viết hoa sau dấu chấm
  52.     for(i=0;i<strlen(s);i++)
  53.     {
  54.         if(s[i]=='.'&&s[i+1]==' ')
  55.             s[i+2]=toupper(s[i+2]);
  56.     }
  57.     s[0]=toupper(s[0]);
  58.  
  59. }
  60. int main()
  61. {
  62.     char s[256];
  63.  
  64.     printf("Nhap chuoi:");
  65.     gets(s);
  66.  
  67.     Chuanhoa(s);
  68.  
  69.     printf("%s",s);
  70.     _getch();
  71.     return 0;
  72. }
RAW Paste Data
Top