上节课作业部分(点击跳转)
单元测评2题目和答案解析
1、
2、
3、不定长数组,不允许不初始化列,可以不初始化行;
4、比较常见的字符的ASCII码,空格为32,字符0为48,大写字母A为65,小写字母a为97
5、abs为绝对值函数,正数的绝对值是本身,负数的绝对值为相反数,ceil表示向上取整7
6、值传递和引用传递,值传递形参的改变不会改变实参,引用传递形参的改变会改变实参8
程序阅读题1:第一行输出的是字符串s1,注意是遍历输出字符串s1,每输出一个字符后后面还输出了一个空格,所以第一个选D 第二个考察的是string中的+表示拼接,首先s1=s1+s2,表示将s2拼接到s1后,结果赋值给s1,s1为abcabc,然后s1+=s2也是同样的效果,在s1为abcabc的基础上再拼接abc,结果为abcabcabc9
程序阅读题2:注意输入的两行三列的二维数组是从下标1开始存放的,但输出是从0开始输出10
编程题1、
解析:先获取最后一个字符保存到新字符串,再遍历原字符串每个字符加到新字符串后面,遍历到倒数第2个就可以啦;然后正序输出; #include <iostream> using namespace std; int main(){ string s; cin >> s; string ans; ans += s[s.size() - 1]; for (int i = 0; i < s.size() - 1; i++) { ans += s[i]; } cout << ans; return 0; }View Code
2、
定义变量n存储边长 外层循环控制正方形的行数 内层循环控制正方形的列数 每一行结束要换行 #include <iostream> using namespace std; int main() { //定义变量n存储边长 int n; cin >> n; //外层循环控制正方形的行数 for (int i = 1; i <= n; i++) { //内层循环控制正方形的列数 for (int j = 1; j <= n; j++) { cout << '&'; } //每一行结束要换行 cout << '\n'; } return 0; }View Code
3、
二维数组 解析:如图 #include <iostream> using namespace std; int a[109][109],b[109][109]; int main(){ int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cin >> a[i][j]; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { b[i][j] = b[i][j - 1] + a[i][j]; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cout << b[i][j] << " "; } cout << "\n"; } return 0; }View Code
4、
解析 定义变量a,b,c存储3个实数并输入 定义一个函数,用来求三个实数中的最大值 调用函数计算式子的结果并保留两位小数输出 #include<iostream> using namespace std; //定义一个函数,用来求三个实数中的最大值 double maxx(double a,double b,double c){ double mx = a; if(b >= a) mx = b; if(c >= mx) mx = c; return mx; } int main(){ //定义变量a,b,c存储3个实数并输入 double a,b,c; cin >> a >> b >> c; //调用函数计算式子的结果并保留两位小数输出 printf("%.2f",maxx(a,b,c)/(maxx(a+b,b,c)*maxx(a,b,b+c))); return 0; }View Code
上节课作业部分:
1、[【字符串】宝石与石头]
解析 【题意分析】 输入两个字符串,一个为宝石类型,一个为拥有的石头类型,求拥有的宝石的数量。 【思路分析】 1、定义变量,输入两个字符串 2、遍历手中的石头,判断是否为宝石,循环嵌套 1、外循环为拥有的石头,内循环为宝石的种类 3、输出答案,拥有的宝石数量 【参考代码】 #include<iostream> #include<string> using namespace std; int main() { //1、定义变量,输入两个字符串 string s,t; int sum = 0; //统计拥有的宝石的数量 cin >> s >> t; //2、遍历手中的石头,判断是否为宝石,循环嵌套 for(int i = 0; i < t.size(); i++) //手中拥有的石头 { for(int j = 0; j < s.size(); j++) //宝石的类型 { if(t[i] == s[j]) sum++; } } //3、输出答案,拥有的宝石数量 cout << sum; return 0; }View Code
2、[【数学】列车到达时间]
【思路分析】 1、定义变量,输入 2、实际到达的时间 = (到达时间 + 延误时间) % 24 【参考代码】 #include<iostream> using namespace std; int main() { //1、定义变量,输入 int arr , del; cin >> arr >> del; //到达时间 延误时间 //2、实际到达的时间 = (到达时间 + 延误时间)%24 cout << (arr + del) % 24; return 0; }View Code
3、【双重循环】三元组]
【思路分析】 1、定义变量,输入 2、双层循环,枚举 a 和 b 3、根据 a 和 b,得出 c 4、判断 c 是否符合题意,需满足 a * a + b * b = c * c 且 c 小于等于 n 【参考代码】 #include<iostream> #include<cmath> using namespace std; int main() { //1、定义变量,输入 int n , a , b , c , sum=0; cin >> n; //2、枚举 a 和 b for(int i = 1; i <= n; i++) //a { for(int j = 1; j <= n; j++) //b { //3、根据 a 和 b,得出 c a = i; b = j; c = sqrt(a * a + b * b); //4、判断 c 是否符合题意 if(c * c == a * a + b * b && c <= n) sum++ ; } } cout << sum; //数目 return 0; }View Code
1、[【循环的应用】螺旋矩阵]
【思路分析】 1、定义变量,输入 2、由内到外递增,看成由外到内递减 3、重复螺旋状 4、每一圈四个方向构成,分别为下 左 上 右 4.1、 向下移动,在变动的是行,从第 l 行到第 r 行 4.2、向左移动,在变动的是列,从第 r-1 列到第 l 列 4.3、向上移动,在变动的是行,从第 r-1 行到第 l 行 4.4、向右移动,在变动的是列,从第 l+1 列到第 r-1 列 5、一圈结束后,往内部继续螺旋 5.1、样例,第一圈的起点为25,第二圈的起点为9,第三圈的起点为1 【参考代码】 #include <bits/stdc++.h> using namespace std; int a[105][105], n; int main() { //1、定义变量,输入 cin >> n; //2、由内到外递增,看成由外到内递减 int l = 1, r = n, cnt = n * n; //起点坐标(l,r) //3、重复螺旋状 while (l <= r) { //4、每一圈四个方向构成,分别为下 左 上 右 //4.1、 向下移动,在变动的是行,从第 l 行到第 r 行 for (int i = l; i <= r; i++) { a[i][r] = cnt--; } //4.2、向左移动,在变动的是列,从第 r-1 列到第 l 列 for (int i = r - 1; i >= l; i--) { a[r][i] = cnt--; } //4.3、向上移动,在变动的是行,从第 r-1 行到第 l 行 for (int i = r - 1; i >= l; i--) { a[i][l] = cnt--; } //4.4、向右移动,在变动的是列,从第 l+1 列到第 r-1 列 for (int i = l + 1; i <= r - 1; i++) { a[l][i] = cnt--; } //5、一圈结束后,往内部继续螺旋 //5.1、样例,第一圈的起点为25,第二圈的起点为9,第三圈的起点为1 l++, r--; } for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { printf("%8d",a[i][j]); } cout << "\n"; } return 0; }View Code
标签:main,12,定义,int,s1,C++,U2,using,include From: https://www.cnblogs.com/jayxuan/p/17827639.html