函数

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);
}
  1. 编写函数,统计给定字符串中各个字母出现的次数,不区分大小写。在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
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值