有n個整數,使前面各數順序向后移m個位置,最后m個數變成最前面m個數,見圖8.43。 寫一函數實現以上功能,在主函數中輸人n個整數和輸出調整后的n個數


有n個整數,使前面各數順序向后移m個位置,最后m個數變成最前面m個數,見圖8.43。 寫一函數實現以上功能,在主函數中輸人n個整數和輸出調整后的n個數

有n個整數,使前面各數順序向后移m個位置,最后m個數變成最前面m個數,見圖8.43。 寫一函數實現以上功能,在主函數中輸人n個整數和輸出調整后的n個數

解題思路: 找出倒數第m個數據,從這里開始保存倒數第m位置的數據,因為倒數第m位置的數據要放到數組最前方,將m之前的數據向后偏移一位,然后將數組第一個位置的數據替換為保存的m位的數據,逐個往后遞增即可。

答案:

#include <stdio.h>
void move(int *arry, int n, int m)
{
	int end_idx = n - m;//找到倒數第m個數據的位置,也就是要移動到數組首部的數據的起始位置
	for (int i = 0; i < m; i++) {
		int *p = arry + end_idx + i;//從倒數第m個數據的位置開始逐漸向后偏移直到數組尾部
		int tmp = *p;//獲取到這個位置的值,用於數組前邊數據向后偏移1位之后,向數組第i位賦值
		for (int j = end_idx + i; j > i; j--) {//從第i位開始逐個向后偏移一位
			*p = *(p - 1);
			p--;
		}
		*(arry + i) = tmp;//數組的前第i個數字逐個替換為后邊被覆蓋的值
	}
}
int main()
{
	int number[32], n, m, i;
	printf("Please enter the number of numbers: ");
	scanf_s("%d", &n);//先確定要輸入多少個數字
	printf("Please enter %d numbers: ", n);
	for (i = 0; i < n; i++) {
		scanf_s("%d", &number[i]);//輸入指定個數的數字
	}
	printf("Number of positions to move: ");
	scanf_s("%d", &m);//確定要向后移動多少個位置
	move(number, n, m);
	for (i = 0; i < n; i++) {
		printf("%d ", number[i]);
	}
	printf("\n");
	system("pause");
	return 0;
}

有n個整數,使前面各數順序向后移m個位置,最后m個數變成最前面m個數,見圖8.43。 寫一函數實現以上功能,在主函數中輸人n個整數和輸出調整后的n個數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 有n個整數,使前面各數順序向后移m個位置,最后m個數變成最前面m個數,見圖8.43。 寫一函數實現以上功能,在主函數中輸人n個整數和輸出調整后的n個數 有n個整數,使前面各數順序向后移m個位置,最后m個數變成最前面m個數,見圖8.43 寫一函數實現以上功能,在主函數中輸人n個整數和輸出調整后的n個數 10.4 有n個整數,使前面各數順序向后移m個位置,最后m個數變成前面m個數,見圖。寫一函數:實現以上功能,在主函數中輸入n個數和輸出調整后的n個數。 有n個整數,使其前面各數順序向后移n-m個位置,最后m個數變成最前面的m個數 有 n個整數,使其前面各數順序向后移 m 個位置,最后m個數變成最前面的 m 個數。 Problem C: 指針:有n個整數,使其前面各數順序向后移m個位置,最后m個數變成最前面m個數 Problem Description 輸入n(n<100)個數,找出其中最小的數,將它與最前面的數交換后輸出這些數。 Input 輸入數據有多組,每組占一行,每行的開始是一個整數n,表示這個測試實例的數值的個數,跟着就是n個整數。n=0表示輸入的結束,不做處理。 Output 對於每組 【編程題目】輸入兩個整數 n 和 m,從數列 1,2,3.......n 中 隨意取幾個數, 使其和等於 m ... ★ Problem Description 有一個長度為n(n<=100)的數列,該數列定義為從2開始的遞增有序偶數,現在要求你按照順序每m個數求出一個平均值,如果最后不足m個,則以實際數量求平均值。編程輸出該平均值序列。 Input 輸入數據有多組,每組占一行,包含兩個正整數n和m,n和m的含義 從M個數中隨機等可能的取出N個的問題
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM