NOI網址:http://noi.openjudge.cn/
01:整形數據類型存儲空間大小
總時間限制: 1000ms 內存限制: 65536kB
描述
分別定義int,short類型的變量各一個,並依次輸出它們的存儲空間大小(單位:字節)。
輸入
無。
輸出
一行,兩個整數,分別是兩個變量的存儲空間大小,用一個空格隔開。
樣例輸入
(無)
樣例輸出
(不提供)
提示
使用sizeof函數可以得到一個特定變量的存儲空間大小。例如:對於int型變量x,sizeof(x)的值爲4,即x的存儲空間爲4字節。
#include <iostream>
using namespace std;
int main()
{
int a;
short b;
cout<<sizeof(a)<<" "<<sizeof(b); //sizeof()計算存儲空間
return 0;
}
02:浮點型數據類型存儲空間大小
總時間限制: 1000ms 內存限制: 65536kB
描述
分別定義float,double類型的變量各一個,並依次輸出它們的存儲空間大小(單位:字節)。
輸入
無。
輸出
一行,兩個整數,分別是兩個變量的存儲空間大小,用一個空格隔開。
樣例輸入
(無)
樣例輸出
(不提供)
#include <iostream>
using namespace std;
int main()
{
float a;
double b;
cout<<sizeof(a)<<" "<<sizeof(b);
return 0;
}
03:其他基本數據類型存儲空間大小
總時間限制: 1000ms 內存限制: 65536kB
描述
分別定義bool,char類型的變量各一個,並依次輸出它們的存儲空間大小(單位:字節)。
輸入
無。
輸出
一行,兩個整數,分別是兩個變量的存儲空間大小,用一個空格隔開。
樣例輸入
(無)
樣例輸出
(不提供)
#include <iostream>
using namespace std;
int main()
{
bool a;
char b;
cout<<sizeof(a)<<" "<<sizeof(b);
return 0;
}
04:填空:類型轉換1
總時間限制: 1000ms 內存限制: 65536kB
描述
有兩個變量a和b,在執行了如下代碼後:
a = 32768;
b = a;
printf("%d %d\n", a, b);
輸出兩個數:32768 -32768
請問a和b分別是以下哪種類型?
A. bool B. char C. short D. int E. float F. double
輸入
無。
輸出
一行,包含兩個大寫字母,分別代表變量a和b的類型標號。中間用一個空格隔開。
樣例輸入
無
樣例輸出
A B
// 僅作格式示例,非正確答案
#include<iostream>
using namespace std;
int main()
{
cout<<"D"<<" "<<"C"<<endl;
return 0;
}
05:填空:類型轉換2
總時間限制: 1000ms 內存限制: 65536kB
描述
有兩個變量a和b,在執行了如下代碼後:
a = 1.000000001;
b = a;
printf("%.9f %.9f\n", a, b);
輸出兩個數:1.000000001 1.000000000
請問a和b分別是以下哪種類型?
A. bool B. char C. short D. int E. float F. double
輸入
無。
輸出
一行,包含兩個大寫字母,分別代表變量a和b的類型標號。中間用一個空格隔開。
樣例輸入
無
樣例輸出
A B
// 僅作格式示例,非正確答案
#include<iostream>
using namespace std;
int main()
{
cout<<"F"<<" "<<"E"<<endl;
return 0;
}
06:浮點數向零舍入
總時間限制: 1000ms 內存限制: 65536kB
描述
輸入一個單精度浮點數,將其向零舍入到整數。
說明:向零舍入的含義是,正數向下舍入,負數向上舍入。
提示:可以使用強制類型轉換來實現。
輸入
一個單精度浮點數。
輸出
一個整數,即向零舍入到整數的結果。
樣例輸入
2.3
樣例輸出
2
#include<iostream>
using namespace std;
int main()
{
float a;
cin>>a;
cout<<int(a); //採用強制轉換
return 0;
}
//強制轉換是把一開始的數據類型強制轉換成另一種數據類型,並在後面擴出被強制轉換的對象
07:打印ASCII碼
總時間限制: 1000ms 內存限制: 65536kB
描述
輸入一個除空格以外的可見字符(保證在函數scanf中可使用格式說明符%c讀入),輸出其ASCII碼。
輸入
一個除空格以外的可見字符。
輸出
一個十進制整數,即該字符的ASCII碼。
樣例輸入
A
樣例輸出
65
#include<iostream>
using namespace std;
int main()
{
char a;
cin>>a;
cout<<int(a);
return 0;
}
08:打印字符
總時間限制: 1000ms 內存限制: 65536kB
描述
輸入一個ASCII碼,輸出對應的字符。
輸入
一個整數,即字符的ASCII碼,保證存在對應的可見字符。
輸出
一行,包含相應的字符。
樣例輸入
65
樣例輸出
A
#include<iostream>
using namespace std;
int main()
{
int a;
cin>>a;
cout<<char(a);
return 0;
}
09:整型與布爾型的轉換
總時間限制: 1000ms 內存限制: 65536kB
描述
將一個整型變量的值賦給一個布爾型變量,再將這個布爾型變量的值賦給一個整型變量,得到的值是多少?
輸入
一個整型範圍內的整數,即初始時整型變量的值。
輸出
一個整數,經過上述過程後得到的結果。
樣例輸入
3
樣例輸出
1
#include<iostream>
using namespace std;
int main()
{
int a,c;
bool b;
cin>>a;
b=a;
c=b;
cout<<c;
return 0;
}
10:Hello, World!的大小
總時間限制: 1000ms 內存限制: 65536kB
描述
還記得在上一章裏,我們曾經輸出過的“Hello, World!”嗎?
它雖然不是本章所涉及的基本數據類型的數據,但我們同樣可以用sizeof函數獲得它所佔用的空間大小。
請編程求出它的大小,看看跟你設想的是否一樣?
輸入
無。
輸出
一個整數,即“Hello, World!”的大小。
樣例輸入
(無)
樣例輸出
(不提供)
#include<iostream>
using namespace std;
int main()
{
cout<<sizeof("Hello, World!");
return 0;
}
以上即爲NOI 1.2部分的所有題目,歡迎指正!