浙江工业大学c++资料钱能教授版.docx
- 文档编号:27622585
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:21
- 大小:20.37KB
浙江工业大学c++资料钱能教授版.docx
《浙江工业大学c++资料钱能教授版.docx》由会员分享,可在线阅读,更多相关《浙江工业大学c++资料钱能教授版.docx(21页珍藏版)》请在冰豆网上搜索。
浙江工业大学c++资料钱能教授版
OPS欢迎您
Output:
程序应输出“WelcometotheOPS.”字串,并以回车结束。
您也可以试试,如果不输出回车,其代码能否通过提交系统的测试。
SampleInput:
空
SampleOutput:
WelcometotheOPS.
代码:
#include
usingnamespacestd;
intmain()
{
cout<<"WelcometotheOPS."<<"\n";
}
补充:
Ctrl+c表示关闭正在运行的程序框;
Ctrl+z表示结束exe运行文框(需要回车确认,也叫做强制输出);
如果开始没有输出框出现,可以输入:
Intn;cin>>n;进行初始化(临时激活窗口);
一个@字符矩形
Description:
根据读入的n值,输出以@为填充字符,宽为20,高为n的字符矩形。
Input:
输入数据只有一个正整数n(1≤n≤50)。
Output:
输出以@为填充字符,宽为20,高为n的字符矩形。
显然为了结束每行字符,在输出20个@字符后,应输出一个回车,最后一行也必须与前面一样输出回车,否则提交系统不会予以认可。
SampleInput:
5
SampleOutput:
@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@
代码:
#include
usingnamespacestd;
intmain()
{intn;
cin>>n;
for(inti=1;i<=n;i++)
cout<<"@@@@@@@@@@@@@@@@@@@@"<<"\n";//同行输出。
}
补充:
①Cout<<’x’与cout<<”x”在表示单字符时相同,也就是说cout<<”h”与cout<<’h’相同。
特殊的,\n也表示一个字符。
②但是inta=3;cout< Intb=’3’;cout< 一个#字符正方形 Description: 根据读入的n值,输出以#为填充字符,边长为n的字符正方形。 Input: 输入数据只有一个正整数n(1≤n≤50)。 Output: 输出以#为填充字符,边长为n的字符正方形。 显然为了结束每行字符,在行末应输出回车,最后一行也必须与前面一样输出回车,否则提交系统不会予以认可。 SampleInput: 5 SampleOutput: ##### ##### ##### ##### ##### 本题与上题类似。 代码: #include usingnamespacestd; intmain() {intn; cin>>n; for(inti=1;i<=n;i++) {for(intj=1;j<=n;j++) { cout<<"#"; } cout<<"\n"; } } 补充: inti=5;a=a++;一次循环后,a=5,i=6.也就是先运行a=i,再运行i++; Intb=5;++b;一次循环以后,b=6,j=5. 但是当++i,i++单独使用的时候,他们的效果是一样的。 一个字符三角形 Description: 根据读入的字符值,输出以该字符为填充字符的定长等腰三角形。 Input: 输入数据只有一个字符值c(’A’≤c≤’Z’)。 Output: 输出以c为填充字符,高为7,底边长为13的等腰三角形。 每行结束时应回车。 SampleInput: A SampleOutput: A AAA AAAAA AAAAAAA AAAAAAAAA AAAAAAAAAAA AAAAAAAAAAAAA 代码: #include usingnamespacestd; intmain() {chara; cin>>a; for(inti=1;i<=7;i++) {for(intj=1;j<=7-i;++j)输出1-6个空格 cout<<""; for(intk=1;k<=2*i-1;k++)输出1-13个字符 cout< cout<<"\n";} }简单的有: #include #include usingnamespacestd; intmain() {chara; cin>>a; for(inti=1;i<=7;i++) cout< A-B Description: 每读入两个整数,输出其差。 Input: 输入数据含有不超过50个的整数对,每个整数和每对整数的运算结果都不会超过±2^31。 Output: 对于每次读入的一对整数,输出前者减去后者的差。 每个结果应以回车结束。 SampleInput: 1357 SampleOutput: -2 -2 代码: #include usingnamespacestd; intmain() { for(inta,b;cin>>a>>b;) cout< } 补充: 1整形: int 2浮点型: flout; 3字型: char/string,char(32)表示空格。 4enum型: 从总集中选取有限的个数作为常量,可以进行四则运算,但不可以超过取数的范围。 如: enumdate{mon,tue,wed,thu,fri,sat,sun}如果没有给定具体数,以上七个数分别为0-6,DATE为一函数,其余七个数为常量, 再运行dated;d=mon;if(d==wed)....... 5.bool型(0/1型)。 6.intx=3,;与constintx=8不同,后者定义的x为不变的常量。 字符三角形 Description: 根据字符值以及三角形的高,输出以该字符为填充字符的等腰三角形。 Input: 输入数据含有不超过50组的数据,每组包括一个可见字符c(33≤c≤126)和一个整数n(1≤n≤30)。 Output: 输出以c为填充字符,高为n的等腰三角形,每个三角形时都应另起一行。 SampleInput: A5B3 SampleOutput: A AAA AAAAA AAAAAAA AAAAAAAAA B BBB BBBBB 代码: #include #include usingnamespacestd; intmain() {charc; for(intn;cin>>c>>n;) {for(inti=1;i<=n;i++) {for(intj=1;j<=n-i;j++) cout<<""; for(intk=1;k<=2*i-1;k++) cout< cout<<"\n";}}} 优化的办法: #include #include usingnamespacestd; intmain() {stringc;//此处也可以用charc; for(intn;cin>>c>>n;) {for(inti=1;i<=n;i++) cout< //那这里就是string(2*i-1,c)了 }} 字符棱形 Description: 根据读入的字符和边长,勾画字符棱形。 Input: 输入数据含有不超过50组的数据,每组数据包括一个可见字符c和一个整数n(1≤n≤30)。 Output: 输出以c为填充字符,边长为n的棱形,勾画每个棱形时都应另起一行。 SampleInput: A5 SampleOutput: A AAA AAAAA AAAAAAA AAAAAAAAA AAAAAAA AAAAA AAA A 代码: #include #include usingnamespacestd; intmain() {charc;for(intn;cin>>c>>n;) { for(inti=1;i<=n;i++) cout< for(inti=n-1;i>=1;i--) cout< } }优化: #include #include #include usingnamespacestd; intmain() {charc; for(intn;cin>>c>>n;) {for(inti=1-n;i<=n-1;i++) cout< }//也就是从n-1到0再到n-1个空格,也就是从1到2*n-1再到1 //这里面的2*n-1-2*abs(i)的理解很关键,最多一行是2*n-1类推 } 交替字符倒三角形 Description: 根据读入的高,勾画ST字符交替的倒三角形。 Input: 输入数据含有不超过50个正整数n(1≤n≤30)。 Output: 输出以n为高的ST字符交替的倒三角形,勾画每个三角形时都应另起一行。 SampleInput: 10 SampleOutput: STSTSTSTSTSTSTSTSTS STSTSTSTSTSTSTSTS STSTSTSTSTSTSTS STSTSTSTSTSTS STSTSTSTSTS STSTSTSTS STSTSTS STSTS STS S 代码: #include #include usingnamespacestd; intmain() {for(intn;cin>>n;)//输入行数 {for(inti=1;i<=n;++i)//确定总的循环行数 {cout< for(intj=1;j<=n-i;++j)//输出的TS的个数 cout<<"TS"; cout<<"\n";//输完一行再换行 }}}优化#include #include usingnamespacestd; intmain() {for(intn;cin>>n;)//输入行数 {for(inti=1;i<=n;++i)//确定总的循环行数 {cout< for(intj=1;j<=(n-i)*2+1;++j)//每行循环(n-i)*2-1次 cout<<(j%2? "S": "T");//奇数位输出S,偶数位输出T cout<<"\n";//输完一行再换行 }}} 格式阵列一 Input: 输入数据含有不超过50个正整数n(1≤n≤25)。 Output: 输出以n为阶的格式阵列。 每行开始先打印行号,行号为两个字符宽,右对齐,行号与元素之间空2格。 每个元素占3个字符宽。 右对齐,元素值起始位置为0,以后每向右前进一个,元素值便取前一元素加1除n的余数,每进到下一行,起始的元素值为上一元素加1除以n的余数,依此类推。 每个格式阵列之间应有一空行,最前与最后不应有空行。 样本输出中,□表示空格。 SampleInput: 6SampleOutput: □1□□□□0□□1□□2□□3□□4□□5 □2□□□□1□□2□□3□□4□□5□□0 □3□□□□2□□3□□4□□5□□0□□1 □4□□□□3□□4□□5□□0□□1□□2 □5□□□□4□□5□□0□□1□□2□□3 □6□□□□5□□0□□1□□2□□3□□4 代码: #include #include usingnamespacestd; intmain() {for(intn,m=0;cin>>n;) {cout<<(m++? "\n": "");//保证第一行与输入行分开 for(inti=1;i<=n;++i) {cout< (2)< inta=i;//为了保护i for(intj=1;j<=n;++j,a++) cout< cout<<"\n";//一行完成换行咯~ }}} 格式阵列二 Description: 根据读入的阶,按样例打印格式阵列。 Input: 输入数据含有不超过50个正整数n(1≤n≤25)。 Output: 输出以n为阶的格式阵列。 每个元素由一对括号和括号中的整数对组成,元素前应空一格。 每个元素的整数对正是该元素的行号与列号。 每个格式阵列之间应有一空行,最前与最后不应有空行。 样本输出中,□表示空格。 SampleInput: 6SampleOutput: □(1,1)□(1,2)□(1,3)□(1,4)□(1,5)□(1,6) □(2,1)□(2,2)□(2,3)□(2,4)□(2,5)□(2,6) □(3,1)□(3,2)□(3,3)□(3,4)□(3,5)□(3,6) □(4,1)□(4,2)□(4,3)□(4,4)□(4,5)□(4,6) □(5,1)□(5,2)□(5,3)□(5,4)□(5,5)□(5,6) □(6,1)□(6,2)□(6,3)□(6,4)□(6,5)□(6,6) 代码: #include usingnamespacestd; intmain() {for(intn,m=0;cin>>n;) {cout<<(m++? "\n": "");//输入数字行与输出行换行 //等价于for(intn,m=0;cin>>n;m++) //{if(m! =0)cout<<"\n";}也就是第一次换行 for(inti=1;i<=n;++i)//换行n次,并进行保值i {for(intj=1;j<=n;++j)//每列n个数,用j保值 cout<<"("< cout<<"\n"; }}} 小结: 1.strings=”ab”;stringt=”xy”;s=s+t;cout< 2.if(a>1)cout< Cout< cout< 等价于cout<<((a>1)? X: y); 3.%取余,/取商 4.Intn,m时,逗号仅表示同一步的先后顺序。 1! 到n! 的和 Description: 求1! +2! +3! +4! +...+n! 的结果。 Input: 输入数据含有不多于50个的正整数n(1≤n≤12)。 Output: 对于每个n,输出计算结果。 每个计算结果应占独立一行。 SampleInput: 36 SampleOutput: 9 873 代码: #include usingnamespacestd; intmain() {intt=1; inta[12];//因为是不大于12的,所以开12个盒子 for(inti=1;i<=12;i++) {t*=i; a[i]=t;}//计算每一个阶乘的值(1-12) for(intn;cin>>n;) {intsum=0; for(inti=1;i<=n;i++) sum+=a[i];//累加前面算出的值,实际上a[0]没有使用 cout< }}优化 #include usingnamespacestd; intmain() {inta[12]={1};//开13个数组,注意0是不用的! ,给定a[0]=1;其余是0 for(inti=1,t=2;i<=12;t*=++i+1)//也就是t=t*(i+1);i++; {a[i]=t+a[i-1];}//计算阶乘和 for(intn;cin>>n;)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江工业大学 c+ 资料 教授
![提示](https://static.bdocx.com/images/bang_tan.gif)