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

2021-08-26 18:17:11 字數 4400 閱讀 3332

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語言程式設計題答案,謝謝!

1.編寫一個程式,要求使用者從終端輸入兩個整數值,檢測這兩個整數,判定第一個數能否被第二個數整除,並在終端上顯示相應的資訊.include main 2.編寫一個程式,把從終端上輸入的整數用英語顯示該整數的每一位數字.如果使用者輸入了392,那麼程式應顯示three nine two.include...

c語言程式設計題求大神幫忙解答,C語言程式設計題,求大神幫忙解答!

自己好好看書 這個太基礎了 c語言程式設計題求大神幫忙!include int main void newstr k 0 i 0,j k 1 while i j i j if i j printf s no n newstr else printf 迴文串 yes n return 0 急!c語言程...

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

long fun int k if i 2 return 1l return k fun k 1 或 include stdio.h main double h,c printf input h n scanf lf h c 5.0 9 h 32 printf c lf c 實驗一 簡單的c程式設計...