输入/输出一维数组的各元素

方法一:数组法——用a[i]形式法访问数组元素

#include<stdio.h>

int main()

{

int i,a[10],*ptr=a;

for(i=0;i<=9;i++)

scanf("%d",&a[i]);

for(i=0;i<=9;i++)

printf("%4d",a[i]);

printf("\n");

}

方法二:指针法——用*(ptr+i)形式间接访问的方法来访问数组元素

#include<stdio.h>

int main()

{

int i,a[10],*ptr=a;

for(i=0;i<=9;i++)

scanf("%d",ptr+i);

for(i=0;i<=9;i++)

printf("%4d",*(ptr+i));

printf("\n");

}

或者

#include<stdio.h>

int main()

{

int i,a[10],*ptr=a;

for(i=0;i<=9;i++)

scanf("%d",ptr++);

ptr=a;                          //指针变量重新指向数组首地址

for(i=0;i<=9;i++)

printf("%4d",*ptr++);

printf("\n");

}

方法三:数组名法   用*(a+i)形式访问数组元素

#include<stdio.h>

int main()

{

int i,a[10],*ptr=a;

for(i=0;i<=9;i++)

scanf("%d",a+i);

for(i=0;i<=9;i++)

printf("%4d",*(a+i));

printf("\n");

}

方法四:指针下标法   用ptr[i]形式访问数组元素

#include<stdio.h>

int main()

{

int i,a[10],*ptr=a;

for(i=0;i<=9;i++)

scanf("%d",&ptr[i]);

// ptr=a;                          //指针变量重新指向数组首地址

for(i=0;i<=9;i++)

printf("%4d",ptr[i]);

printf("\n");

}

时间: 2024-10-01 14:46:17

输入/输出一维数组的各元素的相关文章

[经典面试题]输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。

[题目] 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个排好序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1. [分析] 这道题最直观的解法并不难.从头到尾遍历数组一次,就能找出最小的元素,时间复杂度显然是O(N).但这个思路没有利用输入数组的特性,我们应该能找到更好的解法. 我们注意到旋转之后的数组实际上可以划分为两个排序的子数组,而且前面的子数组的元素都大于或者等于后面

17、把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1. NOTE:给出的所有元素都大于0,若数组大小为0,请返回0. eg: 输入 3 4 5 1 2 输出 1 思路:用二分法查找最小元素 三种情况: (1)rotateArray[mid] >rotateArray[high]: like:[x,x,x,6,x,x,2],此时最小数字一

输出 一维数组中最大的数+数组遍历

1 //将数组中最大的数输出 2 //数组遍历 3 int[] arr = new int[]{2,4,1,6,10,11}; 4 System.out.println("输出一维数组 :"); 5 for(int i=0; i<arr.length;i++) 6 { 7 System.out.print(arr[i]+" "); 8 } 9 10 System.out.println(); 11 12 int max = arr[0]; 13 for(int

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

public class shuzujiaohuan { public static void main(String[] args) {  // TODO 自动生成的方法存根  Scanner reader=new Scanner(System.in);  int[] a=new int[10];  for(int i=0;i<a.length;i++){   System.out.print("请输入"+a.length+"个数字,当前第"+(i+1)+&

【c语言】用指针变量输出一维数组中的数据

#include<stdio.h>void main(){    int i,*m,a[5];    printf("数组:"); //普通方式输出数组的元素    for(i=0;i<5;i++){        a[i]=rand()%100;            printf("%-4d",a[i]);    }    printf("\n");    m=&a; //指针变量输出数组的元素    for(i=0

计算一维数组各元素的和

package course; public class SumNum { public static void main(String[] args) { int[] num={1,2,3,4,5,6,7,8,9,10}; int sum=0; System.out.println("一维数组中各元素的和是:"); for(int i=0;i<10;i++){ if(i==9){ System.out.print(num[i]+"="); }else{ Sy

【图文+视频新手也友好】Java一维数组详细讲解(内含练习题答案+详解彩蛋喔~)

目录 视频讲解: 一.数组的概述 二.一维数组的使用 三.Arrays工具类中的sort方法(sort方法用的多,我们具体讲一下) 四.数组中的常见异常 五.一维数组练习题 六.彩蛋(本期视频使用的PPT+[练习题(带答案和详解)]) [新手友好型视频]全面讲解Java一维数组(内含带答案和讲解的练习题彩蛋喔)看完即上手!更有详解版练习题来帮你加深印象~~ 视频讲解: 点击这里即可到小乔的B站观看 一.数组的概述 数组(Array),是存储一系列同类型数据元素的一种数据结构.它通过数组名和一个整

一维数组复习,二维数组与多维数组

输入班级人数,输入每个人的分数,求班级最高分,最低分,以及去掉两个最高分并且去掉两个最低分之后的所有人员的平均分. 输入班级人数,输入一个人名,输入一个分数.求班级最高分是多少,是谁的分数(注意姓名跟分数对应) 运用两个一维数组: 运用一个一维数组: 一个元素是一个点,一维数组是一条线,二维数组是一个面,三维数组是一个立体. 二维数组: int [,]array=new int[3,2]{ {1,2}, {2,3}, {3,4} }; 其中3表示有三个一维数组,2表示每个一维数组中有两个元素.

求一维数组的最大子数组1(结对开发)

题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n) 发表一篇博客文章讲述设计思想,出现的问题,可能的解决方案(多选).源代码.结果截图.总结. 结对开发的伙伴: 博客名:Mr.缪 姓名:缪金敏 链接:http://www.cnblogs.com/miaojinmin799/ 分析: 如果按照最笨的方法就是一个一个的比较先比较一个数的然后二个