//对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中。
#include <stdio.h>
#include <string.h>
#pragma warning (disable:4996)
void fun(char*sp ,int *ct)
{
int a=, b=, c=;
while (*sp != '\0')
{
if (*sp == 'e')//利用if多重并列判断。
{
sp++;
if (*sp == 'a')
{
a++;
//sp--;
}
}
else if (*sp == 'o')
{
sp++;
if (*sp == 'u')
{
b++;
//sp--;
}
}
else if (*sp == 'i')
{
sp++;
if (*sp == 'u')
{
c++;
//sp--;
}
}
else//这一步很关键,切记。
{
sp++;
}
}
ct[] = a;
ct[] = b;
ct[] = c;
}
main()
{ void NONO();
char txt[]="abeaeafeeaoukgdoouuoiouifwieeotiu";
int c[];
fun(txt,c);
printf("%d,%d,%d\n",c[],c[],c[]);
NONO();
}
void NONO ()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
int i, c[] ;
char txt[], *p ; rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = ; i < ; i++) {
fgets(txt, , rf) ;
p = strchr(txt, '\n') ;
if(p != NULL) *p = ;
fun(txt,c);
fprintf(wf, "%d,%d,%d\n",c[],c[],c[]);
}
fclose(rf) ; fclose(wf) ;
}
//在数组中找出最小值,并与第一个元素交换位置。
#include<stdio.h>
#pragma warning (disable:4996)
void fun(int *dt,int n)
{
int i,m,t;
/**********************found***********************/
m = ;//注意下标与数组两种方式的转换。
for(i=;i<n;i++)
/**********************found***********************/
if(dt[i]<dt[m])
m=i;
t=dt[];
/**********************found***********************/
dt[] = dt[m];
dt[m]=t;
}
main()
{
int a[]={ ,,,,, };
int i,n=;
for(i=;i<n;i++)
printf("%4d",a[i]);
printf("\n");
fun(a,n);
for(i=;i<n;i++)
printf("%4d",a[i]);
printf("\n");
}