diff --git a/2207/小游戏.md b/2207/C语言/小游戏.md similarity index 100% rename from 2207/小游戏.md rename to 2207/C语言/小游戏.md diff --git a/2207/标准库函数.md b/2207/C语言/标准库函数.md similarity index 100% rename from 2207/标准库函数.md rename to 2207/C语言/标准库函数.md diff --git a/2207/汉诺塔.md b/2207/C语言/汉诺塔.md similarity index 100% rename from 2207/汉诺塔.md rename to 2207/C语言/汉诺塔.md diff --git a/2207/约瑟夫环.md b/2207/C语言/约瑟夫环.md similarity index 100% rename from 2207/约瑟夫环.md rename to 2207/C语言/约瑟夫环.md diff --git a/2207/线性结构.md b/2207/C语言/线性结构.md similarity index 100% rename from 2207/线性结构.md rename to 2207/C语言/线性结构.md diff --git a/2207/结构体.md b/2207/C语言/结构体.md similarity index 100% rename from 2207/结构体.md rename to 2207/C语言/结构体.md diff --git a/2207/练习题/MySQL——网上书店.md b/2207/MySQL练习题/MySQL——网上书店.md similarity index 100% rename from 2207/练习题/MySQL——网上书店.md rename to 2207/MySQL练习题/MySQL——网上书店.md diff --git a/2207/习题合集/结构体/1.c b/2207/习题合集/结构体/1.c deleted file mode 100644 index 4a48b03..0000000 --- a/2207/习题合集/结构体/1.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int main(void){ - - - return 0; -} \ No newline at end of file diff --git a/2207/习题答案/1-7习题答案.md b/2207/习题答案/1-7习题答案.md deleted file mode 100644 index b436cb5..0000000 --- a/2207/习题答案/1-7习题答案.md +++ /dev/null @@ -1,21 +0,0 @@ -```sql -#1.修改字段数据类型 -ALTER TABLE t_student MODIFY sex ENUM('男', '女'); -#2.添加字段 -ALTER TABLE t_student ADD tel CHAR(20); -#3.修改数据类型 -ALTER TABLE t_coach MODIFY salary INT(6) ZEROFILL; -#4.插入记录 -INSERT INTO t_coach() -VALUES(DEFAULT, '赵欣彤', '女', 25, 6000); -#5.更新记录 -UPDATE t_class c -SET c.period = 18 -WHERE c.id = 10005; -#6.条件、连接查询 tj11 - -#7.分组、连接查询 tj12 - -#8.条件、连接查询 视图 - -``` \ No newline at end of file diff --git a/2207/习题答案/12-18习题答案.md b/2207/习题答案/12-18习题答案.md deleted file mode 100644 index 11ae5ef..0000000 --- a/2207/习题答案/12-18习题答案.md +++ /dev/null @@ -1,246 +0,0 @@ -### C语言-1 - -```c -/*------------------------------------------------------------------------------ -(1)【程序设计】定义一个大小为50的整型数组,将数字1~50存入该数组,利用指针将数组中的值输出,每行5个,每个数字占4个符号位,左对齐。 -------------------------------------------------------------------------------*/ -#include -#include -int main() -{ - int i,*p,array[50]; - for(i=0;i<50;i++) - { - array[i]=i+1; - } - p=array; -/**********Program**********/ - //p 一级指针 可以指向整型的一维数组 - for(i=0;i<50;i++){//0~49 - printf("%-4d ", p[i]); - if((i+1)%5==0){ - printf("\n"); - } - } - -/********** End **********/ -} -``` - -### C语言-2 - -```c -/*---------------------------------------------------------------------- -【程序设计】 ------------------------------------------------------------------------- -题目:要求实现一个函数,能够合并两个整数数组,合并后进行降序排序并删除重复元素。 -示例1: -输入输出如下所示: -请输入第一个数组的6个元素,每个元素之间用空格隔开:1 3 5 7 10 6 -请输入第二个数组的6个元素,每个元素之间用空格隔开:10 4 2 6 11 30 -合并后降序排列的数组:30 11 10 7 6 5 4 3 2 1 ------------------------------------------------------------------------- -注意:请勿改动程序中的其他内容。 -----------------------------------------------------------------------*/ -#include - -int* mergeArrays(int *arr1, int size1, int *arr2, int size2,int *newLen); - -int main() { - - int size1=6; - int size2=6; - int arr1[6]; - int arr2[6]; - int i; - - int newLen = 0; - int* mergedArray; - - printf("请输入第一个数组的6个元素,每个元素之间用空格隔开:"); - for ( i = 0; i < size1; i++) { - scanf("%d", &arr1[i]); - } - printf("请输入第二个数组的6个元素,每个元素之间用空格隔开:"); - for ( i = 0; i < size2; i++) { - scanf("%d", &arr2[i]); - } - - mergedArray = mergeArrays(arr1, size1, arr2, size2, &newLen); - - printf("合并后降序排列的数组:"); - for (i = 0; i < newLen; i++) { - printf("%d ", mergedArray[i]); - } - printf("\n"); - return 0; -} - - -int* mergeArrays(int *arr1,int size1,int *arr2,int size2,int *newLen) { - static int mergedArray[20]; - /**********Program**********/ - int i, j=0, temp; - //合并数组 - for(i=0;i - -int main() -{ - int a,b,c,d,i,j,sum=0; - scanf("%d",&j); - /**********Program**********/ - for(i=100;i -#include -#include -#include -#include - -#define N 4 - -void binary_power(unsigned int x) -{ - int flag =1; - unsigned int s,t,y; - printf("%u=",x); - - /**********Program**********/ - t = 1; - y = 0; - //二进制的权位值 2^2 2^1 2^0 - //从末尾开始一直乘 乘到 大于传入的x就停止 同时记录下次方数 - while(t <= x){ - t*=2; - y++; - } - y--;//2^y 会正好大于x - printf("2^%d", y);//最高位 - x -= (int)pow(2, y);//求2的y次方 同时对x进行减法运算 - y--; - - while(x > 0){ - t = 1; - s = (int)pow(2, y); - if(x >= s){//当前权位值没有大于需要运算的数据 - x -= s; - printf("+2^%d", y); - } - y--; - } - /********** End **********/ - printf("\n"); -} -int main() -{ - unsigned int n[N]={1,15,32,144}; - int i; - for(i=0;i -#define N 10 -void main( ) -{ - int a[N+5]={4,6,9,12,15,18,23,26,32,39},p,x,i,j; - for(i=0;i a[j+1]){ - x = a[j]; - a[j] = a[j+1]; - a[j+1] = x; - } - } - } - - - - - /********** End **********/ - for(i=0;i - -void main() -{ - int a,b,c,d,k,i,n; - k=0; - scanf("%d",&n); - /**********Program**********/ - - for(i=100;i<=n;i++){ - a = i;//备份一遍i的数据 - d = 0; - while(a){ - d += (a%10); - a /= 10; - } - if(d == 5){ - k++; - } - } - /********** End **********/ - printf("%d\n",k); -} - -``` - - - -### C语言-5 - -```c -/*------------------------------------------------------------------------------ -【程序设计】编写函数rtrim,用来删除字符串尾部的空格,首部和中间的空格不删除。例如:字符串为:" A BC DEF ", -删除后的结果是" A BC DEF"。要求函数形参采用指针变量。 -测试输入: A BC DEF -测试输出: A BC DEF -说明:测试输入中,A前有4个空格,F后有5个空格 ------------------------------------------------------------------------- -注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。 -仅在Program-End之间填入若干语句。不要删除标志否则不得分。 -------------------------------------------------------------------------------*/ -#include -#include -void main() -{ - void rtrim(char *p); - char s[100]; - gets(s); - rtrim(s); - puts(s); -} -void rtrim(char *p) -{ - int i; - /**********Program**********/ - i=0; - while(*(p+i) != '\0'){ - i++; - } - while(*(p+i-1) == ' '){ - *(p+i-1) = '\0'; - i--; - } - - /********** End **********/ -} - -``` - - - -### C语言-6 - -```c -/*------------------------------------------------------------------------------ -【程序设计】定义一个函数实现字符串的逆序存放(连续的字符串,中间不包含空格),要求用指针实现。 -在主函数中调用函数实现字符串逆序存放。运行程序,输入字符串,输出逆序后的字符串。 ------------------------------------------------------------------------- -注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。 -仅在Program-End之间填入若干语句。不要删除标志否则不得分。 -------------------------------------------------------------------------------*/ -#include -#include -void reversed_str(char *str){ - char *p=str,*q=str; - int temp; - while(*q!='\0'){ - q++; - } - q--; - /**********Program**********/ - while(p < q){ - temp = *p; - *p = *q; - *q = temp; - p++; - q--; - } - /********** End **********/ -} -int main(){ - char s[50]; - printf("输入字符串:"); - scanf("%s",s); - printf("逆序前:%s\n",s); - reversed_str(s); - printf("逆序后:%s\n",s); - return 0; -} - -``` - - - -### C语言-7 - -```c -/*------------------------------------------------------------------------------ -【程序设计】从键盘输入一位整数i,计算其各位数字之和。 ------------------------------------------------------------------------- -注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。 -仅在Program-End之间填入若干语句。不要删除标志否则不得分。 -------------------------------------------------------------------------------*/ -#include -#include -int main(){ - int i,sum=0,a; - scanf("%d",&i); - /**********Program**********/ - while(i){ - sum += i%10; - i/=10; - } - /********** End **********/ - printf("%d\n",sum); - return 0; -} - -``` - - - -### C语言-8 - -```c -/*------------------------------------------------------------------------------ -【程序设计】编写函数,判断一个字符串是否是回文。在主函数中输入一个字符串,调用自定义函数,输出结果。 -所谓回文是指顺读和倒读都一样的字符串。如"XZYKYZX"是回文。 ------------------------------------------------------------------------- -注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。 -仅在Program-End之间填入若干语句。不要删除标志否则不得分。 -------------------------------------------------------------------------------*/ -#include -#include -void main() -{ - char s[50]; - int hw(char *s); - gets(s); - if(hw(s)) - printf("是回文!\n"); - else - printf("不是回文!\n"); -} -int hw(char *s) -{ - int flag=1; - char *p,*q; - /**********Program**********/ - p = s;//指向字符串首元素 - q = s+strlen(s)-1;//指向末尾元素 - while(p < q){ - if(*p != *q){ - flag = 0; - break; - } - p++; - q--; - } - - return flag; - /********** End **********/ -} - -``` - diff --git a/2207/习题答案/2-18.md b/2207/习题答案/2-18.md deleted file mode 100644 index 65f8c1d..0000000 --- a/2207/习题答案/2-18.md +++ /dev/null @@ -1,126 +0,0 @@ -## C语言-1 -```c -/*------------------------------------------------------------------------------ -【程序设计】程序实现的功能是:输入字符串(不包含空格),删除其中的数字字符后输出。 -输入输出如下: -hello 123 world -去掉数字后的字符串为:hello world ------------------------------------------------------------------------- -注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。 -仅在Program-End之间填入若干语句。不要删除标志否则不得分。 -------------------------------------------------------------------------------*/ -#include -#include - -void main() -{ - - char a[100],b[100]; - int l,i,j; - gets(a); - l=strlen(a); - j=0; - /**********Program**********/ - for(i=0;i '9' || a[i] < '0'){ - b[j++]=a[i]; - } - } - /********** End **********/ - b[j]='\0'; - printf("去掉数字后的字符串为:"); - puts(b); - -} - -``` - - -## C语言-2 -```c -/*------------------------------------------------------------------------------ -【程序设计】输入一个整数k, S=1*2*3*…*n,求S不大于k时最大的n。 ------------------------------------------------------------------------- -注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。 -仅在Program-End之间填入若干语句。不要删除标志否则不得分。 -------------------------------------------------------------------------------*/ -#include -void main() -{ - int i=1,k,s=1; - /**********Program**********/ - scanf("%d", &k); - while(1){ - if(s > k){ - break; - } - i++; - s*=i; - } - i--; - /********** End **********/ - printf("%d\n",i); -} - -``` - -## MySQL - -```sql -#1 -ALTER TABLE t_hotel ADD `level` CHAR(10) DEFAULT '暂无评级'; -#2 -INSERT INTO t_hotel() -VALUES(DEFAULT, '苹果酒店', '无名街356号', '138-1258-0000', '五星'); -#3 -UPDATE t_room r -SET r.price = r.price+100 -WHERE r.hid = ( - SELECT hid - FROM t_hotel - WHERE hname = '香蕉酒店' -); -#4 -SELECT c.cname, c.integral, -IF(c.integral<1000, '普通会员', -IF(c.integral<3000, '中级会员', -IF(c.integral<5000, '高级会员', '顶级会员'))) -FROM t_client c; -#5 -SELECT h.hid, ROUND(AVG(r.price), 2) p -FROM t_hotel h, t_room r -WHERE h.hid = r.hid -GROUP BY h.hid -ORDER BY p DESC; -#6 -SELECT c.cid, c.cname, SUM(r.price) s -FROM t_client c, t_booking b, t_room r -WHERE c.cid = b.cid AND r.rid = b.rid -GROUP BY c.cid -ORDER BY s DESC -LIMIT 1; -#7 -CREATE VIEW v_hotel AS -SELECT DATE_FORMAT(b.btime,'%Y-%m') d, SUM(r.price) -FROM t_booking b, t_room r -WHERE b.rid = r.rid -GROUP BY d; -#8 -DELIMITER $$ -CREATE TRIGGER tri_updateLevel -BEFORE UPDATE ON t_client -FOR EACH ROW -BEGIN - IF NEW.integral <2500 THEN - SET NEW.`level` = '初级会员'; - ELSEIF NEW.integral <5000 THEN - SET NEW.`level` = '中级会员'; - ELSE - SET NEW.`level` = '高级会员'; - END IF; -END $$ -DELIMITER ; -#9 - - -``` \ No newline at end of file diff --git a/2207/调考试题答案/2024年12月.md b/2207/调考试题答案/2024年12月.md deleted file mode 100644 index a27ef48..0000000 --- a/2207/调考试题答案/2024年12月.md +++ /dev/null @@ -1,110 +0,0 @@ -### 数据库 - -```sql -#1 创建表 -CREATE TABLE t_family( - fno INT(11) PRIMARY KEY AUTO_INCREMENT, - eno INT(11) NOT NULL COMMENT '职工编号', - ename VARCHAR(255) NOT NULL COMMENT '职工姓名', - faname VARCHAR(255), - moname VARCHAR(255) -); - -#2 添加字段 -ALTER TABLE t_salary ADD grade VARCHAR(255) COMMENT '评级'; - -#3 修改字段数据类型 -ALTER TABLE t_employee MODIFY sex ENUM('男', '女'); - -#4 更新记录 -UPDATE t_department d -SET d.tel = '128' -WHERE d.dname = '法务部'; - -#5 条件、排序查询 -SELECT e.ename, e.sex, e.birthday -FROM t_employee e -WHERE e.birthday >= '2000-1-1' -ORDER BY e.birthday DESC; - -#6 分组、多表连接查询 -SELECT d.dname, SUM(s.basepay+s.overtime+s.allowance+s.insurance) -FROM t_department d, t_employee e, t_salary s -WHERE e.dno = d.dno AND e.eno = s.eno -GROUP BY d.dno; -#7 分组+排序 视图 -CREATE VIEW v_jobcount AS -SELECT j.jobtitle, COUNT(*) -FROM t_job j, t_employee e -WHERE j.jno = e.jobno -GROUP BY j.jno -ORDER BY 2; - -#8 触发器 -CREATE TRIGGER tri_updateGrade -BEFORE UPDATE ON t_salary FOR EACH ROW -BEGIN - IF NEW.basepay < 6000 THEN - SET NEW.grade = 'C'; - ELSEIF NEW.basepay < 8000 THEN - SET NEW.grade = 'B'; - ELSEIF NEW.basepay >= 8000 THEN - SET NEW.grade = 'A'; - END IF; -END; -#9 存储过程 -CREATE PROCEDURE `pro_getDepartmentTel`(in `in_dno` int, OUT dept_phone VARCHAR(100)) - BEGIN - - SELECT CONCAT('部门名称-', dname, ',电话-', tel) INTO dept_phone - FROM t_department - WHERE dno = `in_dno` limit 1; - - IF dept_phone IS NULL THEN - SET dept_phone = '没有找到相应的部门'; - END IF; - END -``` - -### C语言-1 - -```c -/*--------------------------------------------------------- -【程序设计】输入n个整数,以-1结束,求所输入的整数中,十位是奇数的所有整数之和。 -例1: -输入n个整数,求十位为奇数的数之和(输入-1结束): -10 15 20 25 30 40 50 -1 -十位为奇数的数之和为: 105 -例2: -输入n个整数,求十位为奇数的数之和(输入-1结束): -8 18 28 -38 48 58 -1 98 -十位为奇数的数之和为: 38 ------------------------------------------------------------------------- -注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在 -Program-End之间填入若干语句。不要删除标志否则不得分。 ----------------------------------------------------------*/ -#include -int main() { - int num,tenDigit; - int sum = 0,i; - printf("输入n个整数,求十位为奇数的数之和(输入-1结束):\n"); - while (1) - { - scanf("%d", &num); - /**********Program**********/ - if(num == -1){ - break; - } - if((num<0?num*-1:num)%100/10%2==1){ - sum += num; - } - - - - - /********** End **********/ - } - printf("十位为奇数的数之和为: %d\n", sum); -} -``` -