1樓:防禦
十四行:struct student *p=stu;//中間加個student
二十九行:if(strcmp(stu[i].major,"t")==0)//因為是字串,所以要用雙引號,而不是單引號。
三十二行:else if (strcmp(stu[i].major,"w")==0)//同理
三十五行:else if (strcmp(stu[i].major,"l")==0)//同理
為什麼c語言程式執行輸入後沒有輸出
2樓:
輸入格式不對,要輸入「浮點數」並用 「逗號」 分隔輸入三個數兩個逗號後還要額外多加一回車才開始後面的流程,
如果把scanf("%f,%f,%f\n",&a,&b,&c);
改為scanf("%f%f%f",&a,&b,&c);
就可以用空白符做分隔了,現在你的程式是指定要用半形逗號做分隔符用回車做最後字元
另外程式邏輯也差一點,沒檢查(b*b-4*a*c)是否小於0,小於0則沒有實數解了
3樓:匿名使用者
一般輸入內容的時候不加'\n'
如果加了 你輸入第一次資料後 enter 在輸入一次
4樓:匿名使用者
1、原因可能是輸入格式不對,要輸入「浮點數」並用 「逗號」 分隔輸入三個數兩個逗號後還要額外多加一回車才開始後面的流程,
如果把scanf("%f,%f,%f\n",&a,&b,&c);
改為scanf("%f%f%f",&a,&b,&c);
就可以用空白符做分隔了
2、沒有輸出,不知道計算的結果那演算法就沒有意義了。輸出不一定是要列印到螢幕上的,可以是下乙個程式的輸入,可以是乙個檔案、一段語音、一張影象,甚至是機械人的步行動作等等。
5樓:簫聚星月
改成這樣#include
#include
void main()
輸入資料用逗號分開,標頭檔案是math.h
6樓:匿名使用者
試過多次回車嗎?你肯定你的輸入方式正確嗎?
7樓:匿名使用者
scanf("%f,%f,%f\n",&a,&b,&c);
改成scanf("%f,%f,%f",&a,&b,&c);
就可以了
8樓:葡萄味的栗子殼
是不是低階錯誤 scanf忘加&
為什麼我的c語言程式沒有輸出?哪錯了?
9樓:噘嘴鰱子朋友
首先指出你寫的一處錯誤,fun函式沒有返回值。你要麼定義為void,既然定義成int,就要返回資料。
**可能需要優化下....
輸入定義成字串,不必用char陣列,然後如果用while就用while,用for就用for,幹嘛都一起用,大致可以這麼寫(自己定義下變數,另外沒必要把變數定義到和main fun乙個級別,這樣不利於釋放空間,就用區域性變數,然後fun可以用傳參的方式)
int i=0;
scanf('%s',&str)
while(str[i]!=條件)
10樓:匿名使用者
對字串應該使用字串結束標誌進行檢測,即測試fun函式while迴圈裡的a[ⅰ]!=0判斷到了字串末尾,回車鍵在輸入時不會輸入到字元陣列裡面。
11樓:匿名使用者
仔細看了你的題目要求和你編寫c語言程式,單從程式看看不出有問題,我沒有c語言程式設計工具,無法除錯,只能給你一些建議,第乙個建議使用程式設計工具通過的斷點跟蹤除錯,找出問題。第二個建議,增加輸出語句,列印中間變數,靜態分析。
12樓:匿名使用者
把while(a[i]!='\n')
改為if(a[i]!='\n')
事實上這句語句不寫也行
13樓:匿名使用者
while ( a[i]!='\n' )
改成while ( a[i]!=0 )
c語言。為什麼這個沒有輸出?
14樓:匿名使用者
因為scanf在等待輸入
15樓:屠蕙若季靜
哥們,從你這個程式來看,在迴圈體中你的
a一直是12345,所以
i一直為:i=1234,你說逃出怎麼迴圈嘛,猜出你的大概意思:
修改後的程式如下:
#include
intmain
(void)
printf
("a=
%d\ni
=%d\nn
=%d\n",
a,i,
n);return0;}
執行結果:i=a=0,n=5
16樓:匿名使用者
輸入了才會有輸出,也可以一步一步執行看看**出了問題
為什麼這個c語言程式執行不出結果
17樓:匿名使用者
#include
int main()
18樓:tt靜水深流
兩個scanf都 少了&,並且%d與%d之間最好什麼東西都不要
c語言二維陣列的輸入和輸出程式為什麼執行沒有結果啊?程式:
19樓:匿名使用者
我看了看 程式沒有問題。上面兩層為輸入二維陣列。
下面兩層為輸出二維陣列。
該程式缺乏標頭檔案。在有些編譯器裡需要帶#include主程式最好設定返回型別 ,你現在還體會不到,後期就體會到了。
int main()
20樓:倒霉熊
#include
int main()
return 0;
}//這是比較完整的乙個程式。
//不知道現象是什麼??
21樓:匿名使用者
首先,你主函式中沒有定義它的型別,在c語言中預設是int型的,這樣的話函式要有乙個返回值。實在沒有返回值的時候return 0;也就ok了。一般情況下主函式都是沒有返回值的,也常寫成void main ()
其次,你的陣列容量太大了,何不定義乙個小的呢!100個!真夠乙個人打好大一會的
22樓:影視精剪小能手
連續的for迴圈 please 加上{},這是規則,如果是乙個就不用了,你的是用了三個,就最後乙個加了,有時候是不會識別的!
Linux中,執行C語言程式如何執行
柳語柳塗野 在linux中,可以使用gcc編譯器編譯c語言程式,生成可執行檔案,並最終執行。具體步驟如下 1 編譯。由.c檔案生成.o檔案,寫作 gcc a.c o a.o c這個命令可以將a.c編譯成a.o。如果存在多個檔案,可以逐個編譯,即a.c b.c.生成a.o b.o.等。2 鏈結。由.o...
C語言switch這個程式的執行結果是什麼
甄安秋梵 沒有 case 0 就不做 再做最外層的default 輸出 再換行,結束程式 switch是這樣的,在沒有遇到break跳出迴圈之前是以次向下執行的。首先 a 0為真 即 1 所以進入case 1 b 0為假 即 0 但是下面的選擇結構 沒有case 0 那麼接著向下執行 case 0....
c語言程式執行結果為什麼出現1 INF
是因為運算結果溢位。解決辦法,例 chara 126,則a 45 126 45 172 256 85 uchara 2,則a 100 98 256 158 a,b基本型別相同時,有符號與無符號數的轉換 無符號a 有符號b if a elseb a max count 有符號數a 無符號數b if a...