导航:首页 > 编程知识 > 数组编程如何实现

数组编程如何实现

发布时间:2023-02-16 02:38:48

⑴ c语言数组编程问题

第一题:
#include<stdio.h>
void main()
{
int n[10],i,s,a=0,b=0,max,min;
printf("请输入10个整数:\n");
for (i=0;i<10;i++)
{
scanf("%d",&s);
n[i]=s;
}
max=n[0];
a=0;
min=n[0];
b=0;
for(i=1;i<10;i++)
{
if(max<n[i])
{
max=n[i];
a=i;
}
if(min>n[i])
{
min=n[i];
b=i;
}
}
printf("最大值为:%d,位于数组第%d个\n",max,a+1);
printf("最小值为:%d,位于数组第%d个\n",min,b+1);
}

⑵ C语言数组的编程!!很简单的!!

#include<stdio.h>
#include<math.h>
void Calculation()
{
int a[10];
int i,j,num,sum,t,k;
t=1;
sum=0;
printf("Please enter an integer:\n");
scanf("%d",&num);
j=(int)(log10(num)+1);
k=j;
while(k>1)
{
t=t*10;
k--;
}
for(i=j;i>0;i--)
{

a[i-1]=num/t;
num=num-a[i-1]*t;
t/=10;
sum+=a[i-1];
}
printf("sum is:%d\n",sum);

}
void main()
{
int i;
for(i=0;i<2;i++)
Calculation();
}

⑶ 如何利用数组编程

一、遍历—— for循环

int arr[] ={5,6,9,48,7,35,2};for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}
二、获取数组中的最大值

<span style="color:#ff0000;">//二:求数组中元素最大值 交换元素索引</span>public static int getArrayMax2(int[] x){int maxIndex=0;for(int i=1;i<x.length;i++){if(x[i]>x[maxIndex])maxIndex=i;}return x[maxIndex];}</span>
三、选择排序
<span style="color:#ff0000;">//选择排序的方式一</span>public static void selectSort(int arr[]){for(int i=0;i<arr.length-1;i++){for(int j=i+1;j<arr.length;j++){if(arr[i] > arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}} }}<span style="color:#ff0000;">//选择排序方法二(推荐使用)</span>public static void selectSort1(int arr[]){for(int i=0;i<arr.length-1;i++){int index=i;for(int j=i+1;j<arr.length;j++){if(arr[index] > arr[j]){index = j;}}if(index != i){int temp = arr[index];arr[index] = arr[i];arr[i] = temp;}}}

四、冒泡排序

1、内层for循环中arr.length -1表示防止数组越界

2、内层for循环arr.length-i表示后边的额i元素已经确定,不用比较

<span style="color:#ff0000;">//冒泡排序方式一(面试使用)</span>public static void boubleSort1(int arr[]){for(int i=0;i<arr.length-1;i++){for(int j=0;j<arr.length -1 -i;j++){if(arr[j] > arr[j+1]){int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}<span style="color:#ff0000;">//冒泡排序方式二</span>public static void boubleSort2(int arr[]){for(int i=arr.length -1;i>0;i--){for(int j=0;j<i;j++){if(arr[j] > arr[j+1]){int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}

五、二分查找

数组必须有序(从大到小或从小到大)

<span style="color:#ff0000;">//方法一</span>public static int halfSearch(int[] arr,int num){int min,max,mid;min=0;max=arr.length-1;mid = (min+max)/2;while(arr[mid]!=num) //如果num=mid,那么跳过循环,直接返回mid的下标即是所查数的下标{if(num>arr[mid])min=mid+1; //最小值移动到中间值的右侧,即中间值加1else if(num<arr[mid])max=mid-1;if(min>max)return -1;mid=(max+min)/2; //最大值移动到中间值的左侧,即中间值减1}return mid;}<span style="color:#ff0000;">//

⑷ 数组编程怎样实现

#include <stdio.h>

int main()
{
int a[5][5], i, j;
for(i = 0; i < 25; ++i)
*((int*)a + i) = i + 1;
for(i = 0; i < 5; ++i) {
for(j = 0; j < i; ++j)
printf("%2c ", ' ');
for(j = i; j < 5; ++j)
printf("%2d ", a[i][j]);
putchar('\n');
}
}

_1__2__3__4__5
____7__8__9_10
______13_14_15
_________19_20
____________25

这是输出,其中_代表空格

⑸ 简单的C语言数组编程

一般有四种数组定义方式,以一维数组为例:
//定义指定维数的数组int arr[10]; //定义不指定维数的数组,数组维数有初化列表元素个数决定。 int arr[] = {1,2,4}; //定义指定维数的数组,初始化不完全时,系统将未初始化元素初始化为0int arr[10] = {1,2}; //动态分配一个数组。

数组实例:
# include <stdio.h>

int main(void)
{
int i,a[8] = {1,2,3,4,5,6,7,8};
for(i = 0;i < 8; i++)
printf("数组元素a[%d] = %d \n",i ,a[i]);

return 0;
}

阅读全文

与数组编程如何实现相关的资料

热点内容
linux端口镜像 浏览:820
iphone5屏幕清尘 浏览:157
机顶盒密码怎么改 浏览:672
w7系统下载32位教程 浏览:618
pcb文件包括哪些内容 浏览:598
g00文件 浏览:607
用bat程序删除程序 浏览:516
dnf鬼泣90版本打安图恩 浏览:668
245倒角编程怎么计算 浏览:599
可以买生活用品的app有哪些 浏览:175
cad在c盘产生的文件夹 浏览:541
联想手机解锁工具 浏览:696
瑞银3887win10 浏览:833
学网络编程哪个好 浏览:805
手机vmos导入的文件在哪里 浏览:115
苹果手机可以把文件传到华为吗 浏览:63
海川化工下载的文件默认到哪里 浏览:343
学唱粤语歌app 浏览:975
qq游戏生死狙击玩不了 浏览:120
win10邮件不显示图片 浏览:922

友情链接