c 跪求錯誤的原因(我的程式) 謝謝

2024-12-27 22:55:13 字數 1477 閱讀 7898

1樓:網友

你是在某個平臺上做題目的嗎?如果是的話這樣就是沒問題的。因為輸入和輸出是分開的。

先輸出和後輸出沒有影響。如果是要求全部輸入的話就用二維陣列來存放。但你得有結束標誌才可以。

你的題目又沒有明確給出。

首先,你對題目的理解有誤,它要求的是讀入一行就處理一行。然後你程式中if(t=j) 應改為if(t==j) 。你的程式還沒有結束標誌,就無限讀入了。

我用你的程式稍微改了一下。讀入一行就處理並輸出一行。

#include

using namespace std;

int main()

int a[60];

int j;

char t,s[200];

while(cin>>s) /每次讀入一行就處理memset(a,0,sizeof(a));

for(int k=0;k

using namespace std;

int main()

int a[100][60];

int i,j,k;

char t[200];

for(i=0;i<100;i++)

for(j=0;j<60;j++)

a[i][j]=0;

i=0; while(cin>>t &&t[0]!=#') t[0]!=#'這個是我自己加入的結束標誌,方便看測試結果。按照你的題目應該把這句話去掉。

for(k=0;kif(t[k]==j)

a[i][j]++

i++;for(i=0;i<100;i++)

for(j=48;j<=57;j++)

if(a[i][j]!=0)

cout

2樓:

不是的,這種題目都是輸入一行,然後輸出一行的。。。題目都是這樣寫的。

c語言問題求助

3樓:網友

首先分清i++和++i的區別。

這種形式的情況下,i先進行操作之後再自加,比如a= i++*b,先進行的操作應該是i*6,然後再是i++,再比如上面迴圈中的 i++<4,先進行的操作應該是比較i<4(注意是先比較),不管是否成立,都執行i++;

for(i=1;i++<4;)可以寫成下面這樣。

for(i=1;i<4;)

i++;就是無論條件是否成立,都執行i++操作。我們知道當i=4時,退出迴圈,再自加,i=5

2.++i這個和上面那個恰好相反,是幹什麼事之前都先執行自加,然後再進行別的運算。

比如 a = ++i*6;的運算順序是,i=i+1 ;然後計算i*6.

總之,i++是先進行別的運算,++i是先進行自加運算。樓主可以在電腦上實驗已下,印象更深刻,祝你進步!

4樓:久孫傾

5,當(i++)的值為4的時候這個迴圈退出,但是因為i++是使用後+,我們使用它進行比較時它是4,使用完之後要+1就是5.

此程式的錯誤在哪請修改一下謝謝,此程式的錯誤在哪 請修改一下 謝謝

太複雜了,幫不上你。c 一個程式,有一個錯誤不知道怎麼改,請知道的幫忙改改,謝謝啦!順便說一下問題出在哪了 include include 使用strlen需要這個標頭檔案int num class student student char n,char m,int num,double s stu...

C6 0寫的程式明明是對的顯示檔案錯誤

我沒怎麼明白你說的情況,因為我是一個新手,只是也遇到過這種類似的情況,除錯沒錯,但編譯的時候就是由這樣那樣的錯誤,而且這種情況也是出現在 已經開啟一個工作區間,並且在這個區間裡面編寫 編譯了幾個程式之後,我出現這種情況的原因是,這個工程裡有不止一個主函式,就是先前編的那個程式,在關閉的時候沒有把主函...

c語言,程式改錯,C語言的程式改錯

陣列是按行存放的所以定義陣列時要知道每行要多長,這就必須定義列的長度,行的長度可以不確定。在用陣列作為函式引數 傳遞的是所有元素的情況 的時候,傳遞的是陣列首地址,不能像那樣寫 問題 1,多維陣列的定義,主要是分配記憶體的問題。a i j 是陣列的陣列,意思是定義i個元素的陣列,每個元素都是一個含有...