编程写数组
① 用数组编程
用c#写的。你复制到主函数里运行。如果是要java写,那你改一下输出函数Console。
如果是c语言、c++,输出函数得改。数组定义也得改成这样: int num[]={.....}
int[] num={1,2,3,4,5,6,7,8,9,10,11,12}//定义的数组,里面元素你可自己删减
int sum=0;
for(int i=0;i<num.Length;i++)//求和
{
sum=sum+num[i];
}
int avg=sum/num.Length;//平均值
for(int i=0;i<num.Length;i++)
{
Console.WriteLine("大于平均值的数组元素有:");
if(num[i]>avg) //如果该数组元素大于均值,则输出它
{
Console.WriteLine(num[i]);
}
}
Console.Read();
② 简单的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;
}
③ C语言编程题:定义一个数组,然后利用循环为数组输入10个整数,然后再将数组输出,请问该怎么做
#include<stdio.h>
int main(){
int a[10]={},i,sum=0;
printf("请输入10个整数: ");
for(i=0;i<10;i++){
scanf("%d",&a[i]);
sum+=a[i];
}
printf("10个元素和为:%d",sum);
return 0;
}
(3)编程写数组扩展阅读:
一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。
④ c语言数组的编程
答:这段程序是有错误,else
if(score[i]>max)
min=score[i];是错了
应该为else
min=score[i];或者:else
if(score[i]<min)
min=score[i];
还有max=min=score[0];
for(i=1;i<10;i++)可不可以换成max=min=score[0];
for(i=0;i<10;i++)。
不可以,因为score[0]你还没有给初值
for(i=0;i<10;i++)
scanf("%d",&score[i]);
/*这里是将它们赋值
max=min=score[0];
for(i=1;i<10;i++)
数组是先给初值才能执行的
float
ave;这个是多余的,因为没有涉及到求平均值
改后源程序如下:
main()
{int
i,score[10];
int
max,min;
printf("请输入10个成绩:\n");
for(i=0;i<10;i++)
scanf("%d",&score[i]);
max=min=score[0];
for(i=1;i<10;i++)
if(score[i]>max)
max=score[i];
else
min=score[i];
printf("max=%d,min=%d\n",max,min);
}
⑤ c语言编程题(数组)用数组这题怎么写
#include<stdio.h>
#defineN10
//选择排序算法,降序
voidselect_sort(int*array,intn)
{
inti,j,k;
inttmp;
for(i=0;i<n-1;i++)
{
k=i;//开始一趟选择排序,假定第i个元素是后面n-i+1个未排序的元素中最小的元素
for(j=i+1;j<n;j++)
{
if(array[k]<array[j])//如果发现比当前最小元素还小的元素,则更新记录最小元素的下标k
k=j;
}
//如果最小元素的下标不是后面n-i+1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置
if(k!=i)
{
tmp=array[k];
array[k]=array[i];
array[i]=tmp;
}
}
}
intmain()
{
intarr[N];
intn,i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",arr+i);
select_sort(arr,n);
for(i=0;i<n;i++)
printf("%d",arr[i]);
printf(" ");
return0;
}
//示例运行结果
F:c_work>a.exe
4
5176
7651
⑥ 数组编程怎样实现
#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
这是输出,其中_代表空格
⑦ 如何利用数组编程
一、遍历—— 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;">//
⑧ C语言如何输入一个数组
1、输入数组需要使用指针获取地址后,就能对得到的数组就行操作了。首先打开DEV C++软件,新建一个空白的C语言文件: