YOMEDIA
NONE

Viết một hàm chuẩn hóa xâu ký tự: biến đổi xâu ký tự thành xâu sao cho trong xâu không có 2 dấu cách liền nhau, một hàm tìm số từ của 1 xâu ký tự, một hàm tìm từ dài nhất trong 1 xâu ký tự. Hàm main sử dụng các hàm này để nhập xâu ký tự từ bàn phím, in ra xâu trước và sau khi chuẩn hóa, số từ trong xâu và 1 từ dài nhất trong xâu đó.

Theo dõi Vi phạm
ATNETWORK

Trả lời (1)

  • #include<stdio.h>

    #include<conio.h>

    #include<string.h>

    void chuanhoa(char[]);

    int sotu(char[]);

    char *timtumax(char []);

    void main()

    {char s[80];

    clrscr();

    printf("\nNhap xau ki tu : \n");

    gets(s);

    printf("\nXau ban dau:\n");

    puts(s);

    chuanhoa(s);

    printf("\nXau da chuan hoa:\n");

    puts(s);

    printf("\nSo tu cua xau : %d\n",sotu(s));

    printf("\nTu dai nhat trong xau : %s",timtumax(s));

    }

    void chuanhoa(char s[])

    {int i,k,n;

    do

    {n=strlen(s);

    for(i=0;(i<n-1)&&((s[i]-32)||(s[i+1]-32));i++);

    if(i<n-1) for(k=i;k<n;k++)s[k]=s[k+1];

    }while(i<n-1);

    if(s[0]==32)for(i=0;(i<n);i++)s[i]=s[i+1];

    }

    int sotu(char s[])

    {int i,n,d;

    n=strlen(s);

    if((n>0)&&(s[0]-32))d=1;

    else d=0;

    for (i=0;i<n-1;i++) if((s[i]==32)&&(s[i+1]-32))d++;

    return d;

    }

    char *timtumax(char s[])

    {int t,p,n,c,d;char x[80];

    d=0;c=t=-1; n=strlen(s);

    do

    {do t++; while ((t<n)&&(s[t]==32));

    if(t==n) break;

    p=t;

    do p++; while ((p<n)&&(s[p]-32));

    p--;

    if(p-t>c-d){d=t;c=p;}

    t=p+1;

    }while(t<n);

    for(t=d;t<=c;t++)x[t-d]=s[t];

    x[t-d]=0;

    return x;

    }

      bởi Lan Anh 29/11/2021
    Like (0) Báo cáo sai phạm

Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!

Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản

Gửi câu trả lời Hủy
 
NONE

Các câu hỏi mới

AANETWORK
 

 

YOMEDIA
ATNETWORK
ON