1樓:匿名使用者
樓上的回答不太好,有點篡改樓主的意思!
我的回答也是樓主的迴圈條件**有問題,不過改法是這樣的:
while(scanf("%d%d",&a,&b)==2)在兩個%d之間刪除那個多餘的空格。scanf在掃描的時候,字串裡面多的空格它也是需要進行匹配的。所以樓主只要連續碼兩個「%d%d」就可以了。
實際從鍵盤向程式輸入時,由於轉換的是整形,因此我們輸入「785 758」,scanf通過輸入的空格來判斷是不是一個整數輸入是否結束,但在程式裡呼叫的scanf函式的格式轉換引數裡,不能寫進空格。這個就是原因。
同樣我們這樣用:scanf("ab%c",&ch);
如果實際輸入是ab開頭加任何字母的話,那scanf就會返回1,否則返回0。譬如輸入:abc,會返回1,輸入acc就會返回0
2樓:匿名使用者
#include
void main()
printf("%ld %ld\n",s1,s2);
} }//你對比一下,實際只改了一行。在上面我指出來了。
acm.c語言上的問題求高手 很簡單入門題,不知道**錯了
3樓:照浙夜
你的程式不符合要求。
輸入(一次性)
2------代表下面輸入兩個數
3------第一個數
4------第二個數
輸出:(一次性)
7-----3*3*3=27%10=7
6-----4*4*4*4%10=6
下面是我用遞迴的方法做的。滿意請採納。**如下:
#include
void digit(int n,int m,int *a);
void main()
}void digit(int n,int m,int *a)if(--n)
}就是把每次的結果存入a陣列中然後依次輸出。
4樓:匿名使用者
你的程式是個死迴圈。eof 不能用在這裡,他是用於檔案讀寫上的。
5樓:
acm通常void main() 改用int main()
且最後返回0 即return 0;
一道簡單的c語言,一道c語言程式設計?
m是計算執行的次數,二重迴圈的迴圈次數就是外迴圈次數 內迴圈次數。外迴圈 1,5,9,13 內迴圈 3,7,11,15,19 4 5 20次,所以m 20 功能是輸出兩層巢狀迴圈執行的次數。用外迴圈執行次數 內迴圈執行次數。外迴圈變數的值變化 共4次。內迴圈變數的值變化 共5次。所以m的值為20 4...
一道簡單的c語言題,一道簡單的C語言題
這個程式的目的是將你輸入的字串中的a,a互換大小寫.但程式寫錯了.首先scanf遇到空格就停止了,所以s只接收到了ahama.其次,還是同樣的問題,scanf是遇到空格停止的,所以s中並沒有 n 因此while迴圈並不是如你想象到的ahama就結束了,而是會繼續下去,導致s i 訪問無效資料.再次,...
很簡單的C語言程式,一個很簡單的C語言程式
不要先把總結果求出來再取最後一個數字 因為最後一個數字肯定有數字的個位數決定 比如13 13,就求3 13,但是每次記錄最後一個數字 3 3 9 9 9 3 27 7 7 3 21 1 1 3 3 3 3 3 9 然後就可以看出是個最後結果處於每4次一個迴圈 因為13x13x13.x13總共有12個...