傻逼快看

#include  <stdio.h>
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<string.h>
#include<stdio.h>
#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 <string.h>
#include <conio.h>
#include <stdio.h>
#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  <stdio.h>
#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 <stdio.h>
#include <conio.h>
#define M 3
#define N 20
void fun(char a[M][N],char *b)
{
    int i,j,k=0;
  for(i=0;i<M;i++)                   /*将字符串数组中的M个字符串,按顺序存入一个新的字符串*/
     for(j=0;a[i][j]!='\\0';j++)
        b[k++]=a[i][j];
  b[k]='\\0';             /*在字符串最后加上字符串结束标记符*/  
//本程序中第1个for循环的作用是对二维数组行的控制,第2个循环的作用是从同一
  //行中取出字符并存放到一维数组b中,语句是b[k++]=a[i][j];
  
}
void main()
{ 
  FILE *wf;
  char w[M][N]={"AAAA", "BBBBBBB", "CC"},i;
  char a[100]={ " ##############################"};
  printf("The string:\\n ");
  for(i=0;i<M;i++) 
     puts(w[i]);
  printf("\\n ");
  fun(w,a);
  printf("The A string:\\n ");
  printf("%s ",a);
  printf("\\n\\n ");

6.連接函數
、、、cpp

include<stdio.h>

include<string.h>

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<strlen(dst);)
dst[j++]=str[i++];
dst[j]='\\\\0';
}

5结构体求单项平均值。
```cpp
#include <stdio.h>
#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;i<N;i++)
     a->ave=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<N; i++)
     printf("%4.1f\\n",s.s[i]);
   printf("\\nave=%7.3f\\n",s.ave);
   NONO();
}

6.结构体排序


#include <stdio.h>
#define   N   16
typedef  struct
{  char  num[10];
   int   s;
} STREC;
void  fun( STREC  a[] )
{
   int i,j;
   STREC t;
   for(i=1;i<N;i++)
       for(j=0;j<N-1;j++)
           if(a[j].s<a[j+1].s)
           {t=a[j];
           a[j]=a[j+1];
           a[j+1]=t;}

}
main()
{  STREC  s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},
        {"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},
        {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},
        {"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72}};
   int  i;FILE *out ;
   fun( s );
   printf("The data after sorted :\\n");
   for(i=0;i<N; i++)
   {  if( (i)%4==0 )printf("\\n");
      printf("%s  %4d  ",s[i].num,s[i].s);
   }
   printf("\\n");
   out = fopen("out.dat","w") ;
   for(i=0;i<N; i++)
   {  if( (i)%4==0 && i) fprintf(out, "\\n");
      fprintf(out, "%4d  ",s[i].s);
   }
   fprintf(out,"\\n");
   fclose(out) ;
}

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

#include <stdio.h>
#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;i<N;i++)
    av=av+a[i].s;
  av=av/N;                 /*求平均值*/
  for(i=0;i<N;i++)
    if(a[i].s<av) b[j++]=a[i];/*将低于平均值的学生记录存入结构体b中*/
  *n=j;          /*指针传回低于平均值的学生人数*/
  return av;     /*返回平均值*/

}

main()
{  STREC  s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},
                {"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87}};
   STREC  h[N],t;FILE *out ;
   int  i,j,n;  double  ave;
   ave=fun( s,h,&n );
   printf("The %d student data which is lower than %7.3f:\\n",n,ave);
   for(i=0;i<n; i++)
     printf("%s  %4.1f\\n",h[i].num,h[i].s);
   printf("\\n");
   out = fopen("out.dat","w") ;
   fprintf(out, "%d\\n%7.3f\\n", n, ave);
   for(i=0;i<n-1;i++)
     for(j=i+1;j<n;j++)
       if(h[i].s>h[j].s) {t=h[i] ;h[i]=h[j]; h[j]=t;}
   for(i=0;i<n; i++)
     fprintf(out,"%4.1f\\n",h[i].s);
   fclose(out);
}

8


#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#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;i<N;i++)   /*如果在循环的过程中再发现比第1个值更小的则赋给*s*/
    if(s->s>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<N;i++) 
    printf("No=%s Mark=%d\\n", a[i].num,a[i].s);
  fun(a,&m);
  printf("*****THE RESULT*****\\n");
  printf("The lowest :%s, %d\\n",m.num,m.s);
/******************************/
  wf=fopen("out.dat","w");
  fprintf(wf,"%s, %d",m.num,m.s);
  fclose(wf);
/*****************************/
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容