iOS C语言4_一维数组
2015-07-16 17:15
459 查看
//
// main.m
// C4_一维数组
//
// Created by dllo on 15/7/3.
// Copyright (c) 2015年 zhozhicheng. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[]) {
// // 最小公倍数
// int m = 0,n = 0;
// scanf("%d%d",&m,&n);
// int num = m > n ? m : n;
// // 用来保存找到的最小公倍数
// int minNum = 0;
// for (int i = num; i >= 1; i++) {
// if (i % m == 0 && i % n ==0) {
// minNum = i;
// break;
// }
//
// }
// printf("%d\n",minNum);
//
最大公约数
// int m = 0,n = 0;
// scanf("%d%d",&m,&n);
//
// int min = m < n ? m : n;
// // 用来保存最大公约数
// int num = 0;
// for (int i = min; i >= 1; i--) {
// if (m % i == 0 && n % i == 0 ) {
// num = i;
// break;
// }
// }printf("%d\n",num);
//
//
// // 辗转相除法
// int m = 0,n = 0;
// scanf("%d%d",&m,&n);
//
// while (m % n != 0) {
// int temp = m % n;
// // 把n给m
// m = n;
// // 结果给n
// n = temp;
//
// }printf("%d\n",n);
//
// // 定义一个一维数组
// int arr[5] = {1,2,3,4,5};
// printf("%d\n",arr[4]);
// C语言里,系统面对数组越界会产生一个警告,当前要访问的元素超过了下标的最大值,OC里数组越界会产生崩溃现象
//
数组溢出
//
遍历数组
// int arr[5]= {2,1};
// for (int i = 0; i < 5; i++) {
// printf("%d\n",arr[i]);
// }
//
//
// int arr[20]={0};
// int sum = 0;
// for (int i = 0; i < 20; i++) {
// arr[i] = arc4random() % (70 - 30 + 1) + 30;
//// printf("%d\n",arr[i]);
// sum = arr[i] + sum;
// }
// printf("%d\n",sum);
//
练习1
// int arr[20] ={0};
// // 范围 30- 70
//
// // 定义一个用来保存和值的一个变量
// int sum = 0;
// for (int i = 0; i < 20; i++) {
// arr[i] = arc4random() % (70 - 30 + 1) + 30;
// sum = sum + arr[i];
// printf("%d\n",arr[i]);
// }
//
// printf("%d\n",sum);
// int arr[20]={0};
// int max = 0,min = 70;
// // 用来保存最大值最小值所在数组的下标
// int maxIndex = 0,minIndex = 0;
//
// for (int i = 0; i < 20; i++) {
// arr[i] = arc4random() % (70 - 30 + 1) + 30;
// if (max < arr[i]) {
// max = arr[i];
// maxIndex = i;
//
// }
// if (min > arr[i]) {
// min = arr[i];
// minIndex = i;
// }
//
// }printf("%d\n%d\n",max,min);
// printf("%d\n%d\n",maxIndex,minIndex);
//
// // 练习2
// // 复制两个数组
// // 1.定义两个数组,长度相同
// int arr[20] = {0},b[20] = {20};
// // 给其中一个数组进行随机数赋值,范围30-70
// for (int i = 0; i < 20; i++) {
// arr[i] = arc4random() % (70 - 30 + 1) + 30;
// // 给b数组进行赋值操作
// b[i] = arr[i];
//
// }
//
用数组来保存和值
//
把1000种情况打印出来
// int arr[28] = {0};
//
// for (int i = 0; i < 10; i++) {
// for (int j = 0; j < 10; j++) {
// for (int k = 0; k < 10; k++) {
// arr[i + j + k]++;
//
// }
// }
// }
// for (int i = 0; i < 28; i++) {
// printf("%d\n",arr[i]);
// }
//
// // 练习3
// int arr[10]={0},b[10]={0},c[10]={0};
// for (int i = 0; i < 10; i++) {
// arr[i] = arc4random() % (40 - 20 + 1) + 20;
// b[i] = arc4random() % (40 - 20 + 1) + 20;
// c[i] = arr[i] + b[i];
// printf("%d\n",c[i]);
// }
// // 冒泡排序
// int arr[6]={2,1,5,6,3,4};
// // 外部循环-1 :循环执行到还有两个数没有排序的时候,只需要把未排序的两个数交换即可,执行次数是数组个数-1
// for ( int i = 0; i < 6-1; i++) {
// // 内部循环-1:为了防止数组越界,在内部循环处-1
// for (int j = 0; j < 6 - 1 - i; j++) {
// if (arr[j] > arr[j + 1]) {
// int temp = 0;
// temp = arr[j];
// arr[j]= arr[j + 1];
// arr[j + 1]= temp;
// }
// }
// }
// for (int i = 0; i < 6; i++) {
// printf("%d\n",arr[i]);
//
// }
//
// int arr[6]={2,1,5,6,3,4};
// // 重新写一遍冒号排序
// for (int i = 0; i < 6-1; i++) {
// for (int j = 0; j < 6 - 1 - i; j++) {
// if (arr[j] > arr[j + 1]) {
// int temp =0;
// temp = arr[j];
// arr[j] = arr [j + 1];
// arr[j + 1]= temp;
// }
// }
// }
// for (int i = 0; i < 6; i++) {
// printf("%d\n",arr[i]);
//
// }
// // 随机产生十个[20,40]随机数,并对十个数从小到大排序
// // 定义长度10的数组
// int arr[10] = {0};
// // 产生随机数,对数组进行赋值操作
// for (int i = 0; i < 10; i++) {
// arr[i] = arc4random() % (40 - 20 + 1) + 20;
// }
// // 对已经复制完成的数组进行排序操作
// // 对一个赋值完成的数组进行操作,不会出现问题
// for (int i = 0; i < 10; i++) {
// for (int j = 0; j < 10 - 1 - i; j++) {
// if (arr[j] > arr[j+1]) {
// int temp = 0;
// temp = arr[j];
// arr[j]= arr[j+1];
// arr[j+1]= temp;
// }
// }
// // 打印排序结果
// }for (int i = 0; i < 10; i++) {
// printf("%d\n",arr[i]);
// }
//
// // 字符数组和字符串
//// int arr[6]={1,2,3,4,5,6};
// // 字符数组
// char str[6]={'i','p','h','o','n', 'e'};
// // 下标是5的元素进行赋值
// str[5] = 'w';
//
//
// for (int i = 0; i < 6; i++) {
// printf("%c\n",str[i]);
// }
// // 字符串
//
双引号
// char str[]="iphone";
// // 字符数组
// char str1[]={'i','p','h','o','n','e'};
//
// int arr[5]= {1,3,2,6,4};
// printf("%ld\n",sizeof(arr));
// // 区别在于:字符串比字符数组在结尾的地方有一个'\0',\0
是字符串结束的标志,有\0
的字符数组才可以称为字符串
// // 打印字符串
// printf("%s\n",str);
//
// // %s打印是通过寻找字符串结束标志'\0',碰到'\0'就会结束打印
// // 关于字符串的一些功能函数
// char str[] = "iphone";
//
// // 字符串长度
// printf("%l d\n",strlen(str));
// // strlen 是肉眼能看见的字符个数
// printf("%l d\n",sizeof (str));
// // sizeof 是字符串所占空间的大小
包括'\0'
// char str[] = "iphone";
// // 字符串的拷贝
// char newStr[10]= "";
// strcpy(newStr, str );
// printf("%s\n",newStr);
//
字符串的拼接
//
// char str1[20] = " I have";
// char str2[20] = " iPhone";
// strcat(str1, str2);
// printf("%s\n",str1);
//
被拼接的字符串长度要足够长
//
字符串的比较
// char str1[] = "aba";
// char str2[] = "adc";
// printf("%d\n",strcmp(str1, str2));
// //用来记录空格数
// int number = 0;
// char str[] = "lads asdj hdh asdv asdls";
// for (int i = 0;i < strlen(str) ; i++) {
// if (str[i]==' ' ) {
// number = number + 1;
// }
// }printf("%d\n",number);
// char str[]="khfyomj";
// // 反向输出
// for (int i = (int)strlen(str ) - 1; i >= 0 ; i--) {
// printf("%c",str[i]);
//
// }
// printf("\n");
// // 倒转
// char str[] = {"world"};
// int len = strlen(str);
// for (int i =0 ; i < len / 2; i++) {
// char c = str[i];
// str[i] = str[len - 1 - i ];
// str[len -1 -i ] = c;
//
// }
// printf("%s\n",str);
return 0;
}
// main.m
// C4_一维数组
//
// Created by dllo on 15/7/3.
// Copyright (c) 2015年 zhozhicheng. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[]) {
// // 最小公倍数
// int m = 0,n = 0;
// scanf("%d%d",&m,&n);
// int num = m > n ? m : n;
// // 用来保存找到的最小公倍数
// int minNum = 0;
// for (int i = num; i >= 1; i++) {
// if (i % m == 0 && i % n ==0) {
// minNum = i;
// break;
// }
//
// }
// printf("%d\n",minNum);
//
最大公约数
// int m = 0,n = 0;
// scanf("%d%d",&m,&n);
//
// int min = m < n ? m : n;
// // 用来保存最大公约数
// int num = 0;
// for (int i = min; i >= 1; i--) {
// if (m % i == 0 && n % i == 0 ) {
// num = i;
// break;
// }
// }printf("%d\n",num);
//
//
// // 辗转相除法
// int m = 0,n = 0;
// scanf("%d%d",&m,&n);
//
// while (m % n != 0) {
// int temp = m % n;
// // 把n给m
// m = n;
// // 结果给n
// n = temp;
//
// }printf("%d\n",n);
//
// // 定义一个一维数组
// int arr[5] = {1,2,3,4,5};
// printf("%d\n",arr[4]);
// C语言里,系统面对数组越界会产生一个警告,当前要访问的元素超过了下标的最大值,OC里数组越界会产生崩溃现象
//
数组溢出
//
遍历数组
// int arr[5]= {2,1};
// for (int i = 0; i < 5; i++) {
// printf("%d\n",arr[i]);
// }
//
//
// int arr[20]={0};
// int sum = 0;
// for (int i = 0; i < 20; i++) {
// arr[i] = arc4random() % (70 - 30 + 1) + 30;
//// printf("%d\n",arr[i]);
// sum = arr[i] + sum;
// }
// printf("%d\n",sum);
//
练习1
// int arr[20] ={0};
// // 范围 30- 70
//
// // 定义一个用来保存和值的一个变量
// int sum = 0;
// for (int i = 0; i < 20; i++) {
// arr[i] = arc4random() % (70 - 30 + 1) + 30;
// sum = sum + arr[i];
// printf("%d\n",arr[i]);
// }
//
// printf("%d\n",sum);
// int arr[20]={0};
// int max = 0,min = 70;
// // 用来保存最大值最小值所在数组的下标
// int maxIndex = 0,minIndex = 0;
//
// for (int i = 0; i < 20; i++) {
// arr[i] = arc4random() % (70 - 30 + 1) + 30;
// if (max < arr[i]) {
// max = arr[i];
// maxIndex = i;
//
// }
// if (min > arr[i]) {
// min = arr[i];
// minIndex = i;
// }
//
// }printf("%d\n%d\n",max,min);
// printf("%d\n%d\n",maxIndex,minIndex);
//
// // 练习2
// // 复制两个数组
// // 1.定义两个数组,长度相同
// int arr[20] = {0},b[20] = {20};
// // 给其中一个数组进行随机数赋值,范围30-70
// for (int i = 0; i < 20; i++) {
// arr[i] = arc4random() % (70 - 30 + 1) + 30;
// // 给b数组进行赋值操作
// b[i] = arr[i];
//
// }
//
用数组来保存和值
//
把1000种情况打印出来
// int arr[28] = {0};
//
// for (int i = 0; i < 10; i++) {
// for (int j = 0; j < 10; j++) {
// for (int k = 0; k < 10; k++) {
// arr[i + j + k]++;
//
// }
// }
// }
// for (int i = 0; i < 28; i++) {
// printf("%d\n",arr[i]);
// }
//
// // 练习3
// int arr[10]={0},b[10]={0},c[10]={0};
// for (int i = 0; i < 10; i++) {
// arr[i] = arc4random() % (40 - 20 + 1) + 20;
// b[i] = arc4random() % (40 - 20 + 1) + 20;
// c[i] = arr[i] + b[i];
// printf("%d\n",c[i]);
// }
// // 冒泡排序
// int arr[6]={2,1,5,6,3,4};
// // 外部循环-1 :循环执行到还有两个数没有排序的时候,只需要把未排序的两个数交换即可,执行次数是数组个数-1
// for ( int i = 0; i < 6-1; i++) {
// // 内部循环-1:为了防止数组越界,在内部循环处-1
// for (int j = 0; j < 6 - 1 - i; j++) {
// if (arr[j] > arr[j + 1]) {
// int temp = 0;
// temp = arr[j];
// arr[j]= arr[j + 1];
// arr[j + 1]= temp;
// }
// }
// }
// for (int i = 0; i < 6; i++) {
// printf("%d\n",arr[i]);
//
// }
//
// int arr[6]={2,1,5,6,3,4};
// // 重新写一遍冒号排序
// for (int i = 0; i < 6-1; i++) {
// for (int j = 0; j < 6 - 1 - i; j++) {
// if (arr[j] > arr[j + 1]) {
// int temp =0;
// temp = arr[j];
// arr[j] = arr [j + 1];
// arr[j + 1]= temp;
// }
// }
// }
// for (int i = 0; i < 6; i++) {
// printf("%d\n",arr[i]);
//
// }
// // 随机产生十个[20,40]随机数,并对十个数从小到大排序
// // 定义长度10的数组
// int arr[10] = {0};
// // 产生随机数,对数组进行赋值操作
// for (int i = 0; i < 10; i++) {
// arr[i] = arc4random() % (40 - 20 + 1) + 20;
// }
// // 对已经复制完成的数组进行排序操作
// // 对一个赋值完成的数组进行操作,不会出现问题
// for (int i = 0; i < 10; i++) {
// for (int j = 0; j < 10 - 1 - i; j++) {
// if (arr[j] > arr[j+1]) {
// int temp = 0;
// temp = arr[j];
// arr[j]= arr[j+1];
// arr[j+1]= temp;
// }
// }
// // 打印排序结果
// }for (int i = 0; i < 10; i++) {
// printf("%d\n",arr[i]);
// }
//
// // 字符数组和字符串
//// int arr[6]={1,2,3,4,5,6};
// // 字符数组
// char str[6]={'i','p','h','o','n', 'e'};
// // 下标是5的元素进行赋值
// str[5] = 'w';
//
//
// for (int i = 0; i < 6; i++) {
// printf("%c\n",str[i]);
// }
// // 字符串
//
双引号
// char str[]="iphone";
// // 字符数组
// char str1[]={'i','p','h','o','n','e'};
//
// int arr[5]= {1,3,2,6,4};
// printf("%ld\n",sizeof(arr));
// // 区别在于:字符串比字符数组在结尾的地方有一个'\0',\0
是字符串结束的标志,有\0
的字符数组才可以称为字符串
// // 打印字符串
// printf("%s\n",str);
//
// // %s打印是通过寻找字符串结束标志'\0',碰到'\0'就会结束打印
// // 关于字符串的一些功能函数
// char str[] = "iphone";
//
// // 字符串长度
// printf("%l d\n",strlen(str));
// // strlen 是肉眼能看见的字符个数
// printf("%l d\n",sizeof (str));
// // sizeof 是字符串所占空间的大小
包括'\0'
// char str[] = "iphone";
// // 字符串的拷贝
// char newStr[10]= "";
// strcpy(newStr, str );
// printf("%s\n",newStr);
//
字符串的拼接
//
// char str1[20] = " I have";
// char str2[20] = " iPhone";
// strcat(str1, str2);
// printf("%s\n",str1);
//
被拼接的字符串长度要足够长
//
字符串的比较
// char str1[] = "aba";
// char str2[] = "adc";
// printf("%d\n",strcmp(str1, str2));
// //用来记录空格数
// int number = 0;
// char str[] = "lads asdj hdh asdv asdls";
// for (int i = 0;i < strlen(str) ; i++) {
// if (str[i]==' ' ) {
// number = number + 1;
// }
// }printf("%d\n",number);
// char str[]="khfyomj";
// // 反向输出
// for (int i = (int)strlen(str ) - 1; i >= 0 ; i--) {
// printf("%c",str[i]);
//
// }
// printf("\n");
// // 倒转
// char str[] = {"world"};
// int len = strlen(str);
// for (int i =0 ; i < len / 2; i++) {
// char c = str[i];
// str[i] = str[len - 1 - i ];
// str[len -1 -i ] = c;
//
// }
// printf("%s\n",str);
return 0;
}
相关文章推荐
- 有继承的C++析构函数一定要用virtual
- ★C++课程实训:银行储蓄系统(多文件组织)
- C++ static 全局变量使用注意
- 字典树的应用 单词意义查找-C语言实现
- C语言实现串,和简单的主函数测试
- C++ 优先队列应用方法 浅析
- KMP算法-C语言程序实现
- C++转型操作符:const_cast, static_cast, dynamic_cast和reinterpret_cast
- POJ 2528 (线段树+离散化)
- OC基础11:基本的C语言特性2
- c语言的有趣之处
- OC基础11:基本的C语言特性2
- UVa540插队问题
- c++编程经验一
- c/c++常见编程错误
- c语言栈 《个人理解》
- C语言实现单链表,和测试主函数
- C++关键字mutable
- 零基础如何入门C语言
- P1133装箱问题