NOI題庫答案(1.2 編程基礎之變量定義、賦值及轉換)

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部分的所有題目,歡迎指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章