在這次做ACM北京大學在線系統的1989題時,遇到了很多問題。
首先,是C和C++數組清零的問題。可以使用memset(v,0,sizeof(v));將數組在初始化,此處因爲我們要用的是bool型數組,所以,要清空。
在就是C語言中沒有布爾型bool,所以,他的判斷是0就是假false,其他的就是真true;
在就是C++語言中布爾型,定義了,要初始化,可以初始化爲true,也可以初始化爲false.不然,就不能編譯了。C++中布爾型初始化還是可以同樣使用memset(v,true,sizeof(v));初始化爲true;
最讓人頭疼的是Java中數組的輸入,和其他的輸入問題:
下面這個小程序可以輸入一組數據。但是是以ASCII碼形式輸出的。弄了很久也沒有找到怎麼轉換,強行轉換,會掉一些數據的,比如,有5個數,但是你強行轉換後,輸出只有前三個數了。
Java中輸入數據一個一個的輸,要有提示,是很好輸的,可是連續輸入數據,還真的有點難。希望大家給點建議。
import java.io.*;
public class test1 {
public static void main(String []args) throws IOException
{
int[] my = new int[5];
BufferedInputStream br = new BufferedInputStream(System.in);
for(int i=0;i<=my.length-1;i++)
{
my[i]=br.read();}
for(int j=0;j<=my.length-1;j++)
{
System.out.println(my[j]);
}
}
}
/*輸入一個數組,比如輸入爲1 2 3 4 5
*但是輸出是ASCII碼。爲49 32 50 32 51.
*還不會將其轉換爲Int型
*
**/