傻逼快看

#include  
void NONO();
int fun(char  *s)
{
    int n=0;
    char *p;//很重要。
        for(p=s;*p!='\\0';p++)//全局变量p扫描了整个字符串;
        if((*p>='0')&&(*p<='9'))
            n++;
    return n;
   }

main()
{  char *s="2def35adh25  3kjsdf 7/kj8655x";
   printf("%s\\n",s);
   printf("%d\\n",fun(s));
   NONO();
}

2.确定单词的个数。查找指定的字符。

#include
#include
#define N 80
int fun(char *s)
{
  int flag=0;
  int num=0;
  char *p;
  for(p=s;*p!='\\0';p++)//还是和上面的一样,遍历全部的内容哦。
      if(*p==' ') flag=0;
      else if(flag==0)
      {
          flag=1;
          num++;
      }
      return num;
}
void main()
{ 
  FILE *wf;
  char line[N]; 
  int num=0;
  printf("Enter a string:\\n "); 
  gets(line);
  num=fun(line);
  printf("The number of word is:%d\\n\\n ",num);

3.字符串的逆置

#include 
#include 
#include 
#define N 81
void fun(char*s)
{
    char ch;
    int i,m,n;
    i=0;
    m=n=strlen(s)-1;
    /*将第i个和倒数第i个数互换,但循环的次数为数组长度的一半*/
    while(i<(n+1)/2)
    {
        /*使用中间变量叫唤*/
        ch=s[i];
        s[i]=s[m];
        s[m]=ch;
        i++; m--;//算法,第一个和最后一个换。

}

main()
{
     char a[N];
     FILE *out;
     printf("Enter a string:");
     gets(a);
     printf("The  original string is:");
     puts(a);
     fun(a);
     printf("\\n");
     printf("The string after modified:");
     puts(a);
     strcpy(a,"Hello World!");
     fun(a);
     /******************************/
     out=fopen("out.dat","w");
     fprintf(out,"%s",a);
     fclose(out);
     /******************************/
}

4.字符串的连接

#include  
#define    N    20
void NONO();
void  fun( char  *a , char  *s)
{
    while(*s!='\\0')
    {   *a=*s;
        a++;
        s++;
    }
    *a='\\0';
}

main()
{  char  s1[N],  *s2="abcdefghijk";
   fun( s1,s2);
   printf("%s\\n", s1);
   printf("%s\\n", s2);
   NONO();
}

要将s所指的字符串存入a所指的字符串中,程序要求不能使用系统提供的字符串函数,本题可以使用循环语句,依次取出a所指字符串中的元素,将其存入s所指的字符串中,最后为s所指的字符串添加结束标识'\0'。
5。
连接aa,bb,ccc;

#include 
#include 
#define M 3
#define N 20
void fun(char a[M][N],char *b)
{
    int i,j,k=0;
  for(i=0;i

6.連接函數
、、、cpp

include

include

void mystrcat(char[], char[]);
int main()
{
char c1[80];
char c2[80];
gets(c1);
gets(c2);
mystrcat(c1,c2);
puts(c1);
return 0;
}
void mystrcat(char dst[], char str[])
{
int i,j;
j=strlen(dst);
for(i=0;i dst[j++]=str[i++];
dst[j]='\\\\0';
}

5结构体求单项平均值。
```cpp
#include 
#define   N   8
typedef  struct
{  char  num[10];
   double  s[N];
   double  ave;
} STREC;

void  fun(STREC *a)
{
int i;
  a->ave=0.0;
  for(i=0;iave=a->ave+a->s[i];  /*求各门成绩的总和*/
   a->ave/=N;                        /*求平均分*/


}

main()
{  STREC  s={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};
   int  i;
   void NONO (  );
   fun( &s );
   printf("The %s's student data:\\n", s.num);
   for(i=0;i

6.结构体排序


#include 
#define   N   16
typedef  struct
{  char  num[10];
   int   s;
} STREC;
void  fun( STREC  a[] )
{
   int i,j;
   STREC t;
   for(i=1;i

7.结构体排序//并传入数组;

#include 
#define   N   8
typedef  struct
{  char  num[10];
   double  s;
} STREC;
double  fun( STREC  *a, STREC *b, int *n )
{
 int i,j=0;
  double av=0.0;
  for(i=0;ih[j].s) {t=h[i] ;h[i]=h[j]; h[j]=t;}
   for(i=0;i

8


#include
#include
#include
#include
#define N 10
typedef struct ss
{ char num[10]; 
  int s;
} STU;
fun(STU a[], STU *s)
{
  int i;
  *s=a[0];           /*先认为第1个值最小*/
  for(i=0;is>a[i].s)
      *s=a[i];

}
void main()
{ 
  FILE *wf;
  STU a[N]={{ "A01",81},{ "A02",89},{ "A03",66},{ "A04",87},{ "A05",77},
  { "A06",90},{ "A07",79},{ "A08",61},{ "A09",80},{ "A10",71}},m;
  int i;
  system("CLS");
  printf("*****The original data*****\\n");
  for(i=0;i

你可能感兴趣的:(傻逼快看)