c语言如何实现倒序输出?

比较简单的方法是创建一个数组
从下标为9开始递减进行输入至下标为0
这样存储就会是倒序的了
然后再从下标为0开始递增输出到下标为9
另一种方法是创建两个数组
比如a和b,先顺序地将10个数据存储在a里
然后通过一个循环来将数据逆序存储在数组b里
这样数组b里就是逆序存储的了
最后顺序输出数组b
当然还有一种方法
可以使用一个链表(或者数组也可以)
然后使用栈的方式存储数据
题目中要求数据的存放是逆序的
这其实要具体地看存储的方式了
以栈来说,栈是一种先进后出的数据结构
从这种层面上来看的话它存储的数据就是“逆序”的
但如果使用一个数组来实现的话存储在数组里的数据就可能是顺序的(不使用逆序有方式将数据存储在数组里)
一个简单的例子
#include <stdio.h>
#define PUSH(i) (*p=i,++p)
#define POP(i) (--p,i=*p)
int main(int argc,char **argv)
{
int a[10];
int i,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("\n");
return 0;
}该例子,如果从栈这种数据结构的方式来看
先输入的数据会被压入到栈底
最后的数据在栈顶,从栈顶到栈底来看的话
数据的存储就是逆序的
如果从数组下标来看的话就是顺序的
这里我们可以将指针反转过来
#include <stdio.h>
#define PUSH(i) (*p=i,--p)
#define POP(i) (++p,i=*p)
int main(int argc,char **argv)
{
int a[11];
int i,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("\n",a[0]);
return 0;
}那么在数组的层面上来说也会是逆序的了
而以数组的顺序或逆序方式来说的e799bee5baa6e58685e5aeb931333339653639话
使用链表的方式则已经没有相对明确的“顺序”或者“逆序”了
当然我们也可以使用逆序链表的方法业创建栈数据结构
由于栈数据结构的性质决定了这种数据存储的方式

  • c璇█杈撳叆涓涓暣鏁,鐢ㄩ掑綊绠楁硶灏嗘暣鏁鍊掑簭杈撳嚭.
    绛旓細锛僫nclude锛渟tdio锛巋锛 voidorder锛縫rint锛坕ntn锛夛經 if锛坣锛10锛夛經 printf锛堬紓锛卍锛傦紝n锛夛紱return锛涳綕 order锛縫rint锛坣锛10锛夛紱printf锛堬紓锛5d锛傦紝n锛10锛夛紱锝 void reverse锛縫rint锛坕ntn锛夛經 if锛坣锛10锛夛經 printf锛堬紓锛咃紞5d锛傦紝n锛夛紱return锛涳綕 printf锛堬紓锛咃紞5d锛傦紝n锛10锛夛紱reverse锛...
  • 鐢C璇█缂栫▼:甯歌瀛楃涓鍊掑簭杈撳嚭鐨勭▼搴?
    绛旓細缁欎釜渚嬪瓙锛歩nclude<stdio.h> int main(){char s[100],*p;gets(s);for(p=s;*p;p++);for(;p>=s;p--)printf("%c",*p);printf("\n");getch();return 0;}
  • 鐢C璇█绋嬪簭缂栧啓鈥滆緭鍏ヤ竴涓洓浣嶆暣鏁(濡1234),浣垮叾鍊掑簭杈撳嚭(濡4321...
    绛旓細include<stdio.h>int main(){int n,s=0; scanf("%d",&n); while(n>0) {printf("%d",n%10); s+=n%10; n/=10; } printf("\n鍚勪綅涔嬪拰=%d\n",s); return 0; }
  • #c璇█#缂栧啓绋嬪簭,浣夸粠閿洏杈撳叆鐨勪笁浣嶆暟鍊掔潃杈撳嚭
    绛旓細鍙互鍙傝冧笅闈㈢殑浠g爜锛歩nclude<stdio.h> int main(){ int n,m,a,b,c;scanf("%d",&n);a=n/100;b=(n/10)%10;c=n%10;m=c*100+b*10+a;printf("杈撳嚭:%d",m);}
  • c璇█ 杈撳叆涓涓暣鏁,瑕佹眰鍊掑簭杈撳嚭 while璇彞
    绛旓細鍙互鍙傝冧笅闈㈢殑浠g爜锛歩nclude <stdio.h> int main(){ int i;scanf("%d",&i);while(i){ printf("%d ",i%10);i/=10;} return 0;} / 杈撳嚭锛12345 5 4 3 2 1 /
  • c璇█鐢ㄥ惊鐜殑鏂规硶,鎶婅緭鍏ョ殑涓涓暣鏁,鍊掑簭杈撳嚭
    绛旓細鎬濊矾锛氬彲浠ュ埄鐢╳hile寰幆渚濇瀵瑰叾杩涜瀵10鍙栦綑杈撳嚭骞堕櫎10鎿嶄綔鐩村埌鍏朵负0涓烘锛岃緭鍑虹殑缁撴灉灏辨槸璇ユ暣鏁扮殑鍊掑簭銆傚弬鑰冧唬鐮侊細include <stdio.h>int main(){int i;scanf("%d",&i);while(i){ printf("%d ",i%10); i/=10;}return 0; }/*杈撳嚭锛123455 4 3 2 1*/ ...
  • c璇█鎬庝箞鎸夎緭鍏ュ兼搴忔垨鍊掑簭杈撳嚭鏁版嵁?
    绛旓細瀹氫箟涓涓暣鏁扮被鍨嬬殑杈撳叆,鐒跺悗璁╁畠姝e簭杈撳嚭,鍊掑簭杈撳嚭鐩镐俊鏄緢澶C璇█鍒濆鍏ラ棬涓瀹氫細閬囧埌鐨勭粡鍏搁鐩,涓嬮潰灏辨槸鎴戝鏁存暟鐨勬搴忓拰鍊掑簭杈撳嚭涓鐐瑰皬灏忕殑鎬荤粨.1. 鍙嶅簭(鍊掑簭)杈撳嚭 鍙嶅簭杈撳嚭甯哥敤鐨勬濊矾灏辨槸鎸変綅鍙栦綑,鎶婂彇鍑烘潵鐨勫艰繘琛屽惊鐜繚瀛樸俰nt main(){ int i=12345; //瀹氫箟涓涓12345鐨勬暣鏁 int temp=0;/...
  • C璇█鏁存暟姝e簭銆佸弽搴忓拰鍊掑簭杈撳嚭?
    绛旓細瀹氫箟涓涓暣鏁扮被鍨嬬殑杈撳叆,鐒跺悗璁╁畠姝e簭杈撳嚭,鍊掑簭杈撳嚭鐩镐俊鏄緢澶C璇█鍒濆鍏ラ棬涓瀹氫細閬囧埌鐨勭粡鍏搁鐩,涓嬮潰灏辨槸鎴戝鏁存暟鐨勬搴忓拰鍊掑簭杈撳嚭涓鐐瑰皬灏忕殑鎬荤粨.1. 鍙嶅簭(鍊掑簭)杈撳嚭 鍙嶅簭杈撳嚭甯哥敤鐨勬濊矾灏辨槸鎸変綅鍙栦綑,鎶婂彇鍑烘潵鐨勫艰繘琛屽惊鐜繚瀛樸俰nt main(){ int i=12345; //瀹氫箟涓涓12345鐨勬暣鏁 int temp=0;/...
  • C璇█涓浣灏嗘暟缁鍊掑簭杈撳嚭?
    绛旓細鏈鍚庨『搴杈撳嚭鏁扮粍b 褰撶劧杩樻湁涓绉嶆柟娉 鍙互浣跨敤涓涓摼琛紙鎴栬呮暟缁勪篃鍙互锛夌劧鍚庝娇鐢ㄦ爤鐨勬柟寮忓瓨鍌ㄦ暟鎹 棰樼洰涓姹傛暟鎹殑瀛樻斁鏄閫嗗簭鐨 杩欏叾瀹炶鍏蜂綋鍦扮湅瀛樺偍鐨勬柟寮忎簡 浠ユ爤鏉ヨ锛屾爤鏄竴绉嶅厛杩涘悗鍑虹殑鏁版嵁缁撴瀯 浠庤繖绉嶅眰闈笂鏉ョ湅鐨勮瘽瀹冨瓨鍌ㄧ殑鏁版嵁灏辨槸鈥滈嗗簭鈥濈殑 浣嗗鏋滀娇鐢ㄤ竴涓暟缁勬潵瀹炵幇鐨勮瘽瀛樺偍鍦ㄦ暟缁勯噷鐨...
  • c璇█ 瀛楃涓叉暟缁鍊掑簭杈撳嚭
    绛旓細for(int i=1;i<=num;i++,ch2++)//鍥犱负string1鐨勭涓涓崟璇嶅墠娌℃湁绌烘牸绗︼紝鑲畾杈撲笉鍑烘潵锛屾墍浠ュ崟鐙敤涓涓惊鐜皢鍏杈撳嚭 (ch2-num)=*(ch1+i);ch2='\0'; //string2鐨勭粨鏉熸爣蹇 } 杩欐槸鎴戝仛浜嗕慨鏀逛箣鍚庣殑绋嬪簭锛岀湅鐪嬬涓嶇鍚堣姹傦紒锛佷綘鐨勯偅涓畾涔夌殑鍙橀噺澶锛屽緢娣蜂贡锛佸惊鐜鍙ュお涔变簡锛宨f鍒ゆ柇...
  • 扩展阅读:c语言将12345倒序输出 ... 实现数组的倒序方法 ... c语言逆序存放并输出 ... 将一个整数倒序输出 ... c语言怎么把数字倒序 ... c语言的1234的逆序输出 ... c++输入一串数字倒序输出 ... 怎么将字符串倒序输出 ... c语言如何倒序输出数字 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网