您的位置:首页 > 编程语言 > C语言/C++

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: