IOS开发之路-C 学习笔记7.22

来源:互联网 发布:淘宝产品定价方法 编辑:程序博客网 时间:2024/05/21 13:22

今天讲了数组和字符串.

做了几道经典的题

根据输入的字符串,统计有多少个单词,并且输出这些单词


void printChar(char ch[], int size){    int i = 0;    int count = 0;    int engCount = 0;    char str[255][255];    int k = 0;    //int len = (int)strlen(str[0]);    while(ch[i]!='\0')    {        if(  (ch[i]>='a' && ch[i]<='z') || (ch[i]>='A' && ch[i]<='Z' ) )        {            printf("%c",ch[i]);            str[engCount][k] = ch[i];            count++;            k++;        }        if( ((ch[i]>='a' && ch[i]<='z') || (ch[i]>='A' && ch[i]<='Z' )) && ch[i+1] == ' '  )        {            str[engCount][i+1] = '\0';            printf("\n");            engCount++;            k = 0;        }        i++;           }    if(ch[i] == '\0' && ((ch[i-1]>='a' && ch[i-1]<='z') || (ch[i-1]>='A' && ch[i-1]<='Z' )) )    {        engCount++;    }    printf("\n共有%d个字母\n",count);    printf("共有%d个单词\n",engCount);    printf("二维数组输出为:\n");    for (int i=0; i<engCount; i++)    {        printf("%s\n",str[i]);    }}

main函数里面:

    char str[] ={'\0'};    printf("请输入一串段英文:");    gets(str);    //int len = sizeof(str)/sizeof(char);    int len = (int)strlen(str);    //printf("%s\t%d",str,len);    printChar(str,len);

最后运行的结果为:



从控制台输入一些数组,这些数组数量不确定(有上限要求,例如20),以0作为输入的结束。然后输入完毕之后需要打印输入的数字以及总个数。然后找出这些输入的数字中的最大值及最小值。


void getsChar(){    int arr_int[20];    int count = 0;    int max = 0 ;    int min = 0 ;    printf("please input a array:");    for( int i = 0;i<20;i++)    {        scanf("%d",&arr_int[i]);        if(arr_int[i] == 0)        {            printf("输入的数据如下:\n");            for (int k=0; k<i; k++)            {            printf("%d ",arr_int[k]);                continue;            }            break;        }        count++;    }    max = min = arr_int[0];    for( int i = 1;i<count;i++)    {        if(max<arr_int[i])         {            max = arr_int[i];        }        if(min>arr_int[i])        {            min = arr_int[i];        }    }    printf("\n共输入了%d个数据\n",count);    printf("最大值:%d \n最小值:%d",max,min);}

输入几个数字,然后对其进行排序,要求结果为从大到小。

void bubbleSort(){    int num_arr[20];    int count = 0;    printf("please input a few Numbers:");    for (int i = 0; i<20; i++)    {        scanf("%d",&num_arr[i]);        if( 0 == num_arr[i] )        {            break;        }        count++;    }    for (int i=0; i<count; i++)    {        for (int j = i+1; j <count; j++)        {            if(num_arr[i]<num_arr[j])            {                int temp =  num_arr[i];                num_arr[i] = num_arr[j];                num_arr[j] = temp;            }        }        printf("%d ",num_arr[i]);    }    printf("\n输入了%d个数据",count);}

由控制台输入5个书籍名称,然后排序整理,按照字母顺序来排序整理。然后输出排序后的名称。

void bookArray(){    char bookArr[5][20];    int len = 5;    for(int i = 0 ; i<len ;i++)    {        printf("请输入第[%d]个书名:",i+1);        scanf("%s",bookArr[i]);    }    printf("\n您输入的书名为:\n");    for(int i = 0 ; i<len ;i++)    {        printf("第[%d]个书名:%s\n",i+1,bookArr[i]);    }    printf("排序后:\n");    for(int i = 0 ;i<len ;i++)    {        for(int j=i+1 ;j<len;j++)        {            int n = strcmp(bookArr[i], bookArr[j]);            if( 0 == n)                continue;            else if( n > 0)            {                char temp[20];                strcpy(temp,bookArr[i]);                strcpy(bookArr[i],bookArr[j]);                strcpy(bookArr[j],temp);            }        }        printf("%s\n",bookArr[i]);    }}




原创粉丝点击