當前位置:首頁 » 編程語言 » c語言10個反向輸出
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言10個反向輸出

發布時間: 2022-10-11 09:48:28

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;
}

那麼在數組的層面上來說也會是逆序的了


而以數組的順序或逆序方式來說的話

使用鏈表的方式則已經沒有相對明確的「順序」或者「逆序」了

當然我們也可以使用逆序鏈表的方法業創建棧數據結構

由於棧數據結構的性質決定了這種數據存儲的方式

⑵ C語言程序:用數組將輸入的10個數字反向輸出。請高手幫忙,初學者請教!

#include<stdio.h>
#include<stdlib.h>
#define N 10

main()
{
int a[N],i,temp;

for(i=0;i<=N-1;i++)
scanf("%d",&a[i]);//存一個十個數的數組

for(i=0;i<=N-1;i++)//列印 輸入的數組
printf("%d\t",a[i]);
printf("\n");

for(i=0;i<=N/2-1;i++)
{
temp=a[N-i-1];//把頭和尾的交換。主要是下之間的關系要找對
a[N-1-i]=a[i];
a[i]=temp;
}

for(i=0;i<=N-1;i++)//列印處理後的數組
printf("%d\t",a[i]);
printf("\n");

system("pause");
}

⑶ c語言怎麼正向反向輸出字元

這里分享下c語言正向反向輸出字元的方法。

設備:聯想h430

系統:win1064位

軟體:c語言c99

1、打開Dev-C++軟體,新建一個空白文件。

7、最後,輸出寬字元變數,用wprintf命令實現輸出。

⑷ C語言:輸入10個數,將這十個數以逆序形式輸出

授人以魚不如授人以漁!雖然我也是復制的,希望對你有幫助!
這個程序是譚浩強書上的經典程序:
for
(i=0;i<N/2;i++)
(一)
關於N/2:
從零開始循環,一直到某個數的一般,比如N=15,則是0--7;
若N=16,則是0--8
為啥?
因為奇數是關於中間對稱:比如15,中間是8,兩邊的是:1--7和
9--15,兩邊是7個,中間一個
所以中間的不用循環,即是中間的8不用調換,兩邊的調換
而偶數16,1--8和9--16都是8
個,直接調換即可
{
(二)
t=a[i];
把第i個賦給t
a[i]=a[N-1-i];
把與第i個對稱的賦值給第i個
a[N-1-i]=t;
然後t(即剛才的第i個賦給與i對稱的)
完成了對調
}
(三)
關於N-1-i
例如15:因為第一個是0(i=0,所以a【i】=a【0】),所以與0對稱的是14(因為是15個數,所以是標號0----14),即a【0】----a【14】、
a[1]----a[13],a[2]---a[12],………………
所以是
0-----15-1-0
1-----15-1-1
2-----15-1-2
………………
即i與N-1-i對調

⑸ C語言:鍵盤輸入10個數存入數組中,將這10個數逆序輸出

這是你要求的程序,我已經通過vc調試運行通過了
#include<stdio.h>
void main()
{
int i=0,array[10];
for(i=0;i<10;i++)
{
printf("輸入第%d個數:",i+1);
scanf("%d",&array[i]);
flushall();
}
printf("逆序輸出為:\n");
for(i=9;i>=0;i--)
printf("%d\t",array[i]);
printf("\n");
}

⑹ C語言:鍵盤輸入10個數存入數組中,將這10個數逆序輸出

通過循環即可實現該功能

1 順序循環,輸入10個數值;

2 逆序循環,輸出10個數。

代碼

intmain()
{
inti,a[10];
for(i=0;i<10;i++)
scanf("%d",a+i);

for(i=9;i>=0;i--)
printf("%d",a[i]);

return0;
}

⑺ C語言 10個連續的數字反向輸出,這個程序那裡錯誤了

定義的時候就直接賦值就好了
就是int a[10]={1,2,3,4,5,6,7,8,9,10} ;
這樣就OK了

⑻ C語言,輸入十個數,逆序輸出(數組實現)

#include<stdio.h>

#define N 10

int main()

{

int a[N]={0,1,2,3,4,5,6,7,8,9};

int i,t;

printf("原始數組是: ");

for(i=0;i<N;i++)

printf("%d ",a[i]);

for(i=0;i<N/2;i++)

{

t=a[i];

a[i]=a[N-1-i];

a[N-1-i]=t;

}

printf(" 排序後的數組: ");

for(i=0;i<N;i++)

printf("%d ",a[i]);

printf(" ");

return 0;

}

(8)c語言10個反向輸出擴展閱讀:

數組中的元素:

與結構或類中的欄位的區別

數組中的所有元素都具有相同類型(這一點和結構或類中的欄位不同,它們可以是不同類型)。數組中的元素存儲在一個連續性的內存塊中,並通過索引來訪問(這一點也和結構和類中的欄位不同,它們通過名稱來訪問)。

數組元素並非只能是基元數據類型,還可以是結構、枚舉或類。

參考資料:網路——數組

⑼ C語言編程,輸入10個整數,分別按順序和逆序輸出

C語言通過輸入十個整數然後分別順序和逆序輸出的編程思想和方法如下:

1.首先需要定義一個整型數組用於存儲輸入的10個整數。這里定義一個數組a。

⑽ C語言:輸入十個數再把這十個數逆序輸出怎麼弄啊

思路是:這十個數用數組a[10]存儲,然後以a[9]-a[0]逆序輸出,這是很簡單的事情