您当前的位置:首页 > IT编程 > C语言
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:C 练习实例67

51自学网 2023-01-07 20:32:34
  C语言
这篇教程C 练习实例67写得很实用,希望能帮到您。

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

程序分析:谭浩强的书中答案有问题。

实例

//利用指针实现数组的滚动 本例实现数组像右滚动几位#include <stdio.h>#include <stdlib.h> int main(){ int arr[20]; int i,n,offset; //输入数组大小和数组内容 printf("Total numbers?/n"); scanf("%d",&n); printf("Input %d numbers./n",n); for(i=0;i<n;i++) scanf("%d",&arr[i]); //输入滚动偏移量 printf("Set your offset./n"); scanf("%d",&offset); printf("Offset is %d./n",offset); //打印滚动前数组 print_arr(arr,n); //滚动数组并打印 move(arr,n,offset); print_arr(arr,n);} //打印数组void print_arr(int array[],int n){ int i; for(i=0;i<n;++i) printf("%4d",array[i]); printf("/n");}//滚动数组void move(int array[],int n,int offset){ int *p,*arr_end; arr_end=array+n; //数组最后一个元素的下一个位置 int last; //滚动直到偏移量为0 while(offset) { last=*(arr_end-1); for(p=arr_end-1;p!=array;--p) //向右滚动一位 *p=*(p-1); *array=last; --offset; }}

C 练习实例66
C 练习实例68
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1