C語言 有n個整數,使前面各數順序向後移m個位置,最後m個數變成最前面m個數,寫函式實現以上功能

2021-04-02 06:12:48 字數 2383 閱讀 1778

1樓:凌亂心扉

**方法

一、#include

void exchange(int*,int,int);

int main(void)

void exchange(int*a,int n,int m)

}**方法

二、假設輸入的n的最大值為20**:

#include

int main()

void move(int array[20],int n,int m)

stdio.h標頭檔案使用

標頭檔案#include中

stdio.h是stand input&output的縮寫,意思是標準輸入輸出標頭檔案。凡是用到標準輸入輸出函式,就要呼叫該標頭檔案。

檢視stdio.h目錄下包含哪些函式:主要有檔案訪問、二進位制輸入/輸出、格式化和非格式化輸入/輸出、檔案定位、錯誤處理、檔案操作等。

具體開啟自己的vs安裝目錄,找到include資料夾,開啟include夾下面的stdio.h檔案即可檢視

(c:\program files(x86)\microsoft visual studio 14.0\vc\vcpackages\intellisense\ios\oss\musl-1.

1.10\include)

常用標準輸入輸出函式:

scanf()從螢幕格式輸入

printf()格式輸出到螢幕

getchar()從螢幕得到一個字元

putchar()字元輸出到螢幕

gets()從螢幕得到一個字串

puts()字串輸出到螢幕

fscanf()從磁碟格式輸入

fprintf()格式輸出到磁碟

fgetc()從磁碟得到一個字元

fputc()字元輸出到磁碟

fgets()從磁碟得到一個字串

fputs()字串輸出到磁碟

#號是預處理語句,表明在編譯之前預先進行處理。

.h是header file的縮寫,表面這是一個標頭檔案。

include是檔案包含命令,後面跟著引號""或者尖括號<>,意思是將引號或尖括號內指定的檔案包含到本程式中,成為本程式的一部分,而包含的檔案通常是由系統提供的。

區分引號""或者尖括號<>:尖括號<>編譯程式會先到標準函式庫中找檔案,引號""編譯程式會先從當前目錄中找檔案。

2樓:匿名使用者

你的子函式裡面最後一個迴圈有點錯誤,1,for(i = n;i < n+m ; i ++)

2,你的p的指向和i同時變化,導致你每次

移動兩個單位,

正確的程式如下:

#include

#include

#include

void main()

for(i=n;i

3樓:匿名使用者

for(i=n-1;i是把後面m個數移到最開始這個地方寫的不對,注意觀察你這裡面的p++,每次執行後p指標向後移了一位,你下次的p+i應該不是你想要的吧?

建議這樣子寫

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

4樓:匿名使用者

這是我寫的程式,你的move函式有問題。你對比一下我的吧。

#include

#include

int *change(int *p,int n,int m)for(number=m;number

return(p);

}void main()

5樓:

把move註釋掉後一切正常,說明move錯了。

首先,迴圈剛開始時就越界了。如果陣列大小小於n+m,馬上就會停止工作。

下面是個肯定不會出錯的做法,因為每次只用一個int型變數暫存資料:

void move(int *p, int n, int m)}

6樓:匿名使用者

#include

void sort(char** p,int n,int s)}int main(int argc, const char * argv)

p=pstr;

int m;

printf("請輸入第幾個元素之後移至最前面:");

scanf("%d",&m);

sort(p,j,m);

for(i=0;i

return 0;}

7樓:4747哦

#include

int m,n; //全域性變數

void fun(int *p)

main()

C語言程式設計 輸入兩個正整數m和n,求其最大公約數和最小公倍數,急!急

main p n m p是原來兩個數n,m的乘積.while m 0 求兩個數n,m的最大公約數.printf its maxgongyueshu d n n 列印最大公約數.printf its mingongbeishu d n p n 列印最小公倍數.基本原理如下 用歐幾里德演算法 輾轉相除法...

c語言程式設計從鍵盤輸入n個整數存放在一維陣列a中

int main if i else printf 沒有資料 d x return 0 4 程式設計實現以下功能 用c語言程式設計,在主函式中,由鍵盤輸入10個互不相同的整數存放在一維陣列a include void myout int arr,int n int delx int arr,int ...

輸入正整數n輸出12n的值怎樣用c語言編寫出

輸入正整數n,輸出1 2 n的值。怎樣用c語言編寫出來呢?include stdio.h void main printf 和為 d sum include include int sum math int n 數學公式 int sum int n 累加 int sum digui int n 遞迴...