C 语言学习记录-代码篇-8

数组增删元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <stdio.h>
#include <stdlib.h>
int main()
{
//删除数组中的一个数字
/*
数组删除逻辑
查找要删除的数字下标
从该数开始后面一个数字覆盖前面的数字
数组总长度减一
*/

//1、逐步分析定义所需变量
double power[] = {5417, 3254, 7854, 6589 ,3214}; //所需数组
int count = 5; //数组元素个数
double powerDel; //要删除的数字
int i; //循环所需循环变量
int temp; //用来记录下标值
double store; //用来辅助覆盖
double powerInster;

//2、输入要删除的数字
printf("请输入要删除的数字:");
scanf("%lf", &powerDel);

//3、判断输入数字是否存在于数组中,若存在记录下标并退出循环,若不存在提示输入错误。
for(i = 0; i < count; i++)
{
if(powerDel == power[i])
{
temp = i;
break;
}
if(i == count - 1)
{
printf("您输入的数字不存在!\n");
exit(0);
}
}

//4、从要删除的数开始后面的数字逐一覆盖前面的数字
for(i = temp ; i < count; i++ )
{
power[i] = power[i + 1];
}

count--; //数组总数减一

//5、输出
printf("删除之后的数组为:\n");
for(i = 0; i < count; i++ )
{
printf("%.0lf\t", power[i]);
}

//向数组中插入一个数值
printf("\n");
printf("********************************\n");

//1、输入要插入的数值
printf("请输入要插入的数值:");
scanf("%lf", &powerInster);

//将要插入的数值作为最后一项插入到数组中
power[count] = powerInster;

count++; //数组总数加一

//输出
printf("插入后数组为:");

for(i = 0; i < count; i++)
{
printf("%.0lf\t", power[i]);
}

return 0;
}

C 语言学习记录-代码篇-7

数组,排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <stdlib.h>
int main()
{
//用户输入一组数据,系统进行大小排序
int num[10];
int i;
int j;
int a;//变量数值存取
int temp;//又来交换的临时变量
//输入
for(i = 0;;i++)
{
printf("请输入你要排序的数字以0结束:");
scanf("%d", &num[i]);
if(num[i] == 0)
{
a = i;
break;
}
}
//排大小
//外循环控制排序次数
for(i = 0; i < a - 1; i++)
{
//内循环控制每一轮的比较次数
for(j = 0; j < a - 1 - i;j++)
{
//里面控制交换
if(num[j] >= num[j + 1])
{
temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
}
//打印
for(i = 0; i < a; i++)
{
printf("%d\t", num[i]);
}
return 0;
}

C 语言学习记录-代码篇-5

while-循环 , rand-时间随机数 , Sleep-延时

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
#include<windows.h>
int main()
{
//使用循环模拟实现玩家对战
//双方初始HP均为100
//每次攻击1-15
//HP最先到零或以下的被KO
//1、需要定义的变量
//双方的HP、双方的攻击力、回合数
//hp1、hp2 attack1、attack2、i
//变量类型:int double int
int hp1 = 100 , hp2 = 100;
double attack1,attack2;
int i=0;
srand(time(NULL));
while(hp1 >= 0 && hp2 >= 0){
attack1 = rand() % 11 + 5;
attack2 = rand() % 11 + 5;
hp1 -= attack2;
hp2 -= attack1;
if(hp1 <= 0 || hp2 <= 0)
{
printf("游戏结束\n");
}
i++;
printf("**********************************************\n");
printf("第%d回合\n", i);
printf("玩家1剩余血量为:%d,\t玩家1本轮攻击力为:%.2lf\n", hp1,attack1);
printf("玩家2剩余血量为:%d,\t玩家2本轮攻击力为:%.2lf\n", hp2,attack2);
printf("**********************************************\n");
printf("\n");
Sleep(500);
}

//某宝双十一2015年的交易额为800亿,每年递增20%
//问:按此速度哪年交易额达到2000亿?
//先声明变量
int year = 2015; //年份
double money = 800;//交易额
while(money <= 2000){
money = money * 1.25;
year++;
}
printf("%d年交易额达到2000亿,实际交易额为:%lf\n", year,money);

//使用循环实现三次密码输入错误退出系统
int i = 0; //循环变量
int password; //密码
while(i < 100)
{
printf("请输入密码:");
scanf("%d", &password);
if(123456 != password)
{
printf("密码输入错误,当前输入第%d次密码。\n", i+1);
}
//第三次输入错误,就要强制退出系统
if(i == 2)
{
printf("密码输错三次,系统强制退出!\n");
exit(0);//告诉操作系统,程序正常退出
}
i++;
}

//1-100连续相加
int sum = 0;
int i = 1;
while(i <= 100){
sum += i;
i++;
printf("%d", sum);
return 0;
}

C 语言学习记录-代码篇-4

if-条件判断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <stdlib.h>
int main()
{
//情景设定
//情人节给妹子送花
printf("妹子:情人节你给我准备礼物了吗?\n");
printf("男主:准备了,亲爱的~\n");
printf("妹子:准备了什么呀?\n");
printf("男主:我为你准备了玫瑰花,亲爱的~\n");
printf("妹子:你给我准备了多少玫瑰花呀?\n");
//需要输入玫瑰的数量
double flowernum;
scanf("%lf", &flowernum);
//下面是妹子的反映
if(flowernum >= 99999)//十万以上
{
printf("妹子高兴的说:明天就结婚吧~\n");
}
else if(flowernum >=9999 && flowernum < 99999)//十万到一万之间
{
printf("妹子高兴地亲了男主一口。\n");
}
else if(flowernum >= 999 && flowernum < 9999)
{
printf("妹子激动的跳了起来。\n");
}
else if(flowernum >= 99 && flowernum < 999)
{
printf("妹子开心的说:亲爱的我爱你。\n");
}
else if(flowernum >= 9 && flowernum < 99)
{
printf("妹子说:啊,就这点啊。\n");
}
else if(flowernum < 9 && flowernum >= 1)
{
printf("妹子说:分手吧,你不爱我了。\n");
}
else
{
printf("输入错误,请重新输入!\n");
}
return 0;
}

C 语言学习记录-代码篇-3

scanf-输入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
int main()
{
/*
某游戏中近战武器的实际伤害计算公式为:
武器实际最大伤害 = 武器最大伤害 * (玩家力量 + 100) / 100
现有如下武器,武器最大伤害为256,要求输入玩家力量,打印武器实际最大伤害
*/
//1、要定义的变量 武器十级最大伤害 武器最大伤害 玩家力量
//2、变量的性质 double double int
double turemax;
double themax;
double power;
printf("请输入玩家力量:\n");
scanf("%lf",&power);
themax = 256;
turemax = themax * (power + 100) / 100;
printf("%.2lf",turemax);
return 0;
}