91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用C語言怎么實現數組的循環左移和右移操作

發布時間:2021-02-25 15:33:18 來源:億速云 閱讀:1436 作者:戴恩恩 欄目:編程語言

本文章向大家介紹利用C語言怎么實現數組的循環左移和右移操作的基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。

C語言是什么

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用于底層開發,使用C語言可以以簡易的方式編譯、處理低級存儲器。

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

假設數組為 : 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語言怎么實現數組的循環左移和右移操作的全部內容了,希望大家多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

抚州市| 克什克腾旗| 南召县| 微博| 利津县| 钟祥市| 陆丰市| 双鸭山市| 栖霞市| 安远县| 厦门市| 商洛市| 文登市| 冕宁县| 土默特右旗| 赤水市| 翁牛特旗| 武冈市| 苗栗市| 锡林郭勒盟| 牟定县| 大化| 历史| 漾濞| 黔南| 丰都县| 八宿县| 韶山市| 奉化市| 临泽县| 克拉玛依市| 宝坻区| 北辰区| 双柏县| 钦州市| 华安县| 宜黄县| 洱源县| 南阳市| 建阳市| 晋宁县|