1.编写函数,完成下面的程序,将一个字符串中的字母排序后输出。输出要求:字母从小到大排序(包括大小写)后的字符串。例如:
输入:Hello World!
输出:!HWdellloor
程序中的必要代码为:
main()
{
char s[80];
gets(s);
sortchar(s);
puts(s);
}
#include<stdio.h>
#include<string.h>
void sortchar(char s[])
{
int n;
n=strlen(s);
int min,t,i,j;
for(i=0;i<n-1;i++) 【选择排序】
{
min=i;
for(j=i+1;j<n;j++)
{
if(s[min]>s[j])
min=j;
}
t=s[i]; 【符号记清楚啊】
s[i]=s[min];
s[min]=t;
}
}
int main()
{
char s[80];
gets(s);
sortchar(s);
puts(s);
}
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 j,i,k;
for(i=0;i<n;i++)
if(aa[i]==y)
{
for(k=i+1;k<n;k++) 【删除y】
{
aa[k-1]=aa[k];
}
n--;
i--;
}
return n;
}
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);
}
- 编写函数,统计给定字符串中各个字母出现的次数,不区分大小写。在main函数中输入一个字符串,调用该函数进行计算,然后输出统计结果。
输入要求:任意一个字符串。
程序的必要代码为:
main()
{ char str[255];
int count[26]={0};
int i;
gets(str);
counta_z(str,count);
for(i=0;i<26;i++)
if(count[i])
printf("%c出现的次数为:%d\n",i+'a',count[i]);
}
#include<stdio.h>
void counta_z(char str[],int count[]) 加一下[]
{
int i;
for(i=0;str[i]!='\0';i++) 这个里面不用输入str,也不用设count
{
if(str[i]>='a'&&str[i]<='z')
count