- 博客(31)
- 收藏
- 关注
转载 iOS开发,调用打电话,发短信,打开浏览器
1、调用 自带mail[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]]; 2、调用 电话phone[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"
2014-09-04 08:52:58 495
原创 内存管理
过渡释放现象:当写完和内存引用计数-1有关的操作后,程序立即crash.原因:空间被系统回收之后,不能再做和引用计数-1有关的操作,否则立即crash解决方案:删除当引用计数为零时,系统会自动回收内存,我们只管理引用计数.野指针异常:现象:可能会崩溃,也可能不会崩溃,写到某一行代码时突然崩溃.(没有写任何和引用计数相关的代码);产
2014-08-20 08:59:42 665
原创 输入一个数组长度,动态创建数组,所有元素随机生成,输出元素中的最大值
int length =0; printf("输入一个数组长度:"); scanf("%d", &length); int *p = malloc(sizeof(int) * length); for (int i =0; i *(p + i) =arc4random() % 2
2014-08-14 09:03:07 1126 1
原创 有一段文本,将文本中的所有单词,存放到一个字符指针数组中(要求每个单词内存恰好)
char a[] =" my name is hanmeimei lilei and you no fine thanks "; int i = 0;//循环变量 int j =0;//记录每个单词的长度 int k =0;//记录指针数组的下标 char *words[100] = {0};//定义一个指针数组,存放堆区空
2014-08-14 09:02:04 667
原创 定义两个整型指针,分别用malloc、calloc对其分配空间保存3个元素,malloc分配的空间用memset清零,随机对数组进行赋值随机范围1-3,赋值后用memcmp比较两个数组。如果相同打印G
int *p1 =malloc(sizeof(int) *3); memset(p1, 0 , (sizeof(int ) *3)); for (int i =0; i 3; i++) { *(p1 + i) =arc4random() % 3 +1; printf("%d ",
2014-08-14 09:01:34 912
原创 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数放入数组b中,如果
int a[20] = {0}; int b[10] = {0}; //随机产生20个数 for (int i =0; i 20; i++) { a[i] =arc4random()%(9999 -1000 + 1) +1000; printf("%d ",a[i]); } print
2014-08-14 08:58:25 2514
原创 分类,类目
分类,类目,category, 目的是为没有源代码的类添加方法.(只能添加方法,不能添加实例变量); 是扩充一个类的功能的方式之一.为原有的类扩充的方法会成为原类的一部分.使用即可. *///分类也分为,.h(接口部分),以及.m(实现部分).//.h文件中填写方法的声明,.m文件填写方法的实现.
2014-08-12 23:11:29 775
原创 OC中关于属性,特性,点语法的总结
/** * @synthesize 属性的实现部分,实现属性自动生成的setter以及getter方法. name 属性名,指定要实现哪一个属性生成的setter以及getter方法 _name,指定setter和getter方法内部所要操作的实例变量. */// 如果指定的实例变量没有定义,系统会自动生成指定的实例变量,但是生成的实例变量是私有的,子类不能直接访问
2014-08-11 22:07:36 446
原创 在主函数中输入10个等长的字符串。用另一个函数对它们排序,然后主函数输出10个已经排好的字符串
.m文件char *a[10] ={"angia","jngal","fjdis","ghaln","lznig","znoag","zngal","iteag","pqngi","bagie"}; characterStringOrder(a,10); for (int i = 0; i 10 ; i++) { printf("%s\n",a[i
2014-08-11 08:29:48 8494
原创 有一字符串,包含数字与字母,编程去除数字。
char a[11] ="df35nk5ieo"; for (int i =0; i 10; i++) { //找出为数字的数,并且赋值为零 switch (a[i]) { case 48: a[i] ='0'; break;
2014-08-08 09:02:13 847
原创 定义一个结构体变量(包含年月日),计算该日在本年中为第几天?要求写一个days函数。参数是此结构体类型的变量,返回值是整数。
.m文件Time c = {2014,13,31}; printf("该日是今年的第%d天",days(c));.h
2014-08-07 08:55:37 7684
原创 有5名学生保存在结构体数组中,编程按学生的成绩升序排序,按学生的姓名降序排序,按年龄从低到高排序
main.m 文件 Stu b[5] = { {"xiaoming",99,20}, {"xiaohong",95,19}, {"xiaoli",96,21}, {"xiaoguang",98,22}, {"xiaoshuai",97,23}, }; //按学生成绩升序排列
2014-08-07 08:49:49 7228
原创 字符串的复制,长度计算,单词反序输出
//实现字符串的复制void strcpytwo(char b[],char a[]){ int i = 0; while (a[i] != '\0'){ b[i] = a[i]; i++; }}//实现字符串长度的计算int strlentwo(char a[]){ int i = 0; while (a[i]
2014-08-07 08:47:26 564
原创 对数组元素随机赋值,冒泡排序,输出数组
//实现给数组中的元素随机赋值void assignment(int a[],int count){ for (int i = 0; i < count; i++) { a[i] = arc4random()%100; }}//实现给数组排序,升序序列。void order(int a[],int count){ for (int i = 0;i
2014-08-07 08:44:06 1080
原创 找出一个二维数组中的“鞍点”,即该位置上的元素在该行中最大,在该列中最小(也可能没鞍点),打印出有关信息。
int a[3][3]; int b[3],c[3]; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { a[i][j] = arc4random()%10; printf("%d ",a[i][j]); } prin
2014-08-07 08:43:11 3279
原创 随机生成一个三维数组,编程求深度的平均值,保存在一个二维数组中。
int a[3][3][3] = {0}; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { for (int k = 0; k < 3; k++) { a[i][j][k] = arc4random()%100; }
2014-08-07 08:41:36 1123
原创 输入6个字符串,并对它们按从小到大的顺序排序后输出。
printf("请输入六个字符串\n"); char str[6][10] = {0}; for (int i = 0; i < 6; i++) { scanf("%s",str[i]); } for (int i = 0; i < 6 - 1; i++) { for (int j = 0; j < 6 - 1 -i; j++) {
2014-08-07 08:38:28 12842
原创 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
char a = ' ',b = ' ',c = ' '; printf("请输入第一个字母\n"); scanf("%c",&a); if (a == 'm') { printf("星期一"); } if (a == 't') { printf("请输入第二个字母:\n"); scanf("%c\n",&b);
2014-08-05 09:10:45 1247
原创 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
printf("请输入一个五位数:\n"); int a = 0,b[5] = {0}; scanf("%d",&a); b[0] = a / 10000; b[1] = a % 10000 / 1000; b[2] = a % 1000 / 100; b[3] = a % 100 / 10; b[4] = a % 10; if (b
2014-08-05 09:09:36 1622
原创 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
printf("请输入一个不多于五位的数字:\n"); int a = 0, b[5] = {0},count = 0; scanf("%d",&a); b[0] = a / 10000; b[1] = a % 10000 / 1000; b[2] = a % 1000 / 100; b[3] = a % 100 / 10; b[4] = a
2014-08-05 09:08:28 1144
原创 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
float a[20] = {}; float b = 2, c = 1,temp = 0; float sum = 0; for (int i = 0; i < 20; i++) { a[i] = b / c; temp = b; b = b + c; c = temp; sum += a[i
2014-08-05 09:07:38 585
原创 将两个排好序的数组,合并到另外一个数组中,并且合并之后的数组也是有序的。
int a[5] = {5,9,18,32,40}; int b[5] = {6,8,10,15,30}; int c[10] ={0}; for (int i = 0; i < 5; i++) { c[i] = a[i]; } for (int i = 0; i < 5; i++) { c[i+5] = b[i];
2014-08-05 09:06:25 2503
原创 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的叛徒。
int a[13] = {1,2,3,4,5,6,7,8,9,10,11,12,13}; int count = 0,num = 13; while (num > 1) { for (int i = 0; i < 13; i++) { if (a[i] != 0) { count++;
2014-08-05 09:04:49 623
原创 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空 格,用空格来分隔单词。
printf("请输入一行字符串:\n"); char str[] = "sdjfias jidosafn jionassf jiinfdan jijinasnf jijsoafdi jioasdfn jaoisndfi "; gets(str); unsigned long count = strlen(str); printf("字符串长度%lu\n",cou
2014-08-05 09:03:20 2486
原创 随机产生20个[10 , 50]的正整数存到数组中,并求数组中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值。
int a[20] = {0}; int max = 0,min = 51,sum = 0,second = 0; float average = 0; for (int i = 0; i < 20; i++) { a[i] = arc4random()%(50 - 10 +1) + 10;//生成20个随机数 printf("%d ",a[
2014-08-05 08:59:30 5634
原创 最大公约数,最小公倍数
printf("请输入两个数:\n"); int a = 0,b = 0,min = 0,max = 0; scanf("%d %d",&a,&b); max = a > b ? a : b; min = a > b ? b : a; for (int i = min; i >= 1; i--) { if (a % i == 0 && b %
2014-08-05 08:53:04 355
原创 最大值,最小值
int max = 0,min = 101; for (int i = 1; i < 21; i++) { int ran = arc4random() % 91 + 10; printf("%d ",ran); if (ran > max) { max = ran; } el
2014-08-05 08:51:38 349
原创 简单的加减乘除运算
float a = 0,b = 0,c = 0; char operator = 0; printf("请输入式子:\n"); scanf("%f%c%f",&a,&operator,&b); switch (operator) { case '+': c = a + b; printf("结果
2014-08-05 08:50:54 376
原创 简单的判断三个数能否构成三角形
int a = 0, b = 0 ,c = 0; printf("请输入三个数:\n"); scanf("%d %d %d",&a,&b,&c); if (a - b c && a - c b && b - c a ) { printf("这三个数可以构成三角形"); } else { printf
2014-08-05 08:45:26 8456
原创 C语言 找水仙花数
int a = 0,b = 0,c = 0; int count = 0; for (int i = 0; i a = i /100; b = i % 100 / 10; c = i % 100 % 10; if (i == pow(a, 3) + pow(b, 3) +pow(c, 3)
2014-07-31 23:06:52 910
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人