『壹』 將一個一維數組中的值按逆序存放,並輸出。
#include<iostream.h>
void main()
{
int a[6]={1,2,3,4,5,6},temp;
for(int i=0;i<=5;i++)
{if(i!=5)
cout<<a[i]<<' ';
else
cout<<a[i]<<endl;}
for(i=0;i<=2;i++)
{temp=a[i];a[i]=a[5-i];a[5-i]=temp;}
for(int j=0;j<=5;j++)
{if(j!=5)
cout<<a[j]<<' ';
else
cout<<a[j]<<endl;}
}
這才是逆序存放,你那隻是逆序輸出,存儲順序是沒變的
『貳』 編程實現將一個一維數組中的10個數逆序存放,將前5個元素與後5個元素對換。求各路神仙教教我怎麼編寫吧
#include <stdio.h>
void main(){
int num[10],temp.i,j;
for(i=0;i<10;i++){
prntf("請輸入第%d個數:",(i+1));
sanf("%d",&num[i]);
}
for(i=0;i<10;i++){
for(j=0;j<10-i;j++){
if(num[j]<num[j+1]){
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
printf("該數組逆序排序為:");
for(i=0;i<10;i++){
if(i<9){
printf("%d,",num[i]);
}else{
printf("%d",num[i]);
}
}
for(i=0;i<10;i++){
temp=num[i];
num[i]=num[i+4];
num[i+4]=temp;
}
}
printf("該數組前五項和後五項交換後:");
for(i=0;i<10;i++){
if(i<9){
printf("%d,",num[i]);
}else{
printf("%d",num[i]);
}
}
}
『叄』 求將一個一維數組中的元素逆序存放,一維數組長度用#define N ()自定。
#include<stdio.h>
#define N 10
int main(void)
{
int a[N],t;
int n,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
i=0,j=n-1;
while(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
『肆』 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;
}
(4)將一維數組中元素逆序存儲擴展閱讀:
選擇排序
主要思想就是,基本上默認數組中第一個元素為最大(最小)值,之後將這個元素和後面的每個元素都進行比較,以由大到小排序為例,當第一個值遇到比其大的,就進行交換。這樣第一輪過後,第一位就是最大的。
接著進行第二輪,由第二個數開始逐個比較,遇到比第二個數大的進行交換,這樣第二輪之後第二個數就是第二大的了,以此類推,不斷進行選擇,最後完成排序。
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語言中:將一維數組中的n(n<=50)個數按逆序存放。怎麼編程
思路就是將
數組中第一個和最後一個換位置
第二個和倒數第二個換位置
以此類推
源代碼如下:
#include<stdio.h>
int main(){
int n; //n個數字
int i; //循環變數
int num[50];
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&num[i]);
for(i=0;i<n/2;i++){
int t; //交換值的中間變數
t=num[i];
num[i]=num[n-i-1]; //注意是n-i後還要-1
num[n-i-1]=t; //因為當n為5的時候,num[0]對應的是[4]而不是[5]
}
for(i=0;i<n;i++){
printf("%d ",num[i]);
}
return 0;
}
『陸』 c 將一維數組 逆序存儲 並輸出。
main()
{
int i,j,n,t;
int d[n];
printf("input n:");
scanf("%d",&n); /*先確定數組長度*/
printf("input d[n]:");
for(i=0;i<n;i++)
scanf("%d",&d[i]); /*輸入數組*/
for(i=0,j=n-1;i<=(n-1)/2;i++, j--) /*i從小到大,j從大到小*/
{t=d[j];
d[j]=d[i];
d[i]=t;
}
for(i=0;i<n;i++)
{printf("%d",d[i]);}
}
『柒』 將一個數組中的元素按逆序存放,程序填空
程序代碼補全後如下:
#include <stdio.h>
#define N 7
main ()
{
static int a[N]={12,9,16,5,7,2,1},k,s;
printf(" the origanal array: ");
for (k=0;k<N;k++)
printf("%4d",a[k]);
for (k=0;k<N/2;k++) /*填循環控制變數遞增值*/
{
s=a[k];
a[k]=a[N-1-k];/*填對應位置數組元素互換*/
a[N-1-k]=s;
}
printf(" the changed array: ");
for (k=0;k<N;k++)
printf ("%4d",a[k]);/*填輸出語句*/}
數組中的元素
數組中的所有元素都具有相同類型(這一點和結構或類中的欄位不同,它們可以是不同類型)。數組中的元素存儲在一個連續性的內存塊中,並通過索引來訪問(這一點也和結構和類中的欄位不同,它們通過名稱來訪問)。數組元素並非只能是基元數據類型,還可以是結構、枚舉或類。
以上內容參考:網路-數組
『捌』 一維數組的定義與引用 編寫程序,將一個整型數組的全部元素逆序存儲。即若原來數組元素分別為1,2,3
#include<stdio.h>
#defineN10
intmain(void)
{
inta[N];
inti,temp;
printf("Inputnumber: ");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
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("%-2d",a[i]);
return0;
}