編程寫數組
① 用數組編程
用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語言文件: