C語言程式設計題,拜託大家,急求幫助,C語言程式設計作業,實在是不會了,拜託大家幫幫忙

時間 2021-08-30 10:45:16

1樓:自我程式設計

(已補充排序功能!基本氣泡排序!)

通過ascii碼來識別按鍵。

輸入採用getch函式獲取字元再轉數字。

由於getch不在控制檯顯示,自定義函式實現回顯。

**實現了錄入,刪除功能。

錄入只識別數字,其他字元按了也沒用。

退格鍵一次刪一個字元,可以跨行刪除。

回車確認一個數字的輸入,下次輸入新數字自動換行(回車後游標不換行,另外刪除當前行可以反退到上一行)。

ctrl+d結束程式。

注意:getch函式在windows系統下正常。linux系統下不一定能執行。

另外,我沒有寫數值大小驗證,陣列變數是int型,如果你輸入超出數值型別上限還是會報錯的,想要輸入更大的數字,可以換longlong性。想加驗證,自己在**里加好了,可以加在輸入接收的位置。

#include

#include

#include

#define maxs 100//陣列大小

void showlist(int *nums,int n,int flag);//列印陣列

int inputnums(int *nums,int maxsize);//輸入maxsize個以內的數字儲存在maxsize中,返回輸入的數字個數

void px(int *nums,int n);//升序排列

int main()

int nums[maxs],n=maxs,cnt;

cnt=inputnums(nums,n);

px(nums,cnt);

printf("\n升序排序後的數字為:\n");

showlist(nums,cnt,1);

return 0;

int inputnums(int *nums,int maxsize)//輸入maxsize個以內的數字儲存在maxsize中,返回輸入的數字個數

int i=1,cnt=0,n=maxs,flag=0;//flag:待儲存標識;1:標識有資料待儲存2:無資料待儲存

char c=0;

while(i<=n)

c=getch();

if(c!=13 && c!=4 && c>='0' && c<='9')//輸入只接收並回顯數字字元

if(!flag)

nums[cnt]=0,cnt++,flag=1;

nums[cnt-1]=nums[cnt-1]*10+c-'0';

if(c==8 && cnt>0)//退格刪除

if(nums[cnt-1]/10>0)//當前輸入數字大於1位,則刪除一位輸入

nums[cnt-1]=nums[cnt-1]/10;

else if(nums[i-1]/10==0)//當前輸入數字只剩下1位,則刪除當前輸入的數值,陣列個數-1

nums[cnt-1]=0,cnt--;

if(cnt==0)

flag=0;

else

i--,flag=1;

if(c==13)//回車

i++,flag=0;

if((c>='0' && c<='9')||c==13||c==8)

system("cls"),showlist(nums,cnt,0);

if(c==4)//ctrl+d

if(flag)

flag=0;

break;

printf("\n輸入的數字為:\n");

showlist(nums,cnt,1);

return cnt;

void px(int *nums,int n)//升序排列

int i,j,num;

for(i=0;ifor(j=i+1;jif(nums[i]>nums[j])

num=nums[i];

nums[i]=nums[j];

nums[j]=num;

void showlist(int *nums,int n,int flag)//列印陣列,flag:1列印模式;flag:0顯示模式

int i;

if(flag && n>0)

printf("\n");

for(i=0;iprintf("%d ",nums[i]);

printf("\n");

else if(!flag && n>0)

for(i=0;iprintf("%d\n",nums[i]);

printf("%d",nums[i]);

2樓:匿名使用者

#include

#include

int main() {

int i = 0,j,k,r;

float array[100], f;

puts("需要排序的數字:");

while (i < 100) {

r = scanf("%f", &array[i]);

if (r == eof)

break;

if (r == 0) {

puts("輸入錯誤");

while (getchar()!='\n');

continue;

++i;

for (j=0; jfor (k=j+1; kif (array[j] > array[k]) {

f = array[j];

array[j] = array[k];

array[k] = f;

puts("升序排好的數字:");

for (j=0; jprintf("%g\n", array[j]);

3樓:匿名使用者

#include

#include

int main()

;char buffer[bufsiz]=;

for (size_t i=0;

++i)

arr[i]=n;

}for (size_t i=0; i

return 0;

}手機寫的 沒有驗證 你試試看

4樓:聽不清啊

把輸入的整數讀入,然後存放到陣列當中,一邊讀數一邊記數。全部讀書完成以後進行排序,然後最後進行輸出。

5樓:剛學c語言程的猴子

這個用到迴圈

用到if的條件語句

第一個for裡面包含著第if語句

排序就另外再寫一個語句

這個好像可以字串讀取的方式

6樓:蠑螈

嗯......這個並不難

會用到if和for語句

7樓:百小度

不難 你沒有時間做嗎?

急求幫助,c語言程式設計作業,實在是不會了,拜託大家幫幫忙

8樓:中國死狗

1、#include

void main(void)

5、#include

void main(void)}

9樓:勢如雲

唉!這些都是《c程式設計》第二版後面的習題,你去買一本《c程式設計與上機指導》的書,也是譚浩強的,很便宜,後面有所有的習題解答。我這裡有書,不過要敲上去也太費時間了。

c語言程式設計題 10

10樓:雲南新華電腦學校

我寧願你冷酷到底 讓我死心塌地忘記

我寧願你絕情到底 讓我徹底的放棄

我寧願只傷心一次 也不要日夜都傷心

我寧願你冷酷到底 請別再說

你走的那場夜雨 淋溼我的傷心

抹不去你留下虛偽的脣印 回想你欺騙的話語

既然已決定離去 為何還留下殘情

讓我以為你是否不得已 讓我不能徹底忘記

我寧願你冷酷到底 讓我死心塌地忘記

我寧願你絕情到底 讓我徹底的放棄

我寧願只傷心一次 也不要日夜都傷心

我寧願你冷酷到底 請別再說

我愛你 啊 我愛你 啊

你走的那場夜雨 淋溼我的傷心

抹不去你留下虛偽的脣印 回想你欺騙的話語

你既然已決定離去 為何還留下殘情

讓我以為你是否不得已 讓我不能徹底忘記

我寧願你冷酷到底 讓我死心塌地忘記

我寧願你絕情到底 讓我徹底的放棄

我寧願只傷心一次 也不要日夜都傷心

我寧願你冷酷到底 請別再說

我寧願你冷酷到底 讓我死心塌地忘記

我寧願你絕情到底 讓我徹底的放棄

我寧願只傷心一次 也不要日日夜夜都傷心

我寧願你冷酷到底 請別再說

我愛你 啊 我愛你 啊

我愛你 啊 我愛你

C語言程式設計!!求大神幫助急啊,一道C語言程式設計題,求大神解答,急!!!

程式一 include int main 輸出 50,60,45,80 顯然你舉的例子50,30,40,60不滿足條件 厚度不一致 include void put w int n 輸出 w void cacl 計算資金 int mingbs int n1,int n2,int n3 求最小公倍數 ...

急!C語言程式設計題,c語言程式設計題,急!

現在世界上有3大危險作業 建築工人的高空作業 礦井工人的地下作業 中小學生的不寫作業 哥們,你得自己寫作業啊. 澄新滿友安 include main float daoshu int a,int b returns 戴舟漆雕銀柳 include intmain void c語言程式設計題,急! 龍霸...

c語言程式設計題,C語言程式設計題

用夢竹 include define n 3 int main b n n i,j for i 0 i 3 i for j 0 j 3 j b i j a 2 i j for i 0 i 3 i return 0 時間有限,只做了第一個。注 如果題目上有例子,可以直接按例題寫 這個 如果想改可以改n...