c1-周考2

2024-03-03 05:28
文章标签 c1 周考

本文主要是介绍c1-周考2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

c1-第二周

  • 9月-技能
    • 1.一个岛上有两种神奇动物,其中神奇鸟类2个头3只脚,神奇兽类3个头8只脚。游客在浓雾中看到一群动物,共看到35个头和110只脚,求可能的鸟类和兽类的只数
    • 2.构建一个长度为5的数组,并且实现下列要求
    • 3.构建一个结构体student,要求成员有
  • 10月-技能
    • 1.排序
    • 2.编程实现以下功能:
    • 3.有三个学生组队参加某比赛,每个学生信息包含准考证号,姓名,个人成绩,另团队有一总成绩。编写主程序模拟生成三个学生给其赋值、完成相关信息的输出。
  • 12月-技能
    • 1.编写程序,从键盘上输入三个整数,找出最大值,找出最小值,实现由小到大排序
    • 2.判断是否存在一个三位数abc,满足abc=(a*a+b*b+c*c)*3,若存在则输出abc,不存在则提示不存在
    • 3.输出一个1,两个2,三个3···九个9排列成的上小下大的金字塔
    • 4.由键盘任意输入3个整数a、b、c做边长,判断能否组成一个三角形(三角形要求任意两边的和大于第三边),若可以组成三角形,判断是否可以组成直角三角形(直角三角形是某两边的平方和等于第三边的平方)
    • 5.完成注册与登录功能:
  • 1月-技能
    • 1.编写程序,求和sum=2^0+2^1+2^2+...2^n,sum>10000时停止,并输出最后一项
    • 2.求e=1+1/1!+1/2!+1/3!+...的结果,要求最后一项小于0.000001时停止,并输出最后一项阶乘表示的值
    • 3.编程实现输入月份(1-12),电脑输出季节
    • 4.求PI值,PI/4 = 1  - 1/3 + 1/5 - 1/7 + ...,精度要求1e-6'
    • 5.编程实现以下功能:
  • 2月-技能
    • 4.有一个7层灯塔,每层所点灯数都等于该层上一层的两倍,灯的总数是381盏:

9月-技能

1.一个岛上有两种神奇动物,其中神奇鸟类2个头3只脚,神奇兽类3个头8只脚。游客在浓雾中看到一群动物,共看到35个头和110只脚,求可能的鸟类和兽类的只数

要求1:main函数中,头和脚的数量(35,110)通过键盘输入
要求2:合理使用for循环
要求3:输出计算后的结果
要求4:有合理注释

void week2_9_1(){int tou,jiao;cin >> tou >>jiao;for(int i = 0;i<=tou;i++){ //鸟for(int j = 0;j<=tou;j++){ //兽if(i+j == tou && i*3+j*8 == jiao){cout << i << " " << j << endl;}}}
}

2.构建一个长度为5的数组,并且实现下列要求

要求1:从键盘依次输入5个正整数,并显示一次初始顺序
要求2:按照数字从大到小的顺序重新排列其顺序。
方法1:调用函数,直接传值交换法
方法2:调用函数,传指针交换法
要求3:输出排列后的顺序

void sort1(int arr[],int size){for(int i = 0;i<4;i++){for(int j = 0;j<4-i-1;j++){if(arr[j] > arr[j+1]){int temp = arr[j]; //值交换位置arr[j] = arr[j+1];arr[j+1] = temp;}}}for(int i = 0;i<4;i++){cout << arr[i] << endl;}
}void sort2(int *p,int size){for(int i = 0;i<4;i++){for(int j = 0;j<4-i-1;j++){if(p[j] < p[j+1]){int temp = p[j]; //指针换位置p[j] = p[j+1];p[j+1] = temp;}}}for(int i = 0;i<4;i++){cout << p[i] << endl;}
}

3.构建一个结构体student,要求成员有

①长度20的char型数组 (name)
②int型常量(stu_num)
③长度2的char型数组(sex)
依据该结构,初始化两个同结构不同名的实体,并打印其信息

struct student{char name[20];const int stu_num = 1; //常量char sex[2];
};int main() {student stu1 ={{'a','c','b'},1,{'a','b'}};cout << stu1.name <<endl;cout << stu1.stu_num << endl;for(int i = 0;i<2;i++){cout<< stu1.sex[i]<< endl;}student stu2 = {}; //这里自己补齐,同上}

在这里插入图片描述

10月-技能

1.排序

在这里插入图片描述
按照商品价格降序输出商品信息

struct Goods {//定义结构体int id;string name;int price;int number;
};//重写排序方式
bool compare(Goods g1,Goods g2){return g1.price > g2.price; //我要按照价钱排序
}int main(){Goods arr[4]={{1,"手机",2000,1},{2,"电脑",5000,3},{3,"水杯",500,6},{4,"椅子",10000,9}};sort(arr,arr+4, compare); //排序for(int i = 0;i<4;i++){cout << arr[i].id <<"   "  << arr[i].name <<"   "<< arr[i].price <<"   "<< arr[i].number <<"   "<< endl;}
}

在这里插入图片描述

2.编程实现以下功能:

(1)定义函数mySort,实现对接收过来的一组数据进行升序排序,参数使用数组
(2)定义函数myPrint,实现对接收过来的一组数据进行输出,参数使用指针
(3)主函数中:
定义数组保存学生的成绩
输入学生人数n,
输入n个学生的成绩
调用函数mySort,实现对成绩升序排序
调用函数myPrint,实现打印输出排序后的数琚

void mySort(int arr[],int size){sort(arr,arr+size); //排序
}//(2)定义函数myPrint,实现对接收过来的一组数据进行输出,参数使用指针
void myPrint(int arr[],int size){int *p = arr;for(int i = 0;i<size;i++){cout << *p << endl;p++;}
}
int main(){cout << "请输入学生的数量"<< endl;int n;cin >> n;int arr[n];for(int i = 0;i<n;i++){cin >> arr[i];}mySort(arr,n); //排序myPrint(arr,n); //打印
}

3.有三个学生组队参加某比赛,每个学生信息包含准考证号,姓名,个人成绩,另团队有一总成绩。编写主程序模拟生成三个学生给其赋值、完成相关信息的输出。

定义学生类Student
私有数据成员:学生准考证号(exam_number),学生姓名(stu_name ) 
公有数据成员:团队成绩 (team_grade)
公有成员函数:ScanStuInfo函数实现功能为输入三个学生的姓名和准考证号,输				 入团队成绩PrintStuInfo函数实现输出所有学生信息以及团队成绩
主函数中创建一个Student对象,分别调用两个成员函数,实现相应的效果
#include <iostream>
using namespace std;
//无参构造
class Student{
private: //私有int exam_number[3]; //号  1 2 3string stu_name[3]; //学生  zsb  shh  zj
public:int team_grade;//团队成绩void ScanStuInfo(){ //录入学生的成绩for(int i = 0;i<3;i++){cout <<"输入第"<<(i+1)<<"准考证号:";cin >> exam_number[i];cout <<"输入第"<<(i+1)<<"学生姓名:";cin >> stu_name[i] ;}cout <<"输入团队成绩:";cin >> team_grade;}void PrintStuInfo(){ //打印学生的信息for(int i = 0;i<3;i++){cout << "学生的号:" << exam_number[i] <<"  " << "学生的名字:" << stu_name[i] <<"  " <<endl;}cout << "团队成绩是:" << team_grade << endl;}
};
int main(){Student stu1; //创建对象,无参构造stu1.ScanStuInfo(); //用对象调用函数stu1.PrintStuInfo();
}

12月-技能

1.编写程序,从键盘上输入三个整数,找出最大值,找出最小值,实现由小到大排序

大佬自己补齐,你可以的~~~~

2.判断是否存在一个三位数abc,满足abc=(aa+bb+c*c)*3,若存在则输出abc,不存在则提示不存在

void test12_2(){for(int abc=100;abc<=999;abc++){int a = abc/100%10;int b = abc/10%10;int c = abc%10;if((a*a+b*b+c*c)*3== abc){cout << abc << endl;}}
}
答案:267

3.输出一个1,两个2,三个3···九个9排列成的上小下大的金字塔

void test12_3(){for(int i = 1;i<=9;i++){for(int k = 9;k>=i;k--){cout << " ";}for(int j = 1;j<=i;j++){cout << i << " " ;}cout << endl;}
}

4.由键盘任意输入3个整数a、b、c做边长,判断能否组成一个三角形(三角形要求任意两边的和大于第三边),若可以组成三角形,判断是否可以组成直角三角形(直角三角形是某两边的平方和等于第三边的平方)

void test12_4(){int a,b,c;cin >> a >> b>> c;if(a+b > c && a+c > b && b+c>a){if(a*a+b*b==c*c || b*b+c*c==a*a || a*a+c*c==b*b){cout << "是直角三角形" << endl;} else{cout << "是三角形" << endl;}} else{cout << "不是三角形" << endl;}
}

5.完成注册与登录功能:

完成注册功能:要求用户名输入账号a1,密码k1。
完成登录功能:如果用户名输入账号a2和注册账号a1一致,密码k2与k1一致,提示登陆成功。
否则提示“输入错误,请重新输入!您还有*次机会”。
三次输入错误后将无法再输入,提示“对不起,你的账号已被锁定!”

void test12_5(){cout << "请输入注册信息:" << endl;string name,pwd;cin >> name >> pwd;string name1,pwd1; //登录int error_num =0; //错误次数while (true){ //死循环cout << "请输入登录信息:" << endl;cin >> name1 >> pwd1;if(name == name1 && pwd == pwd1){cout << "登录成功" << endl;break;} else{error_num++; //1cout << "输入错误,请重新输入!您还有" << 3-error_num <<"次机会" << endl;if(error_num >= 3){cout<< "对不起,你的账号已被锁定!" << endl;break;}}}
}

1月-技能

1.编写程序,求和sum=20+21+22+…2n,sum>10000时停止,并输出最后一项

的2^n中n的值是多少 !阶乘 ^平方

void month1_1(){int sum = 0;for(int n = 0;;n++){sum += pow(2,n); //pow用平算平方if(sum>10000){cout << n << endl;break;}}cout << sum << endl;
}

2.求e=1+1/1!+1/2!+1/3!+…的结果,要求最后一项小于0.000001时停止,并输出最后一项阶乘表示的值

void month1_2(){double e = 1;double sum = 1;for(int i = 1;;i++){sum*=i; //阶乘1*1   1*1*2  1*1*2*3e+=(1/sum);if(1/sum < 0.000001){cout << "数字是"<< i <<"阶乘:" << sum << endl;break;}}
}

3.编程实现输入月份(1-12),电脑输出季节

春季为3、4、5月份,夏季为6、7、8月份,秋季为9、10、11月份,冬季为12、1、2月份, 例: 输入月份:12 电脑输出:冬季

自己来吧,着实有点简单了~~~是不是。。。。

4.求PI值,PI/4 = 1  - 1/3 + 1/5 - 1/7 + …,精度要求1e-6’

void month1_3(){double Pi = 0;  //1double f = 1; //用来换符号- +for(double i = 1;;i+=2){Pi+=f/i;f*=-1;if(1/i < 1e-6){break;}}cout << Pi*4 << endl;
}

5.编程实现以下功能:

(1)定义函数fsort,实现对接收的一组数据进行升序(由小到大)排序,参数使用数组
(2)定义函数frint,实现对接收的一组数据进行输出
(3)主函数中:
定义数组保存学生的成绩
输入学生的成绩
调用函数fsort,实现对成绩升序(由小到大)排序
调用函数fprint,实现打印输出排序后的数据

void fsort(int score[],int size){//排序sort(score,score+size);
}//形参(名字任意)
void frint(int arr[],int size){//遍历for(int i = 0;i<size;i++){ //0 1 2 3 4cout << arr[i] <<endl;}
}int main(){int score[5];cout << "输入学生的成绩:" << endl;for(int i = 0;i<5;i++){cin >> score[i];}fsort(score,5);//实参 (实际的参数)frint(score,5);
}

2月-技能

4.有一个7层灯塔,每层所点灯数都等于该层上一层的两倍,灯的总数是381盏:

(1)要求使用for循环实现
(2)要求使用数组保存每层所点灯数
(3)计算塔底灯数
(4)计算塔顶灯数
(5)第几层的灯数为48
(6)遍历输出每层灯数,要求由上至下输出
6. 命名规范,有注释。
7. 运行无错误 。

void dt2(){int m = 1; //假设第1层是1个int sum = 0; //计算7层有多少个灯塔for(int i =1;i<=7;i++){sum+=m;m*=2;}int a  = 381/sum; //得到塔顶3cout << "塔顶(第1层)是" << a << endl;for(int i = 2;i<=7;i++){a*=2;cout << "第"<<i << "层的灯是" << a <<"个" << endl;}
}

在这里插入图片描述

这篇关于c1-周考2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/768583

相关文章

C1-2 ABB二次SDK开发——手把手教登录对应的机器人控制器(图片引导操作)登录机器人控制器和刷新机器人列表

1.完成配置后我们开始进行操作 C1-1 ABB二次SDK开发——C#Window窗体-环境配置(带ABB二次开发SDK资源包)-CSDN博客文章浏览阅读95次。3.记住路径,右键C#引用,然后导入ABB.Robotics.Controllers.PC.dll。2.安装资源文件PCABB二次开发的SDK,并打开安装路径。1.新建VSC#的windowfrom项目。4.在框架代码主界面代码中添加。

C1-1 ABB二次SDK开发——C#Window窗体-环境配置(带ABB二次开发SDK资源包)

一.使用Visual Stdio创建一个项目 1.新建VSC#的windowfrom项目 2.安装资源文件PCABB二次开发的SDK,并打开安装路径 3.记住路径,右键C#引用,然后导入ABB.Robotics.Controllers.PC.dll 4.在框架代码主界面代码中添加 using ABB.Robotics.Controllers;using ABB.Roboti

yolov8代码记录---(tasks.py中的c1、c2和args) / (断点续训)

一、task中的c1、c2和args参数解析 如果你想在yolov8中修改或添加 新的结构块,基本都会修改到task.py中的c1、c2和args参数。 此处以Conv所在的判断分支代码为例: if m in (Classify, Conv, ConvTranspose, ..., C3x, RepC3):c1, c2 = ch[f], args[0]if c2 != nc:c2 = make_

20240528解决飞凌的OK3588-C的核心板的TYPE-C1接口识别问题

20240528解决飞凌的OK3588-C的核心板的TYPE-C1接口识别问题 2024/5/28 16:46 缘起: 现阶段碰到的USB相关的问题:(LINUX R4版本) 1、USB3.0插USB摄像头 lsusb找不到设备 2、刷机口只接了3根线,GND/D+/D-,可以刷机。ADB不能用 ——没接CC控制器,是做成了TypeC接口还是TypeA的呢 Z:\OK3588_

【c1】数据类型,运算符/循环,数组/指针,结构体,main参数,static/extern,typedef

文章目录 1.数据类型:编译器(compiler)与解释器(interpreter),中文里的汉字和标点符号是两个字节,不能算一个字符(单引号)2.运算符/循环:sizeof/size_t3.数组:存数据类型相同的数据,数组下标越界导致段错误4.指针:指针数组:这个数组的所有元素都是指针类型。数组指针:这个指针存放着一个数组的首地址4.1 地址/值/变量名:p是地址,*p是指向的内容,01指

Hive count(*) count(1) count(c1) 区别

1 count(c1) 不统计c1=NULL的记录,但统计c1='' 和 c1=' ' 空格的记录! 2 count(*) = count(1) = count(10000) = count(c1) + count(*) where c1 is null  3 count(数字),这个数字可以设置任意的正整数,不影响结果。 select count(1)from (sel

1015: 【C1】【循环】【for】整数序列的元素最大跨度值

题目描述 给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。 输入 一共2行,第一行为序列的个数n(1 <= n <= 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。 输出 输出一行,表示序列的最大跨度值。 样例输入 63 0 8 7 5 9 样例输出 9 提示 1.定义变量,判断变量的类型

工作流_阐述_工作流模式(C1)

工作流模式指在工作流过程模型中反复出现的过程基本构造,是衡量工作流建模语言在控制流方面的表达能力和适用性的重要标准。工作流模式经过发展和演变,从最初的20种发展到目前的126种,涉及的范畴从单纯的控制流模式,扩展到基于资源模式、基于数据模式: [list] [*] 基于控制流模式 43种(早期是经典的20种,后期扩展到43种) [*] 基于资源模式 43种 [*] 基于数据模式 40

1048: 【C1】【循环】【入门】与7无关的数

题目描述 一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数. 现求所有小于等于n(0<n <100)的与7无关的正整数的平方和. 输入 输入为一行,正整数n(0< n < 100) 输出 输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。 样例输入 21 样例输出 2336 Code: #include<bits/

1017: 【C1】【循环】【入门】多边形内角和

题目描述 在欧几里德几何中,n边形的内角和是(n-2)*180°。已知其中(n-1)个内角的度数,就能计算出剩下的一个未知内角的度数。请编写一个程序,来解决这个问题。 输入 第1行只有一个整数n(n>2),表示n边形。  第2行有(n-1)个正整数,是每个已知内角的度数。相邻两个整数之间用单个空格隔开。 数据保证给定多边形合法。 输出 一个正整数,为未知内角的度数。 样例输入 3