A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 任子杰 中级黑马   /  2015-11-7 10:00  /  732 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. //
  2. //  main.m
  3. //  练习
  4. //
  5. //  Created by Mac on 15/11/6.
  6. //  Copyright (c) 2015年 Mac. All rights reserved.
  7. //

  8. #import <Foundation/Foundation.h>
  9. #include <string.h>
  10. /*
  11. 实现字符数组排序

  12. */
  13. void px(char *str[],int len){

  14.     char *temp;
  15.     for (int i=0; i<len-1; i++) {
  16.         for (int j=0; j<len-1-i; j++) {
  17.             
  18.             if (strcmp(str[j], str[j+1])>0) {
  19.                
  20.                 temp=str[j];
  21.                 str[j]=str[j+1];
  22.                 str[j+1]=temp;
  23.                
  24.             }
  25.             
  26.             
  27.         }
  28.     }



  29. }
  30. //逆序数组
  31. void nixun(int str[],int len){

  32.     int *p=str;//定义数组指针
  33.     int i=0,j=len-1;
  34.     while (i<j) {
  35.         
  36.         int temp=*(p+i);
  37.         *(p+i)=*(p+j);
  38.         *(p+j)=temp;
  39.         
  40.         i++;
  41.         j--;
  42.         
  43.         
  44.     }



  45. }

  46. //首字母大写
  47. void dx(){

  48.     char str[100];
  49.     printf("请输入字符串");
  50.     int words=0;//记录是否是空格
  51.     int count;
  52.     gets(str);
  53.     for (int i=0; str[i]!='\0'; i++)
  54.     {
  55.         
  56.         if (str[i]==' ')//遇到空格赋值为0结束循环下次words=0进入else中
  57.         {
  58.             words=0;//表示是空格
  59.             
  60.         }else if (words==0)
  61.         {
  62.         
  63.             str[i]=str[i]-32;//-32表示大写
  64.             count++;
  65.             words=1;//将记录标示变成不等0,用于下次判断
  66.         
  67.         }
  68.         
  69.         
  70.     }
  71.     printf("单词个数%d,字符串:%s\n",count,str);


  72. }

  73. int main(int argc, const char * argv[]) {
  74.     @autoreleasepool {
  75.         
  76.         char *name[]={ "CHINA","AMERICA","AUSTRALIA","FRANCE","GERMAN"};
  77.         px(name, 5);
  78.         for (int i=0; i<5; i++) {
  79.             printf("%s\n",name[i]);
  80.         }
  81.         
  82.         
  83.         int num[100]={1,2,3,4,5,6};
  84.         nixun(num,6);
  85.         for (int i=0; i<6; i++) {
  86.             printf("---->%d\n",num[i]);
  87.         }
  88.         
  89.         
  90.         dx();
  91.         
  92.         
  93.         
  94.         
  95.         
  96.         
  97.         
  98.         char str[100]="abcd";
  99.         char str2[]="efg";
  100.         strcat(str, str2);//追加
  101.         puts(str);
  102.         
  103.         
  104.         strcpy(str, str2);//拷贝 str2会覆盖str
  105.         puts(str);
  106.         
  107.         
  108.          int s=strlen(str);//不含\0
  109.         NSLog(@"%d",s);
  110.         
  111. //        char str3[100]="abcd";
  112. //        char str4[]="efg";
  113.         
  114. //        int a=strcmp(str3, str4);
  115. //        NSLog(@"%d",a);
  116.         
  117.         
  118.         
  119.     }
  120.     return 0;
  121. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马