C语言字符串追加,双色球等案例
//C语言中没有字符串概念,有的只是字符型数组,以str1[]的值为例,该字符数组的长度为11---》包含了字母,空格,以及结束字符'\0'(斜杠0)
//基于上述原因,读取一个字符型数组的有效方法是,循环读取每一个字符,直到读到'\0'为止,注意\0一定要以单引号包裹,否则,将会被识别为由'\'和'0'组成的字符数组!!!切记
int main()
{
char str1[] = "i love cpc,";
char str2[] = "to hell with motherfuck zhaoxiaoqiang";
char finalret[];
int len = sizeof(str1);
printf("%d",len);
int index = ;
while(str1[index]!='\0')
{
finalret[index] = str1[index];
index++;//循环最终会循环到str1的结束字符'\0'
}
finalret[index] = '\0';
printf("%s\n", finalret);
while (str2[index-len+] != '\0')
{
finalret[index] = str2[index - len + ];
index++;
}
finalret[index] = '\0';//由于先前定义了字符数组finalret的长度为200,如果不在有效字符后加'\0'则下一行打印命令,不足200的部分将用杂乱字符补齐(中文字符'烫')十分不雅,
printf("%s", finalret);
system("pause");
return EXIT_SUCCESS;
}
- C语言里面生成随机数
//动用了time头文件和srand函数,因为时间每一秒都不一样,能够最大程度上的模拟随机值(而不是那种伪随机,生成的数具有很大的重复性)
#include <stdio.h>
#include <time.h>
#include <stdlib.h> void main()
{
srand((unsigned int) time(NULL));
for (int i = ; i < ; i++)
{
printf("%d",rand()%);//使用窍门,如果要生成8以内的随机数,则随机数对8取余,如果生成33以内的随机数则对33取余......
//printf("%d",rand()%10+50);//为了避免生成的值过于离散,也可以稍作修饰,例如生成50左右的随机值
printf("\n"); } system("pause"); }
- 双色球问题:双色球前6个数(红球)从1-33里面挑选,最后一个数(蓝球)从1-16里面选(并按照从小到大排列),其中,1-33里的数不能重复,1-16中的数无所谓
#include <stdio.h>
#include <time.h>
#include <stdlib.h> void main()
{
srand((unsigned int)time(NULL));
int fore6[];
for (int i = ; i < ; i++)
{
fore6[i] = rand() % +;
for (int j = ; j <i; j++)
{
if (fore6[i] ==fore6[j] )
{
i--;
continue;
}
}
}
for (int i = ; i < ; i++)
{
for (int j = ; j < -i-; j++)
{
if (fore6[j] > fore6[j + ])
{
int temp = fore6[j];
fore6[j] = fore6[j + ];
fore6[j + ] = temp;
}
}
}
fore6[] = rand() % +;
for (int i =;i<;i++)
{
printf("%d\t", fore6[i]);
}
system("pause");
}
- 由于scanf和gets无法预知字符串大小,遇到换行符或‘\0'才会停止输出所以可能导致数组越界(缓冲区溢出)
gets:从标准设备获得输入字符,包括空格,直到遇到换行符或终止符为止
puts:从标准设备输出一个字符串,自带换行
fgets(字符指针 字符指针对应的数组大小 输入流)获取字符串,如果输入大小大于原始指针对应的区域大小,会在字符串输入完成时自动加上'\0' '\n';小于等于时加上'\0'



- string.h下的函数strcpy()和strlen()
strlen()遇到he\0llo中的\0就终止了因此有效字符数为2,注意如果字符中有\n也算作一个字节
- strcpy(目标字符串,源字符串)--- if strcpy(目标地址,源地址)!=NULL 拷贝成功
- strncpy(目标字符串,源字符串,拷贝个数)拷贝n个字符数

- strcat追加至数组结尾
先去掉\0再追加,再加上\0
- strcmp() 比较和有限个字符间比较strncmp()ASCII码

- strstr strchr strtok----strtok切割字符串时会破坏字符串的完整性在分割的部位添加‘\0’表示结束
- atoi atof atol
C语言字符串追加,双色球等案例的更多相关文章
- C语言字符串操作总结大全(超详细)
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat( ...
- C语言字符串操作函数整理
整理C语言字符串相关的函数,以程序方式验证,以注释方式做说明. #include<stdio.h> #include<string.h> #include<stdlib. ...
- 零基础学习C语言字符串操作总结大全
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, ...
- C语言字符串拷贝
C语言字符串拷贝利用指针操作,要清楚知道指针的指向 代码如下: #include <stdio.h> #include <assert.h> #include <stri ...
- C语言字符串长度(转)
C语言字符串长度的计算是编程时常用到的,也是求职时必考的一项. C语言本身不限制字符串的长度,因而程序必须扫描完整个字符串后才能确定字符串的长度. 在程序里,一般会用strlen()函数或sizeof ...
- C语言字符串操作常用库函数
C语言字符串操作常用库函数 *********************************************************************************** 函数 ...
- c语言字符串操作大全
C语言字符串操作函数 函数名: strcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例: #incl ...
- 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...
- C 语言字符串连接的 3种方式
C 语言字符串连接的 3种方式 #include<stdio.h> #include<stdlib.h> #include<string.h> char *join ...
随机推荐
- 因修改/etc/ssh权限导致的ssh不能连接异常解决方法
因修改/etc/ssh权限导致的ssh不能连接异常解决方法 现象: $ssh XXX@192.168.5.21 出现以下问题 Read from socket failed: Connection r ...
- wpf 虚拟键盘 对外部程序
对外部程序,以记事本为例,xaml中设置模拟按键的控件 Focusable="False": /// <summary> /// 发送按键 /// </summa ...
- cocos2dx[3.2](6) 节点类Node
与2.x相比,节点类Node的属性和功能做了大幅度的修改与增加. Node类是绝大部分类的父类(并不是所有的类,例如Director类是直接继承Ref类的),如Scene.Layer.Sprite以及 ...
- linux 使用timedatectl 修改时区和时间
使用timedatectl可以进行如下常见操作 1.查看当前时间/日期/时区:timedatectl或者timedatectl status 2.查看所有可用时区:timedatectl list-t ...
- 浅谈spring配置定时任务的几种方式
网上看到好多关于定时任务的讲解,以前只简单使用过注解方式,今天项目中看到基于配置的方式实现定时任务,自己做个总结,作为备忘录吧. 基于注解方式的定时任务 首先spring-mvc.xml的配置文件中添 ...
- [转帖]Marvell第二代ARM处理器ThunderX2解析
Marvell第二代ARM处理器ThunderX2解析 https://www.cnbeta.com/articles/tech/853137.htm 长久以来,服务器数据中心市场一直被x86 CPU ...
- (转)HashMap底层实现原理
①HashMap的工作原理 HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象.当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算h ...
- C语言 --- 高级指针
1. 指针赋值: C语言允许使用赋值运算进行指针的赋值,前提是两个指针具有相同的类型. int i,*p,*q; p = &i; ...
- L2-001. 紧急救援(迪杰斯特拉算法)
L2-001. 紧急救援 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国 ...
- 【二】Django 视图和url配置
在新建的Django项目下,新建一个views的python文件,编辑如下代码 from django.http import HttpResponse def hello(request): ret ...
