輸入第三組數就報錯!輸入三個數排序,我到底錯哪了啊?

2025-07-05 23:20:14 字數 3644 閱讀 7134

1樓:古今創造

#include

#include

# define null 0

# define jzp sizeof(struct student)

struct student //定義student結構體。

long num;

float score;

struct student *next;

int n; /全域性變數。

struct student *creat(void) /定義函式,此函式帶回乙個指向表頭的指標。

struct student *head;

struct student *p1, *p2;

n=0; /節點數。

p1=p2=(struct student *)malloc(jzp); 開闢乙個新單元。

scanf("%ld,%f",&p1->num,&p1->score);

head=null;

while(p1->num!=0)

n=n+1;

if(n==1)

head=p1;

elsep2->next=p1;

p2=p1;

p1=(struct student *)malloc(jzp);

scanf("%ld,%f",&p1->num,&p1->score); 樓主這行輸出p1->score少了個取位址符號「&」粗心了唯弊吧!

p2->next=null;

return(head);

print(struct student *head) /輸兆梁出函族山運數。

struct student *q1;

q1=head;

while(q1!=null)

printf("%d\t %.1f",q1->num,q1->score);

q1=q1->next;

main()

struct student *q;

q=creat();

print(q);

2樓:匿名使用者

測試沒有問題盯公升。

ps:你的**風格很爛,函式返回讓春型別都凱滑老不寫。

輸入三個數排序,我到底錯哪了啊?

3樓:網友

錯的是這裡。

m=a,n=b,應該是m=a,n=b;

應該是「;」不是「,」

4樓:

if(a>b)

m=a,n=b,這裡應該把m=a,n=b,放到{}裡面去,注意語句結尾用分號else

m=b,n=a,和上面一樣了。

c語言中可以限制輸入型別嗎??例如只可以輸入數字,輸入其他會報錯!!

5樓:網友

判斷是否為數值,是就通過,不是則報錯。

用個if判斷就ok了,應該有個函式能比較是否為數值的。

另外就從ascii來判斷,大於小於,就能把限定在數字範圍內了。

6樓:々裡陽

沒有這個函式。不過可以自已編寫。比如輸入數字,你就把數字當作字串進行錄入,再作檢查,如果其中有非數字字元剛報錯。

然後再寫乙個函式把字串轉為int型或者double。給你要用到的函式吧。

template

void chartonum(char *string,type *num)

通過使用模版,把char型轉換成任意型。

這樣通過讀入字串,再轉換成int,long;

elsereturn 0;

return 1;}

excel 中有效限制輸入 自定義 輸入條件 1輸入長度 三位 ,每一位必須由0到9之間數字組成,輸入錯誤並報錯

7樓:網友

設定有效性就行了。

選擇需要設定的範圍,然後:

選單---資料---有效性---設定允許:整數。

資料:介於。

最小值:0最大值:999確定。

8樓:網友

=(count(-mid(a1,row($1:$3),1))=3)*(len(a1)=3)

這個公式能夠滿足「每一位必須是0-9之間的數字組成」,而不能輸入小數,比如:

此外,單元格格式應設定為文字,才可以輸入。

9樓:太極健

用如下公式時,先設定單元格格式,自定義000確定。

or(and(a1=0,len(a1)=1),and(a1>0,a1<=999,len(a1)=3))

當輸入不在此範圍時,會彈出錯誤提示。

10樓:網友

設定資料有效性。

選擇需要設定的範圍,然後在【資料】選單-【資料工具】欄,選擇【資料有效性】點選【資料有效性】設定。

允許:整數。

資料:介於。

最小值:0最大值:999

然後設定單元格格式{數字卡}格式為自定義:「000 」

11樓:網友

第一步:將選中要設定的單元格,格式---單元格---數字選項卡中選自定義,在型別中輸入000(三個0)--確定。

第二步:資料(仍選中要設定的單元格)--有效性---設定選項卡,在允許中選擇「整數」,資料中選「介於」,最小值是「0」,最大值是999---在出錯警告資訊中輸入「超出範圍」--確定。

12樓:網友

選中要設定的單元格。

資料---有效性---設定選項卡,在允許中選擇「整數」,資料中選「介於」,最小值是「0」,最大值是999---在出錯警告資訊中輸入「超出範圍」--確定。

我是c++新手,大家幫忙修改個程式。在乙個陣列中只能輸入數字,輸入其他的,報錯並提示重新輸入

13樓:幸巴達

int i,n;

cout<<"請輸入用例資料個數:";

cin>>n;

cout<";

cin>>cnum;

int nnum=atoi(cnum);

elsea[i]=nnum;

cout

怎樣使電子**中只能輸入數字,輸入其他字元時會報錯(###)?

14樓:綠隼

根據需要,點乙個單元格或整列或整行,點「資料」-「有效性」,在「設定」中選擇條件,在「出錯警告」中錄入報錯的資訊內容。

這個求輸入數字的各位數字的程式**錯了?

15樓:網友

因為整型的範圍是65535,當你輸入的數大於這個數的時候就會溢位,所以你得不到正確的答案,應該將輸入的變成字串然後進行處理。這樣當你輸入更長的字串的時候都不會溢位。

16樓:網友

#include

main()

elsej=0;

i++;printf("%d",count);

求c1中包含的c2有幾個。

17樓:網友

資料型別有多大 你大體也應該知道啊 換用long 大了也就沒問題 不過long 也是有大小的。

1 5 數能組成幾個3的倍數,1 5 9三個數能組成幾個3的倍數?

這個題目主要考的排列組合問題。因為1 5 9 15能被3整除。所以主要看1 5 9能組成幾個不同的數字 159 195 519 591 915 951 共有六個 用1.5.6.這3個數字能組成幾個是3的倍數的三位數?每個數字只能用一次 可以組成6個。分別是 156 165 516 561 615 6...

三口人猜數,三口人猜三個數

家人稱為 一家三口 我猜到了 3 6 9 以後都會有的。三口一家打三個數字 一家三口打數字 答案 2 家無二主 ji w r zh 解釋 指一家之內,不可以有兩個主人,否則會發生爭吵,不得安靜。出處 禮記 坊記 天無二日,土無二王,家無二主,尊無二上。結構 主謂式 用法 主謂式 作賓語 指一家之內不...

三個數的和是1450,甲數是丙數的7倍,乙數比甲多40三個數各是多小?過程

解 根據題意可知 丙數為。則甲數是 ,乙數是 。設丙數為x,則甲數是x,乙數是 x 由題意得。x x x x x x x 甲數 ,乙數 ,所以,甲數是,乙數是,丙數是。設丙為x,那麼甲就是x 乙為x ,根據題意列方程 x x x 解出方程x 。根據題意應有 甲 丙 乙 甲 甲 乙 丙 於是有 丙 丙...