国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
指針數(shù)組,排序,創(chuàng)建一個(gè)長(zhǎng)度為size的動(dòng)態(tài)指針數(shù)組,然后從鍵盤讀取size個(gè)學(xué)生的名字存儲(chǔ)到字符數(shù)組中,字符數(shù)組首元素地址存儲(chǔ)到指針數(shù)組元素中

 

26.指針數(shù)組,排序,創(chuàng)建一個(gè)長(zhǎng)度為size的動(dòng)態(tài)指針數(shù)組,然后從鍵盤讀取size個(gè)學(xué)生的名字存儲(chǔ)到字符數(shù)組中,字符數(shù)組首元素地址存儲(chǔ)到指針數(shù)組元素中

 

#include<stdio.h>

#include<stdlib.h>

#define N 20

/*創(chuàng)建一個(gè)長(zhǎng)度為size的動(dòng)態(tài)指針數(shù)組,然后從鍵盤讀取size個(gè)

學(xué)生的名字存儲(chǔ)到字符數(shù)組中,字符數(shù)組首元素地址存儲(chǔ)到指針數(shù)組元素中。*/

char ** inputName(int);

 

void  sort(char *[], int);       //函數(shù)功能:對(duì)字符串進(jìn)行排序。

void printName(char *[], int);   //函數(shù)功能:依次輸出指針數(shù)組元素所指向的字符串。array指向的數(shù)組元素。

void freeName(char * [],int);    //函數(shù)功能:釋放本程序中動(dòng)態(tài)申請(qǐng)的內(nèi)存。

 

main()

{

   int size;          //size表示要排序的人數(shù)

   char **array;

  

   printf("請(qǐng)輸入要排序的人數(shù):\n");

   scanf("%d",&size);

   printf("請(qǐng)輸入%d個(gè)學(xué)生的名字,每輸入一個(gè)用回車鍵結(jié)束:\n",size);

  

   //從鍵盤讀取size個(gè)學(xué)生的名字存儲(chǔ)在字符數(shù)組中

   array=inputName(size);

  

   //對(duì)字符串進(jìn)行排序

   sort(array,size);

  

   printf("從小到大,這%d個(gè)學(xué)生的姓名為:",size);

  

   //打印出size個(gè)學(xué)生的名字

   printName(array,size);

   system("pause");

  

   //釋放動(dòng)態(tài)數(shù)組的內(nèi)存空間 

   freeName(array,size);

  

   system("pause");

   return 0;

}

 

/*創(chuàng)建一個(gè)長(zhǎng)度為size的動(dòng)態(tài)指針數(shù)組,然后從鍵盤讀取size個(gè)

學(xué)生的名字存儲(chǔ)到字符數(shù)組中,字符數(shù)組首元素地址存儲(chǔ)到指針數(shù)組元素中。*/

char **inputName(int size)

{

   int inputch(char [],int);   //讀取字符串并返回其長(zhǎng)度

   char ** array;

   char string[N];        //將讀取的字符串暫時(shí)存儲(chǔ)在string數(shù)組中

   int i,length;

  

   //申請(qǐng)動(dòng)態(tài)指針數(shù)組的內(nèi)存空間

   array=(char **)malloc(sizeof(char*)*size);

   if(array!=NULL){

      for(i=0;i<=size;i++){

         length=inputch(string,N);    //讀取字符串

         *(array+i)=(char *)malloc(sizeof(char*)*length);

         if(*(array+i)!=NULL)

            strcpy(*(array+i),string);    //將字符串string中的字符拷貝到*(array+i)

      }

   }

   return array;      //返回動(dòng)態(tài)指針數(shù)組的首地址

}

 

//函數(shù)功能:對(duì)字符串進(jìn)行排序。

void  sort(char *a[], int size)

{

    int strCmp(char*,char*);  //比較兩個(gè)字符串的大小

    char *tempPtr;

    int i,j,min;

      /*使用選擇法排序, 外循環(huán)每循環(huán)一次,確定name[i]的值*/

    for(i=0; i<= size-1; i++){  /*外循環(huán):確定a[i]的值*/

        /*a[i]~a[size-1]所指向的串中選出最小串,由a[min]指向*/

       min=i;   

       for(j=i+1; j<=size; j++)

          if(strCmp(a[min], a[j])>0) /*存在更小的串*/

             min=j; 

        /*交換a[min]a[i],使a[i]指向a[i]~a[size-1]所指向的串中的最小串*/

       if(min!=i){  

          tempPtr= a[i];

          a[i]= a[min];

          a[min]=tempPtr;

       }

    }

}

 

/*s指向的串大于t指向的串,返回1;小于,返回-1;等于,返回0*/

int strCmp(char * s,char * t)

{

   while(*s!='\0' && *t!='\0' && *s==*t){

      s++;

      t++;

   }

      

   if(*s==*t) //若結(jié)束比較時(shí)st所指字符相等,則肯定指向‘\0

        return 0;

   else if(*s>*t)//任何一個(gè)字符均大于‘\0 \0 ASCII0

        return 1;

   else

        return -1;         

}

 

//函數(shù)功能:依次輸出指針數(shù)組元素所指向的字符串。array指向的數(shù)組元素。

void printName(char * array[], int size)

{

   int i;

   for(i=0;i<=size;i++)

      printf("%s\n",array[i]);

}

 

//函數(shù)功能:釋放本程序中動(dòng)態(tài)申請(qǐng)的內(nèi)存。  

void freeName(char *array[],int size)

{

   int i;

   for(i=0;i<=size;i++){

      free(*(array+i));

   }

   free(array);

}

 

//函數(shù)功能:讀取字符串并返回其長(zhǎng)度

int inputch(char string[],int size)

{

   char ch;

   int length=0;

  

   scanf("%c",&ch);

   while(ch!='\n'){

      string[length]=ch;

      scanf("%c",&ch);

      length++;

   }

   string[length]='\0';

   return length;

}

運(yùn)行效果如圖:
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
函數(shù)
C語言 指針數(shù)組 多維數(shù)組
給字符數(shù)組賦值的方法
用指針數(shù)組處理字符串
字符串的輸入和輸出
char argv, char argv[], char* argv, char argv[][], char * argv[], char** argv, char (*argv)[]
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服