Auto commit
This commit is contained in:
parent
cec338f3d2
commit
a800cf8ba5
@ -1,7 +0,0 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void){
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
@ -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.条件、连接查询 视图
|
||||
|
||||
```
|
@ -1,246 +0,0 @@
|
||||
### C语言-1
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
(1)【程序设计】定义一个大小为50的整型数组,将数字1~50存入该数组,利用指针将数组中的值输出,每行5个,每个数字占4个符号位,左对齐。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
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 <stdio.h>
|
||||
|
||||
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<size1;i++){
|
||||
mergedArray[j++] = arr1[i];
|
||||
mergedArray[j++] = arr2[i];
|
||||
}
|
||||
|
||||
//降序排序
|
||||
for(i=0;i<size1*2-1;i++){//已经有序的个数
|
||||
for(j=0;j<size1*2-i-1;j++){//i每+1 代表最前面已经有一个最小的元素
|
||||
if(mergedArray[j] < mergedArray[j+1]){ //无序的元素两两比较小值后移
|
||||
temp = mergedArray[j];
|
||||
mergedArray[j] = mergedArray[j+1];
|
||||
mergedArray[j+1] = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
//去重
|
||||
/*
|
||||
默认第一个数字不用判断,从数组中第二个元素开始判断,
|
||||
是否等于前一项如果不等于则进行赋值操作,然后元素个数加一
|
||||
*/
|
||||
*newLen = 1;//当前数组中已经过滤后的有效数字个数
|
||||
for(i=1;i<size1*2;i++){//使用i变量从1下标元素开始 遍历数组中的所有数字
|
||||
if(mergedArray[(*newLen) - 1] != mergedArray[i]){
|
||||
//如果当前判断的元素不等于前一个元素则插入到有效数字位置
|
||||
mergedArray[(*newLen)++] = mergedArray[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
return mergedArray;
|
||||
}
|
||||
```
|
||||
|
||||
### MySQL-1
|
||||
|
||||
```sql
|
||||
#1. 设置字段主键+自动增长
|
||||
ALTER TABLE t_user MODIFY uid INT(11) PRIMARY KEY AUTO_INCREMENT;
|
||||
|
||||
#只设置主键
|
||||
ALTER TABLE t_user ADD PRIMARY KEY(uid);
|
||||
|
||||
#2. 插入记录
|
||||
#DEFAULT 自增/默认值/NULL
|
||||
INSERT INTO t_user()
|
||||
VALUES(DEFAULT, 'mike', 'mm123', '小明', DEFAULT);
|
||||
|
||||
#3. 更新记录
|
||||
UPDATE t_user u
|
||||
SET u.`password` = '888888'
|
||||
WHERE u.username = 'Dennis';
|
||||
|
||||
#4. tj11 条件查询+多表联查
|
||||
SELECT u.nickname, c.mid, c.score, c.content
|
||||
FROM t_user u, t_comment c
|
||||
WHERE u.uid = c.uid AND u.nickname = '白色';
|
||||
|
||||
#5. tj12 分组查询+多表联查
|
||||
SELECT m.mname, ROUND(AVG(c.score), 2)
|
||||
FROM t_movie m, t_comment c
|
||||
WHERE m.mid = c.mid
|
||||
GROUP BY m.mid;
|
||||
|
||||
#6. tj13 分组查询+多表联查
|
||||
SELECT m.mname, COUNT(*)
|
||||
FROM t_movie m, t_comment c
|
||||
WHERE m.mid = c.mid
|
||||
GROUP BY m.mid;
|
||||
|
||||
#7 视图 多表联查
|
||||
CREATE VIEW v_movie AS
|
||||
SELECT m.mname, u.nickname, c.score, c.content
|
||||
FROM t_user u, t_movie m , t_comment c
|
||||
WHERE u.uid = c.uid AND m.mid = c.mid;
|
||||
|
||||
#8 存储过程
|
||||
DELIMITER $$
|
||||
DROP PROCEDURE IF EXISTS pro_getUserNumber;
|
||||
CREATE PROCEDURE pro_getUserNumber(IN in_uid INT, OUT out_number INT)
|
||||
BEGIN
|
||||
SET out_number = (
|
||||
SELECT COUNT(*)
|
||||
FROM t_user u, t_comment c
|
||||
WHERE u.uid = c.uid AND u.uid = in_uid
|
||||
);
|
||||
END $$
|
||||
DELIMITER ;
|
||||
|
||||
#9 触发器
|
||||
DELIMITER $$
|
||||
DROP TRIGGER IF EXISTS tri_userlog;
|
||||
CREATE TRIGGER tri_userlog
|
||||
AFTER INSERT ON t_user
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO t_log()
|
||||
VALUES(DEFAULT, NEW.uid, '新增用户', '2024-01-01');
|
||||
END $$
|
||||
DELIMITER ;
|
||||
```
|
||||
|
||||
### MySQL-2
|
||||
|
||||
```sql
|
||||
#1 修改表结构
|
||||
ALTER TABLE t_examinee MODIFY sex CHAR(2);
|
||||
DESC t_examinee;#查看表结构
|
||||
|
||||
#2 插入记录
|
||||
INSERT INTO t_room()
|
||||
VALUES(DEFAULT, '202教室', '2号教学楼');
|
||||
|
||||
#3 删除记录
|
||||
DELETE FROM t_teacher
|
||||
WHERE rid IS NULL;
|
||||
|
||||
#4 更新记录
|
||||
UPDATE t_examinee
|
||||
SET tel = '1396668888'
|
||||
WHERE ename = '龚致远';
|
||||
|
||||
#5 tj11 条件查询+多表联查
|
||||
SELECT e.ename, r.rname, r.site
|
||||
FROM t_examinee e, t_room r
|
||||
WHERE e.rid = r.rid AND e.ename = '陶宇宁';
|
||||
|
||||
#6 tj12
|
||||
SELECT r.rname, r.site, t.tname, t.tel
|
||||
FROM t_teacher t, t_room r
|
||||
WHERE t.rid = r.rid AND r.rname = '402教室';
|
||||
|
||||
#7
|
||||
CREATE VIEW v_exam AS
|
||||
SELECT e.ename, e.sex, e.tel, e.examnum, r.rname, r.site
|
||||
FROM t_examinee e, t_room r
|
||||
WHERE e.rid = r.rid;
|
||||
|
||||
#8 存储过程
|
||||
DELIMITER $$
|
||||
DROP PROCEDURE IF EXISTS pro_getExamNumber;
|
||||
CREATE PROCEDURE pro_getExamNumber(IN in_rid INT, OUT out_number INT)
|
||||
BEGIN
|
||||
SELECT COUNT(*) INTO out_number
|
||||
FROM t_examinee e
|
||||
WHERE e.rid = in_rid;
|
||||
END $$
|
||||
DELIMITER ;
|
||||
|
||||
#9 触发器
|
||||
DELIMITER $$
|
||||
DROP TRIGGER IF EXISTS tri_examlog;
|
||||
CREATE TRIGGER tri_examlog
|
||||
BEFORE INSERT ON t_examinee
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO t_log()
|
||||
VALUES(DEFAULT, NEW.eid, '新增考生', '2024-01-01');
|
||||
END $$
|
||||
DELIMITER ;
|
||||
```
|
@ -1,346 +0,0 @@
|
||||
### C语言-1
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
【程序设计】输入一个1000以内的三位数,找出小于这个三位数且个位数字与十位数字之和
|
||||
除以10所得的余数等于百位数字的数,并输出满足条件的数字之和。
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
int a,b,c,d,i,j,sum=0;
|
||||
scanf("%d",&j);
|
||||
/**********Program**********/
|
||||
for(i=100;i<j;i++){
|
||||
a = i%10;//个位
|
||||
b = i%100/10;//十位
|
||||
c = i/100;//百位
|
||||
d = (a+b)%10;//个位+十位 取模
|
||||
if(c == d){
|
||||
sum += i;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/********** End **********/
|
||||
printf("%d\n",sum);
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
### C语言-2
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
【程序设计】任意一个大于0的正整数,都可以写成若干个2的正整数次幂的和的形式。
|
||||
例如:7=2^2+2^1+2^0
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
#include<string.h>
|
||||
#include<math.h>
|
||||
#include<ctype.h>
|
||||
#include<stdlib.h>
|
||||
|
||||
#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<N;++i)
|
||||
binary_power(n[i]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
### C语言-3
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
【程序设计】从键盘接收3个无序的整数,将这3个数据都插入到升序排列的数组中,并保持数组仍然有序。
|
||||
输入输出如下:
|
||||
4 6 9 12 15 18 23 26 32 39
|
||||
1 5 6
|
||||
1 4 5 6 6 9 12 15 18 23 26 32 39
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
#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<N;i++){
|
||||
printf("%d ",a[i]);
|
||||
}
|
||||
printf("\n");
|
||||
/**********Program**********/
|
||||
for(i=N;i<N+3;i++){
|
||||
scanf("%d", a+i);
|
||||
}
|
||||
|
||||
for(i=0;i<N+3-1;i++){
|
||||
for(j=0;j<N+3-1-i;j++){
|
||||
if(a[j] > a[j+1]){
|
||||
x = a[j];
|
||||
a[j] = a[j+1];
|
||||
a[j+1] = x;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********** End **********/
|
||||
for(i=0;i<N+3;i++){
|
||||
printf("%d ",a[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
### C语言-4
|
||||
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
【程序设计】输入一个小于等于10000的整数n,在[100,n]之间打印出各位数字和为5的所有整数的个数.
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
|
||||
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 <stdio.h>
|
||||
#include <string.h>
|
||||
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<stdlib.h>
|
||||
#include<stdio.h>
|
||||
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<stdio.h>
|
||||
#include <stdlib.h>
|
||||
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 <stdio.h>
|
||||
#include <string.h>
|
||||
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 **********/
|
||||
}
|
||||
|
||||
```
|
||||
|
@ -1,126 +0,0 @@
|
||||
## C语言-1
|
||||
```c
|
||||
/*------------------------------------------------------------------------------
|
||||
【程序设计】程序实现的功能是:输入字符串(不包含空格),删除其中的数字字符后输出。
|
||||
输入输出如下:
|
||||
hello 123 world
|
||||
去掉数字后的字符串为:hello world
|
||||
------------------------------------------------------------------------
|
||||
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
|
||||
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
|
||||
------------------------------------------------------------------------------*/
|
||||
#include<stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
char a[100],b[100];
|
||||
int l,i,j;
|
||||
gets(a);
|
||||
l=strlen(a);
|
||||
j=0;
|
||||
/**********Program**********/
|
||||
for(i=0;i<l;i++){
|
||||
if(a[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<stdio.h>
|
||||
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
|
||||
|
||||
|
||||
```
|
@ -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 <stdio.h>
|
||||
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);
|
||||
}
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user