//code c tìm từ dài nhất trong 1 chuỗi ký tự nhập vào
#include"stdio.h"
#include"conio.h"
#include"string.h"
char *max(char *s)
{
char c[100], a[100];
int i, j, k, max = 0;
i = 0;
while (s[i]!='\o')//s[i] không phải là kí tự cuối cùng
{
j = 0;
if (s[i] != ' ')//nếu ký tự đang xét khác kí tự trắng
{
while (s[i] != '\o') //lặp với số lần không biết trước nên dùng while
{//khi kí tự còn khác kí tự trắng
if (s[i] == ' ') break; //điều kiền để kết thúc vòng lặp while là gặp kí tự trắng
c[j] = s[i];//dùng mảng chuổi c để lưu các kí tự thỏa và tăng i,j lên 1 đơn vị
j++; i++;//trong vòng lặp đã có lệnh i++; rồi nên khi copy xong không cần dùng lệnh i++;
//để thực hiện vòng lặp nữa
}
c[j] = '\o'; //kí tự cuối cùng phải là kí tự kết thúc để chuổi có nghĩa
if (max < strlen(c)) //nếu nó là chuổi dài hơn chuỗi max thì gán giá trị cho max
{//copy chuỗi vào chuỗi a để lưu
max = strlen(c);
gets_s(a, c);
}
}
else i++; //nếu ban đầu nó là kí tự trắng thì tăng i để tiếp tục lặp
}
return a;
}
void main()
{
char s[255];
printf("nhap chuoi: "); fflush(stdin); gets_s(s);
printf("tu dai nhat: %s\n", max(s));