国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言實現數組的循環左移,右移,翻轉的示例

2020-01-26 13:40:19
字體:
來源:轉載
供稿:網友

數組結合指針可以實現很多有趣的功能,比如下面這個程序:

假設數組為 : 12345

如果左移一次即為:23451 ,依次類推

如果右移一次即為:51234 ,依次類推

翻轉則為:54321

我們來實現下這個程序:

#include <stdio.h>#include <stdlib.h>#include <string.h>#define NR(x) (sizeof(x)/sizeof(x[0]))//數組左移 int buffer_left_move(int *buffer , int buf_len){	int i ;	char tmp = buffer[0];	for(i = 1 ; i < buf_len ; i++)	{		buffer[i-1] = buffer[i] ;	}	buffer[buf_len-1] = tmp ;}//數組右移 int buffer_right_move(int *buffer , int buf_len){	int i ;	char tmp = buffer[buf_len - 1];	for(i = buf_len ; i > 0 ; i--)	{		buffer[i] = buffer[i-1] ; 	}	buffer[0] = tmp ;}//數組翻轉 int buffer_turn_over(int *buffer , int buf_len){	int size = buf_len ; 	int i , tmp; 	for(i = 0 ; i < size/2 ; i++)	{		tmp = buffer[i] ; 		buffer[i] = buffer[size-1-i] ;		buffer[size-1-i] = tmp;	}}//打印數組 void print_buffer(int *buffer, int buf_len){	int i ;	system("cls");	printf("please input /'a' or /'b' or /'w' /n");	for(i = 0 ; i < buf_len ; i++)	{		printf("%d",buffer[i]);	}	putchar('/n');} int main(void){	int buffer[5] = {1,2,3,4,5} ;		print_buffer(buffer,NR(buffer));	while(1)	{		switch(getch())		{				//左邊 			case 'a': 					buffer_left_move(buffer,NR(buffer)) ;					print_buffer(buffer,5);					break ;			//右邊 			case 'd': 					buffer_right_move(buffer,NR(buffer));					print_buffer(buffer,5);					break ;			//翻轉 			case 'w':					buffer_turn_over(buffer,NR(buffer)) ;					print_buffer(buffer,5);					break ;		}	}	return 0 ; }

運行結果:

please input 'a' or 'b' or 'w'12345

按下a為不斷左移,按下d為不斷右移,按下w則為翻轉

以上這篇C語言實現數組的循環左移,右移,翻轉的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 茶陵县| 宜宾市| 河曲县| 灌南县| 阿荣旗| 台山市| 三门峡市| 嘉兴市| 南城县| 沧州市| 吉安县| 双桥区| 扶风县| 阿克陶县| 准格尔旗| 上栗县| 临清市| 兴城市| 赣榆县| 梁平县| 张家港市| 常熟市| 平谷区| 宁明县| 平顶山市| 马龙县| 彩票| 濮阳县| 华坪县| 正宁县| 阿克| 宝清县| 灵璧县| 寿阳县| 广饶县| 汤原县| 虎林市| 临沭县| 施秉县| 龙胜| 长泰县|