黑马程序员技术交流社区
标题:
字符数组排序思路实现
[打印本页]
作者:
任子杰
时间:
2015-11-7 10:00
标题:
字符数组排序思路实现
//
// main.m
// 练习
//
// Created by Mac on 15/11/6.
// Copyright (c) 2015年 Mac. All rights reserved.
//
#import <Foundation/Foundation.h>
#include <string.h>
/*
实现字符数组排序
*/
void px(char *str[],int len){
char *temp;
for (int i=0; i<len-1; i++) {
for (int j=0; j<len-1-i; j++) {
if (strcmp(str[j], str[j+1])>0) {
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
}
//逆序数组
void nixun(int str[],int len){
int *p=str;//定义数组指针
int i=0,j=len-1;
while (i<j) {
int temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
i++;
j--;
}
}
//首字母大写
void dx(){
char str[100];
printf("请输入字符串");
int words=0;//记录是否是空格
int count;
gets(str);
for (int i=0; str[i]!='\0'; i++)
{
if (str[i]==' ')//遇到空格赋值为0结束循环下次words=0进入else中
{
words=0;//表示是空格
}else if (words==0)
{
str[i]=str[i]-32;//-32表示大写
count++;
words=1;//将记录标示变成不等0,用于下次判断
}
}
printf("单词个数%d,字符串:%s\n",count,str);
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
char *name[]={ "CHINA","AMERICA","AUSTRALIA","FRANCE","GERMAN"};
px(name, 5);
for (int i=0; i<5; i++) {
printf("%s\n",name[i]);
}
int num[100]={1,2,3,4,5,6};
nixun(num,6);
for (int i=0; i<6; i++) {
printf("---->%d\n",num[i]);
}
dx();
char str[100]="abcd";
char str2[]="efg";
strcat(str, str2);//追加
puts(str);
strcpy(str, str2);//拷贝 str2会覆盖str
puts(str);
int s=strlen(str);//不含\0
NSLog(@"%d",s);
// char str3[100]="abcd";
// char str4[]="efg";
// int a=strcmp(str3, str4);
// NSLog(@"%d",a);
}
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2