}
}
68.统计在tt字符串中'a'到'z'26个字母各自出现的次数,并依次放在pp所指数组中。void fun(char *tt, int pp[])
{
char *p_tt=tt;
int i=0;
while(i<26){
pp[i]=0;
i++;}
for(;*p_tt!='\0';p_tt++){
switch(*p_tt){
case 'a':pp[0]++;break;
case 'b':pp[1]++;break;
case 'c':pp[2]++;break;
case 'd':pp[3]++;break;
case 'e':pp[4]++;break;
case
'f':pp[5]++;break;
case 'g':pp[6]++;break;
case 'h':pp[7]++;break;
case
'i':pp[8]++;break;
case
'j':pp[9]++;break;
case 'k':pp[10]++;break;
case 'l':pp[11]++;break;
case 'm':pp[12]++;break;
case 'n':pp[13]++;break;
case 'o':pp[14]++;break;
case 'p':pp[15]++;break;
case 'q':pp[16]++;break;
case 'r':pp[17]++;break;
case 's':pp[18]++;break;
case 't':pp[19]++;break;
case 'u':pp[20]++;break;
case 'v':pp[21]++;break;
case 'w':pp[22]++;break;
case 'x':pp[23]++;break;
case 'y':pp[24]++;break;
case 'z':pp[25]++;break;
}
}
}
69.将大于整数m且紧靠m的k个素数存入xx所指的数组中
void fun(int m, int k, int xx[])
{
int i, j ,total=0;
int *p_xx=xx;
for(i=m+1;;i++){
for(j=2;j<i;j++) if(i%j==0) break ;
if(i<=j){
*p_xx=i;
p_xx++;
total++;
if(total==k){
*p_xx='/0';
break;
}
}
}
}
70.把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中;再把a所指数组元素中的次大值放在a【2】,依此类推。
#include <stdio.h>
#define N 9
/**********found**********/
void fun(int *a, int n)
{ int i, j, max, min, px, pn, t;
/**********found**********/
for (i=0; i<n-1; i+=2)
{ max = min = a[i];
px = pn = i;
/**********found**********/
for (j=i+1; j<n; j++)
{ if (max < a[j])
{ max = a[j]; px = j; }
if (min > a[j])
{ min = a[j]; pn = j; }
}
if (px != i)
{ t = a[i]; a[i] = max; a[px] = t;
if (pn == i) pn= px;
}
if (pn != i+1)
{ t = a[i+1]; a[i+1] = min; a[pn] = t; }
}
}
main()
{ int b[N]={1,4,2,3,9,6,5,8,7}, i;
printf("\nThe original data :\n");
for (i=0; i<N; i++) printf("%4d ", b[i]);
printf("\n");
fun(b, N);
printf("\nThe data after moving :\n");
for (i=0; i<N; i++) printf("%4d ", b[i]);
printf("\n");
}
70删除字符串规定下标开始的n个字符,其中,a指向字符串,k中存放制定的下标
void fun(char *a,int k,int n)
{int i;i=k;
while (a[i-1]!='\0')
{ a[i]=a[i+n];
i=i+1;
}
}
71求出数组中值最大的元素在数组中的下标并存放在k所指的存储单元中,并将最大值添加在数组的最后
void fun(int *s,int *t,int *k)
{ int i=0;
*k=0;
for (i=1;i<*t;i++)
if (s[*k]<s[i]) *k=i;
s[*t]=s[*k];
*t=*t+1;
}
72.将s所指字符串中下标为奇数同时ASCII值为偶数