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