求大神解答,如图所示,麻烦分享一下代码

 

1 第一题

#include <stdio.h>

#include <stdlib.h>

void sort(char s[], int n);                      //定义排序函数

int main()

{

char str[11];

printf("Please enter 10 charactor: ");       //输入10个字符

gets(str);

sort(str, 10);                               //调用排序函数

system("pause");

return 0;

}

//排序函数(起泡法)

void sort(char s[], int n)

{

for (int i=0; i<n-1; i++)

for (int j=0, t; j<n-1-i; s[j]>s[j+1]?t=s[j],s[j]=s[j+1],s[j+1]=t, j++ :j++);

printf("Sort array: ");

puts(s);

}

#include <stdio.h>
#include <string.h>
void longword(char s[], char t[]);                 //定义最长单词函数
int main()
{
    char str[30], lg[20];
    gets(str);                                     //输入一行字符
    longword(str, lg);                             //调用最长单词函数
    puts(lg);                                      //输出最长单词
    return 0;
}
//最长单词函数
void longword(char s[], char t[])
{
    int i, j, n, k, m, word;
    char p[20];
    n=strlen(s);
    m=0;
    word=0;
    for (i=0, j=0, k=0; i<=n; i++){
        if ((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')){
            word=1;
            p[j++]=s[i];
        }
        else if (word==1){
            if (j>k){
                for (m=0; m<j; m++)
                    t[m]=p[m];
                t[m]='\0';
                k=j;
            }
            word=0;
            j=0;
        }
    }
}