指针初级的应用
来源:互联网 发布:改字体的软件 编辑:程序博客网 时间:2024/06/05 18:45
// 1,随机产生20个[10 , 50]的正整数存到数组中,并求数组中的所有元素最大值、最小值、平均值以及各元素之和。第二大值(不排序),指针实现.
// int arr[NUM] = {0};
// for (int i = 0; i < NUM; i++) {
// *(arr + i) = arc4random() % 41 + 10;
// printf("%d " , *(arr + i));
// }
// int max = 0 , min = 50 , max2 = 0;
// float sum = 0;
// for (int * i = arr , j = 0; j < NUM; i++ , j++) {
// if (max < *i) {
// max = *i;
// }
// if (min > *i) {
// min = *i;
// }
// sum += *i;
// }
// for (int * i = arr , j = 0; j < NUM; i++ , j++) {
// if (*i != max) {
// if (max2 < *i) {
// max2 = *i;
// }
// }
// }
// printf("\n");
// printf("max = %d\nmin = %d\nsum = %.2f\naverage = %.2f\nmax2 = %d\n",max,min,sum,sum/NUM,max2);
// 2、输入10个整数,将其中最小的数与第一个数对换,把最大的数和最后一个数对换,指针实现
// int array[10] = {};
// printf("请输入10个整数:");
// for (int i = 0; i < 10; i ++) {
// scanf("%d",&*(array + 1));
// }
// int min = *array;
// int max = *array;
// for (int i = 0; i < 10; i ++) {
// printf("%d ",array[i]);
// }
// for (int i = 0; i < 10; i++) {
// if (min > *(array + i)) {
// min = *(array + i);
// }
// if (max < *(array + i)) {
// max = *(array + i);
// }
// }
// *array = min;
// *(array + 9) = max;
// printf("min = %d,max = %d\n",min,max);
// for (int i = 0; i < 10; i ++) {
// printf("%d ",array[i]);
// }
// 3,有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中,插入之后依然有序。指针实现
int array[11] = {34,45,55,58,68,70,75,79,89,95};
int value = 0;
printf("请输入一个数字:");
scanf("%d",&value);
for (int i =9; i >= 0; i--) {
if (value > *(array + i)) {
*(array + i +1) = value;
break;
}else {
*(array + i +1) = *(array + i);
}
}
for (int i =0; i < 11; i++) {
printf("%4d ", *(array+i));
}
// 4.编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。指针实现
// char str[100] = "my name is duan yang i love ios!";
// int count = 0 , max = 0;
// char * start = NULL;
// for (char * i = str, j = 0; *i != '\0'; i++ , j++) {
// if (*i != ' ') {
// count++;
// } else {
// if (max < count) {
// max = count;
// start = str + j - count;
// }
// count = 0;
// }
// }
// for (char * i = start; *i != ' ' ; i++) {
// printf("%c", *i);
// }
// 5,耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的叛徒。请找出它原来的序号,指针实现
// int peopleCount = 13; //13个人
// int array[13] = {0};
// int step = 1;
// int pos = 0;
// for (int i = 0; i < 13; i++)
// {
// *(array + i) = 1;
// printf("%d ",*(array + i));
// }
// printf("\n");
// while (peopleCount > 0) {
// //如果还没出局,step++
// if (*(array + pos) != 0) {
// step++;
// printf("step = %d",step);
// }
//
// if (step == 3) {
// *(array + pos) = 0; //置为0
// peopleCount--; //人数减1
// step = 0; //查号置0
// }
// pos++; //索引+1
// if (pos == 13) { //索引超最大值了,置0
// pos = 0;
// }
// }
// printf("\n");
// printf("pos = %d", pos);
// int mentu[13] = {0} , n = 0 , s = 0;
// for (int i = 0 , j = 0; j < 13; i++) {
// n = (i % 13);
// if (mentu[n] == 0) {
// s++;
// if (s == 3) {
// mentu[n] = 1;
// s = 0;
// j++;
// }
// }
// }
// printf("%d", n + 1);
// int mentu[13] = {0},n = 0,s = 0;
// for (int i = 0, j = 0; j < 13; i++) {
// n = (i % 13);
// if (mentu[n] == 0) {
// s ++;
// if (s == 3) {
// mentu[n] = 1;
// s = 0;
// j++;
// }
// }
// }
// printf("%d",n+1);
// 6,有一字符串,包含数字与字母,编程去除数字。1、要求在原字符串中操作2、使用指针处理。如原串:sdf32hfb32yr,处理完原串变为sdfhfbyr
// char strings[20] = {"an34s3we21r"};
// char *p = strings;
// printf("去除数字后的字符串为:");
// int i = 0;
// char temp[100] = {0};
// while (*(p+i) != '\0') {//判断条件
// if (*(p+i)>='0' && *(p+i) <='9') {//如果是数字,则将其剔除掉
// strcpy(temp , p + i +1);
// strcpy( p + i, temp );
// }else{
// i++;
// }
// }
// printf("%s",p);//输出字符
// char str[100] = "wo1shidu2an yang";
// char *j = NULL;
// for (char * i = str; *i != '\0'; i++) {
// if (*i <= '9' && *i > '0') {
// for (j = i; *j != '\0'; j++) {
// *j = *(j + 1);
// }
// }
// }
// printf("%s", str);
// char str[100] = "que3st7ion";
// char *j =NULL;
// for (char *i = str; * i != '\0'; i++) {
// if (*i <= '9'&& *i > '0') {
// for (j = i; *j != '\0';j++ ) {
// *j = *(j+1);
// }
// }
// }
// printf("%s",str);
- 指针初级的应用
- skin的初级应用
- Zend_Form的初级应用
- ajax的初级应用
- CATransition 的初级应用
- CATransition 的初级应用
- CATransition 的初级应用
- 指针--初级
- 指针初级
- 客户BOM的初级应用
- Handler机制的初级应用
- 三极管的应用(初级)
- const与引用,指针的初级用法
- Inno Setup 安装脚本的初级应用
- poj 3630 初级Trie的应用
- XCOPY初级应用,带目录的拷贝
- CATransition 的初级应用及type属性
- CATransition 的初级应用及type属性
- leveldb源码解析4——典型的RAII类 Mutex, CondVar 和 MutexLock
- audios 支持ios 自动播放 解决
- C语言基础:C语言宏定义(4) - 多文件编译
- POJ - 1007
- SizeClass与AutoLayout(初级篇)
- 指针初级的应用
- 在星巴克买咖啡思考技术团队的管理
- 鸡西辦畢業證
- 系统调用和库函数调用的区别
- C++之STL(四):算法简介、7种算法分类
- 冒泡排序的优化 折半查找法 循环打印三角形 耶稣13门徒找叛徒 有1000000个数,每个数取值范围是0~999999,找出其中重复的数,重复的次数。
- switch 另类写法
- 双屏扩展桌面类软件,展示界面位置不正确,或相反,如何解决?
- Java获得任意年份二月份的天数的方法