NOI網址:http://noi.openjudge.cn/
目錄
01:Hello,World!
總時間限制: 1000ms 內存限制: 65536kB
描述
對於大部分編程語言來說,編寫一個能夠輸出“Hello, World!”的程序往往是最基本、最簡單的。因此,這個程序常常作爲一個初學者接觸一門新的編程語言所寫的第一個程序,也經常用來測試開發、編譯環境是否能夠正常工作。
現在你就需要完成這樣一個程序。
輸入
無。
輸出
一行,僅包含一個字符串:“Hello, World!”
樣例輸入
(無)
樣例輸出
Hello, World!
提示
使用英文標點符號;逗號後面有一個空格。
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello, World!"<<endl;
return 0;
}
02:輸出第二個整數
總時間限制: 1000ms 內存限制: 65536kB
描述
輸入三個整數,把第二個輸入的整數輸出。
輸入
只有一行,共三個整數,整數之間由一個空格分隔。整數是32位有符號整數。
輸出
只有一行,一個整數,即輸入的第二個整數。
樣例輸入
123 456 789
樣例輸出
456
#include <iostream>
using namespace std;
int main() {
int a[3]; //開闢一個數組
int i,j;
for (i = 0 ; i < 3 ; i++)
{
cin>>a[i];
} //輸入三個數
cout<<a[1]; //輸出第二個數
return 0;
}
03:對齊輸出
總時間限制: 1000ms 內存限制: 65536kB
描述
讀入三個整數,按每個整數佔8個字符的寬度,右對齊輸出它們。
輸入
只有一行,包含三個整數,整數之間以一個空格分開。
輸出
只有一行,按照格式要求依次輸出三個整數,之間以一個空格分開。
樣例輸入
123456789 0 -1
樣例輸出
123456789 0 -1
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int a[3];
int i,j;
for ( i = 0 ; i < 3 ; i++)
cin>>a[i];
for ( i = 0 ; i < 3 ; i++)
cout<<setw(8)<<a[i]<<" "; //setw()表示要佔多少個空格
return 0;
}
//對齊輸出時需要用到<iomanip>這個頭文件
04:輸出保留3位小數的浮點數
總時間限制: 1000ms 內存限制:65536kB
描述
讀入一個單精度浮點數,保留3位小數輸出這個浮點數。
輸入
只有一行,一個單精度浮點數。
輸出
也只有一行,讀入的單精度浮點數。
樣例輸入
12.34521
樣例輸出
12.345
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
float n;
cin>>n;
printf("%.3lf",n); //%.數字f或%.數字lf表示保留幾位小數
return 0;
}
05:輸出保留12位小數的浮點數
總時間限制: 1000ms 內存限制: 65536kB
描述
讀入一個雙精度浮點數,保留12位小數,輸出這個浮點數。
輸入
只有一行,一個雙精度浮點數。
輸出
也只有一行,保留12位小數的浮點數。
樣例輸入
3.1415926535798932
樣例輸出
3.141592653580
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
double n;
cin>>n;
printf("%.12lf",n);
return 0;
}
06:空格分隔輸出
總時間限制: 1000ms 內存限制: 65536kB
描述
讀入一個字符,一個整數,一個單精度浮點數,一個雙精度浮點數,然後按順序輸出它們,並且要求在他們之間用一個空格分隔。輸出浮點數時保留6位小數。
輸入
共有四行:
第一行是一個字符;
第二行是一個整數;
第三行是一個單精度浮點數;
第四行是一個雙精度浮點數。
輸出
輸出字符、整數、單精度浮點數和雙精度浮點數,之間用空格分隔。
樣例輸入
a
12
2.3
3.2
樣例輸出
a 12 2.300000 3.200000
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
char a;
int b;
float c;
double d;
cin>>a>>b>>c>>d;
printf("%c %d %f %f\n",a,b,c,d);
return 0;
}
07:輸出浮點數
總時間限制: 1000ms 內存限制: 65536kB
描述
讀入一個雙精度浮點數,分別按輸出格式“%f”,“%f”保留5位小數,“%e”和“%g”的形式輸出這個整數,每次在單獨一行上輸出。
輸入
一個雙精度浮點數。
輸出
輸出有四行:
第一行是按“%f”輸出的雙精度浮點數;
第二行是按“%f”保留5位小數輸出的雙精度浮點數;
第三行是按“%e”輸出的雙精度浮點數;
第四行是按“%g”輸出的雙精度浮點數。
樣例輸入
12.3456789
樣例輸出
12.345679
12.34568
1.234568e+001
12.3457
#include <iostream>
#include <stdio.h>
#include <iomanip>
using namespace std;
int main()
{
double a;
scanf("%lf",&a);
printf("%lf\n",a);
printf("%0.5lf\n",a);
printf("%e\n",a);
printf("%g\n",a);
return 0;
}
08:字符三角形
總時間限制: 1000ms 內存限制: 65536kB
描述
給定一個字符,用它構造一個底邊長5個字符,高3個字符的等腰字符三角形。
輸入
輸入只有一行, 包含一個字符。
輸出
該字符構成的等腰三角形,底邊長5個字符,高3個字符。
樣例輸入
*
樣例輸出
*
***
*****
#include <iostream>
using namespace std;
int main()
{
char n;
cin>>n;
cout<<" "<<n<<endl;
cout<<" "<<n<<n<<n<<endl;
cout<<n<<n<<n<<n<<n<<endl;
return 0;
}
09:字符菱形
總時間限制: 1000ms 內存限制: 65536kB
描述
給定一個字符,用它構造一個對角線長5個字符,傾斜放置的菱形。
輸入
輸入只有一行, 包含一個字符。
輸出
該字符構成的菱形。
樣例輸入
*
樣例輸出
*
***
*****
***
*
#include <iostream>
using namespace std;
int main()
{
char n;
cin>>n;
cout<<" "<<n<<endl;
cout<<" "<<n<<n<<n<<endl;
cout<<n<<n<<n<<n<<n<<endl;
cout<<" "<<n<<n<<n<<endl;
cout<<" "<<n<<endl;
return 0;
}
10:超級瑪麗遊戲
總時間限制: 1000ms 內存限制: 65536kB
描述
超級瑪麗是一個非常經典的遊戲。請你用字符畫的形式輸出超級瑪麗中的一個場景。
輸入
無。
輸出
如樣例所示。
樣例輸入
(無)
樣例輸出
********
************
####....#.
#..###.....##....
###.......###### ### ### ### ###
........... #...# #...# #...# #...#
##*####### #.#.# #.#.# #.#.# #.#.#
####*******###### #.#.# #.#.# #.#.# #.#.#
...#***.****.*###.... #...# #...# #...# #...#
....**********##..... ### ### ### ###
....**** *****....
#### ####
###### ######
############################################################## ##################################
#...#......#.##...#......#.##...#......#.##------------------# #...#......#.##------------------#
###########################################------------------# ###############------------------#
#..#....#....##..#....#....##..#....#....##################### #..#....#....#####################
########################################## #----------# ############## #----------#
#.....#......##.....#......##.....#......# #----------# #.....#......# #----------#
########################################## #----------# ############## #----------#
#.#..#....#..##.#..#....#..##.#..#....#..# #----------# #.#..#....#..# #----------#
########################################## ############ ############## ############
提示
必須嚴格按樣例輸出,每行的行尾不能有空格。
#include <iostream>
using namespace std;
int main()
{
cout<<" ********"<<endl;
cout<<" ************"<<endl;
cout<<" ####....#."<<endl;
cout<<" #..###.....##...."<<endl;
cout<<" ###.......###### ### ### ### ###"<<endl;
cout<<" ........... #...# #...# #...# #...#"<<endl;
cout<<" ##*####### #.#.# #.#.# #.#.# #.#.#"<<endl;
cout<<" ####*******###### #.#.# #.#.# #.#.# #.#.#"<<endl;
cout<<" ...#***.****.*###.... #...# #...# #...# #...#"<<endl;
cout<<" ....**********##..... ### ### ### ###"<<endl;
cout<<" ....**** *****...."<<endl;
cout<<" #### ####"<<endl;
cout<<" ###### ######"<<endl;
cout<<"############################################################## ##################################"<<endl;
cout<<"#...#......#.##...#......#.##...#......#.##------------------# #...#......#.##------------------#"<<endl;
cout<<"###########################################------------------# ###############------------------#"<<endl;
cout<<"#..#....#....##..#....#....##..#....#....##################### #..#....#....#####################"<<endl;
cout<<"########################################## #----------# ############## #----------#"<<endl;
cout<<"#.....#......##.....#......##.....#......# #----------# #.....#......# #----------#"<<endl;
cout<<"########################################## #----------# ############## #----------#"<<endl;
cout<<"#.#..#....#..##.#..#....#..##.#..#....#..# #----------# #.#..#....#..# #----------#"<<endl;
cout<<"########################################## ############ ############## ############"<<endl;
return 0;
}
以上即爲NOI 1.1部分的所有題目,歡迎指正!