1. 用c語言將一個數組中的值按逆序重新存放,怎麼編輯
你這個逆序是指大小逆序還是說整個數組倒置?
如果是大小逆序很簡單,使用一個冒泡排序法就可以搞定
至於數組倒置的話,就聲明一個同樣大小的新數組,讓新數組的第一個元素等於原數組的最後一個,第二個元素等於原數組的倒數第二個,以此類推很好寫的void reverse(int* m,int n)//其中m表示數組,n表示數組元素個數{ int i=0; int k=(n+1)/2; int* ptStart=m; int* ptEnd=m+n-1; while(i<k) { if(ptStart==ptEnd) break; int
這題目書上有例子的,你還是自己把書多看幾遍吧,我開始跟你一樣,一看到不懂就想問別人, 先把書上想關例子思路想清楚了,過段時間自己再根據那思路方法自己慢慢編吧.
2. c語言題:在鍵盤輸入10個整數 逆序存放並輸出
比較簡單的方法是創建一個數組
從下標為9開始遞減進行輸入至下標為0
這樣存儲就會是倒序的了
然後再從下標為0開始遞增輸出到下標為9
另一種方法是創建兩個數組
比如a和b,先順序地將10個數據存儲在a里
然後通過一個循環來將數據逆序存儲在數組b里
這樣數組b里就是逆序存儲的了
最後順序輸出數組b
當然還有一種方法
可以使用一個鏈表(或者數組也可以)
然後使用棧的方式存儲數據
題目中要求數據的存放是逆序的
這其實要具體地看存儲的方式了
以棧來說,棧是一種先進後出的數據結構
從這種層面上來看的話它存儲的數據就是「逆序」的
但如果使用一個數組來實現的話存儲在數組里的數據就可能是順序的(不使用逆序有方式將數據存儲在數組里)
一個簡單的例子
#include<stdio.h>
#definePUSH(i)(*p=i,++p)
#definePOP(i)(--p,i=*p)
intmain(intargc,char**argv)
{
inta[10];
inti,r;
int*p=a;
for(i=0;i<10;++i)
{
scanf("%d",&r);
PUSH(r);
}
for(i=0;i<10;++i)
{
POP(r);
printf("%d",r);
}
printf(" ");
return0;
}
該例子,如果從棧這種數據結構的方式來看
先輸入的數據會被壓入到棧底
最後的數據在棧頂,從棧頂到棧底來看的話
數據的存儲就是逆序的
如果從數組下標來看的話就是順序的
這里我們可以將指針反轉過來
#include<stdio.h>
#definePUSH(i)(*p=i,--p)
#definePOP(i)(++p,i=*p)
intmain(intargc,char**argv)
{
inta[11];
inti,r;
int*p=a+10;
for(i=0;i<10;++i)
{
scanf("%d",&r);
PUSH(r);
}
for(i=0;i<10;++i)
{
POP(r);
printf("%d",r);
}
printf(" ",a[0]);
return0;
}
那麼在數組的層面上來說也會是逆序的了
而以數組的順序或逆序方式來說的話
使用鏈表的方式則已經沒有相對明確的「順序」或者「逆序」了
當然我們也可以使用逆序鏈表的方法業創建棧數據結構
由於棧數據結構的性質決定了這種數據存儲的方式
3. C語言編程 輸入10個整數為數組,逆序儲存這10個數並輸出(用printf)
#include<stdio.h>
intmain()
{
inta[10];
inti;
intt;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
{
t=a[i];
a[i]=a[9-i];
a[9-i]=t;
}
for(i=0;i<10;i++)
printf("%d",a[i]);
printf(" ");
}
4. 用C語言將一個數組中的值按逆序重新存放。例如,原來順序為8,6,5,4,1.要求改為1,4,5,6,8.
#include<stdio.h>
int main()
{
int a[20]={1,0},i,n,j;
printf("請輸入數組元素的個數:");
scanf("%d",&n);
printf("請輸入數組元素: ");
for(i=0;i<n;i++)
scanf("%d",&a<i>);
for(i=0;i<n/2;i++)
a<i>=a[n-1-i];
printf("逆序存放後的數組: ");
for(i=0;i<n;i++)
printf("%d",a<i>);
return 0;
}
(4)批量數據逆序存儲c語言擴展閱讀:
include用法:
#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。
插入頭文件的內容
#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:
1、#include<文件名>
2、#include"文件名"
5. 用C語言將一個數組中的值按逆序重新存放怎麼操作
#include <stdio.h>
#define N 5
int main()
{ int a[N],i,temp;
printf("enter array a: ");
for (i=0;i<N;i++)
scanf("%d",&a[i]);
printf("array a: ");
for (i=0;i<N;i++)
printf("%4d",a[i]);
for (i=0;i<N/2;i++) //循環的作用是將對稱的元素的值互換
{ temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
printf(" Now,array a: ");
for (i=0;i<N;i++)
printf("%4d",a[i]);
printf(" ");
return 0;
}
6. C語言,將一個數組中的值按逆序重新存放
#include "stdio.h"
void Swap(int *a, int *b) /*交換a、b兩個數*/
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void Turn(int a[], int left, int right) /*對數組a從left到right區域實現逆置(翻轉)*/
{
int i, j;
for(i = left, j = right; i < j; i++, j--)
Swap(&a[i], &a[j]);
}
void main( )
{
int n, i, a[100];
scanf("%d", &n); /*輸入數組中數據元素的個數*/
for(i = 0; i < n; i++) /*輸入數組中各個數據元素*/
scanf("%d", &a[i]);
Turn(a, 0, n - 1); /*翻轉*/
for(i = 0; i < n; i++) /*輸出翻轉結果*/
printf("%d\t", a[i]);
}
7. 編寫一個C語言程序:將一個數組中的值按逆序重新存放
#include<stdio.h>
int main()
{int n,i,j,t,a[200];
printf("數組中數的個數:");
scanf("%d",&n);
printf("數組中的數: ");
for(i=0;i<n;i++)
{
a[i]=i+1;
printf("%d ",a[i]);
}
for(i=0,j=n-1;i<j;i++,j--)
{t=a[i];a[i]=a[j];a[j]=t;}
printf(" 逆序後的數組: ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf(" ");
getch();
return 0;
}
8. C語言中,將一個數組的值按逆序重新存放,例如,原來順序為:8,6,5,4,1。要求 改為:1,4,
#include<stdio.h>
int main()
{
int a[5]={8,6,5,4,1};
int temp,i=0,j=0;
for(i=0;i<2;i++)
{
temp=a[i];
a[i]=a[4-i];
a[4-i]=temp;
} //將第一個和最後一個值交換,思路就是這樣
for(i=0;i<5;i++){
printf("%d ",a[i]);
}
return 0;
}
(8)批量數據逆序存儲c語言擴展閱讀:
數組的使用規則
1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。
2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1},而不能寫為:static int a[10]=1。
3.如不給可初始化的數組賦初值,則全部元素均為0值。
4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。
網路-數組
9. c語言編程:將一個數組中的值按逆序重新存放,例如,原來順序為8,6,5,4,3,要求改為3,4,5
1、首先以一個數組變數和一個數組長度變數。
10. 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>);
}
}
(10)批量數據逆序存儲c語言擴展閱讀:
用法:
1、printf()函數是格式化輸出函數,一般用於向標准輸出設備按規定格式輸出信息。
格式輸出,它是c語言中產生格式化輸出的函數(在stdio.h中定義)。用於向終端(顯示器、控制台等)輸出字元。格式控制由要輸出的文字和數據格式說明組成。
要輸出的文字除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。
簡單點理解就是,在一段程序中你正確使用該函數,可以在該程序運行的時候輸出你所需要的內容。
2、printf函數是一個標准庫函數,它的函數原型在頭文件「stdio.h」中。但作為一個特例,不要求在使用printf函數之前必須包含stdio.h文件。
printf()函數的調用格式為:printf("<格式化字元串>",<參量表>)。
其中格式化字元串用於指定輸出格式。格式控制串可由格式字元串和非格式字元串兩種組成。