1、编写函数,完成下面的程序,将一个字符串中的字母排序后输出。输出要求:字母从小到大排序(包括大小写)后的字符串。例如:
输入:Hello World!
输出:!HWdellloor
程序中的必要代码为:
main()
{
char s[80];
gets(s);
sortchar(s);
puts(s);
}
#include<stdio.h>
char sortchar(char s[80]);
main()
{
char s[80];
gets(s);
sortchar(s);
puts(s);
}
char sortchar(char s[80])
{
int i,j,k;
for(i=0;s[i+1]!='\0';i++)
{
for(j=i+1;s[j]!='\0';j++)
{
if(s[i]>s[j])
{
k=s[i];
s[i]=s[j];
s[j]=k;
}
}
}
return s[i];
}
2、请编一个函数fun,其中n所指存储单元中存放了数组中元素的个数。函数的功能是:删除所有值为y的元素。已在主函数中给数组元素赋值,y的值由主函数通过键盘读入。
程序的必要代码为:
int main()
{ int aa[M]={1,2,3,3,2,1,1,2,3,4,5,4,3,2,1}, n=15, y, k;
scanf("%d",&y);
n = fun(aa, n, y);
for(k=0; k<n; k++ )
printf("%d ",aa[k]);
printf("\n");
return(0);
}
#include<stdio.h>
#define M 15
int fun(int aa[],int n,int y);
int main()
{
int aa[M]={1,2,3,3,2,1,1,2,3,4,5,4,3,2,1},n=15,y,k;
scanf("%d",&y);
n=fun(aa,n,y);
for(k=0;k<n;k++)
printf("%d ",aa[k]);
printf("\n");
return(0);
}
int fun(int aa[],int n,int y)
{
int i,j;
n=M;
for(i=0;i<n;i++)
{
if(aa[i]==y)
{
for(j=i;j<n;j++)
aa[j]=aa[j+1];
n=n-1;
i=i-1;
}
}
}
3、编写函数 int substring(char s[], char sub[]),查找sub串在字符串s中第一次出现的位置,若找到,函数返回对应位置,否则返回-1。注意主串第1个字符的位置为1。例如s串为“abcdefg”,sub串为“def”,则返回值为4。在main函数中输入主串和子串,调用该函数并输出结果。
输入要求:需要2行。第1行输入主串s,第2行输入子串sub。
示例如下:
abcdefgdefg</