c語言數組逆序
⑴ c語言如何實現數組元素倒置
1、打開c語言編輯器,新建一個空白的肢搏文件:
⑵ C語言編寫程序,將一個一維數組的值按逆序重新存放。
#include<stdio.h>
int main()
{
int a[5]={8,6,5,4,1},i,n=5,temp;
for(i=0;i<n/2;i++)
{
temp=a[i];
a[i]=a[n-i-1];
a[n-i-1]=temp;
}
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
system("pause");
return 0;
}
(2)c語言數組逆序擴展閱讀:
選擇排序
主要思想就是,基本上默認蔽粗數組中第一個元素為最大(最小)值,之後將這個元素和後面的每個元素都進行比較,以由大到小排序為例,當第一個值遇到比其大的,就進行交換。這樣第一輪過後,第一檔培位就是最大的。
接著進行第二輪,由第二個數開始逐個比較,遇到比第二個數大的進行交換,這樣第二輪之後第二個數就是第二大的了,以此類推,不斷進行選擇,最後完成排序。
void selectSort(int numbers[], int length) {
for (int i = 0; i < length; i++) {
for (int j = i + 1; j <宏蠢鎮 length; j++) {
if (numbers[i] < numbers[j]) {
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
}
}
int main(int argc, const char * argv[]) {
int myArray[] = {42, 7, 1, -3, 88};
int length = sizeof(myArray) / sizeof(myArray[0]);
selectSort(myArray, length);
for (int i = 0; i < length; i++) {
printf("%i ", myArray[i]);
}
return 0;
}
當第一個數來比較的時候,i = 0,那麼j應該等於i + 1,因為第一個數要和第二個數開始比,並且比較length - 1次;當i = 1時,j = 2,並且比較length - 2次,以此類推;上面寫的是由大到小排序。
⑶ c語言編程,將一個數組中的值按逆序排列。望解答。謝謝。
#include"stdio.h"
intmain(intargc,char*argv[]){
inta[10]={1,2,3,4,5,6,7,8,9,0},i,j,k;
for(i=0,j=9;i<j;j--,i++)
k=a[i],a[i]=a[j],a[j]=k;
for(i=0;i<10;printf("%d",a[i++]));
printf(" ");
return0;
}
運行結果:
⑷ c語言將數組中的數逆序存放
輸入格式:
輸入在第一行中給出一個正整數n(1≤n≤10)。第二行輸入n個整數,用空格分開。
輸出格式:
在一行中輸出這n個整數的處理結果,相鄰數字中間用一個空格分開,行末不得有多餘空格。
輸入樣例:
4
10 8 1 2
輸出樣例:
2 1 8 10
#include<stdio.h>
main()
{
int a[10],b[10],i,j,n,count=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a<i>);
}
for(j=n-1;j>=0;j--)
{
b[count]=a[j];
count++;
}
printf("隱纖%d",b[0]);
for(i=1;i<n;i++)
{
printf("%d",b<i>);
}
}
(4)c語言數組逆序擴展閱讀:
用法:
1、printf()函數是格式化輸出函數,一般用於向標准輸出設備按規定格式輸出信息。
格式輸出,它是c語言中產生格式化輸出的函數(在stdio.h中定義)。用於向終端(顯示器、控制台等)輸出字元。格式控制由要輸出的文字灶或仿和數據格式說明組成。
要輸出的文字除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些團哪轉義字元表示特殊的含義。
簡單點理解就是,在一段程序中你正確使用該函數,可以在該程序運行的時候輸出你所需要的內容。
2、printf函數是一個標准庫函數,它的函數原型在頭文件「stdio.h」中。但作為一個特例,不要求在使用printf函數之前必須包含stdio.h文件。
printf()函數的調用格式為:printf("<格式化字元串>",<參量表>)。
其中格式化字元串用於指定輸出格式。格式控制串可由格式字元串和非格式字元串兩種組成。
⑸ c語言數組逆序問題 求助大佬
#include <stdio.h>
#define N 20
int main()
{
早如肢 int i = 0, a[N];
do
{
scanf("%d", a + i);
} while (a[i++] > 0);
{
int j,t;
for(j=0,i-=2;j<i;j++,i--)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
/* 請在這里填橡祥寫答案 */
}
for (i = 0; a[i] > 0; i++)
printf("%5d"陸世, a[i]);
return 0;
}