cnew源码的简单介绍
本文目录一览:
- 1、C语言程序设计 源代码+注释
- 2、C语言编程问题要完整的源代码
- 3、C语言中,原码,补码和反码怎么换算?
- 4、求c语言字符串程序设计源代码
- 5、求C语言编写的计时器源代码
- 6、求标准C语言读写文件的源代码
C语言程序设计 源代码+注释
采用广度优先搜索即可,程序如下:
char A[64][64]= {"..###","#....","#.#.#","#.#.#","#.#.."};//迷宫,A,R,C这里预设,实际请改成输入
int M[64][64] = {0}, //标记走过的点
R = 5, C = 5;
//判断点(x,y)是否可达
bool pass(int x, int y)
{
return x=0 x=R y=0 y=C
A[x][y]=='.' !M[x][y];
}
//广度搜索
int steps()
{
struct{ int x, y, depth;}Queue[256], t; //队列
int front = 0, rear = 0, //头尾指标
di[4][2] = {{1,0},{0,-1},{-1,0},{0,1}}; //方向数组
int i, new_x, new_y;
Queue[rear].x = 0; //初始点入队
Queue[rear].y = 0;
Queue[rear++].depth = 1;
M[0][0] = 1; //标记该店
while(front != rear)
{
t = Queue[front++]; //出队
for(i=0; i4; i++) //遍历每个方向
{
new_x = t.x+di[i][0]; //产生新的坐标
new_y = t.y+di[i][1];
if(pass( new_x, new_y)) //若可达
{
if(new_x==R-1 new_y==C-1)return t.depth+1; //结束条件
//入队
Queue[rear].x = new_x;
Queue[rear].y = new_y;
Queue[rear++].depth = t.depth+1;
M[new_x][new_y] = 1; //同样标记入队的点
}
}
}
return -1; //无法走到终点,返回-1
}
int main()
{
printf("%d", steps());
}
C语言编程问题要完整的源代码
#includeiostream.h
#includestdio.h
#includectype.h
struct ca {
char c;
ca *next;
};
void InitList(ca *L) {
cout"输入一页文字(以#结束): "endl;
while((L-c = getchar()) != '#') {
L-next = new ca;
L = L-next;
}
L-next = NULL;
}
void StrNo(ca *L) {
int n = 0;
char s[80], *q;
ca *p;
cout"输入一字符串: ";
cins;
while(L-next) {
for (p = L, q = s; *q != '\0' p-next; p = p-next, q++)
if (p-c != *q) break;
if (*q == '\0') n++;
L = L-next;
}
cout"字符串 "s" 出现 "n" 次\n";
}
ca *DelStr(ca *L) {
ca *H = L;
char s[80], *q;
ca *p;
cout"输入该子串: ";
cins;
if (H-c == *s) {
for (p = H-next, q = s+1; *q != '\0' p-next; p = p-next, q++)
if (p-c != *q) break;
if (*q == '\0') H = p;
}
while(L-next) {
for (p = L-next, q = s; *q != '\0' p-next; p = p-next, q++)
if (p-c != *q) break;
if (*q == '\0') L-next = p;
else L = L-next;
}
return H;
}
void print1(ca *L) {
while(L-next) {
coutL-c;
L = L-next;
}
coutendl;
}
void print2(ca *L, int p1, int p2, int p3, int n) {
n = p1 = p2 = p3 = 0;
for( ; L-next; L = L-next, n++)
if(isalpha(L-c)) p1++;
else if(isdigit(L-c)) p2++;
else if(L-c == ' ') p3++;
else if(L-c == '\n') n--;
cout"\n全部字母数: "p1;
cout"\n数字个数: "p2;
cout"\n空格个数: "p3;
cout"\n文章总字数: "nendl;
}
void main() {
ca *L = new ca;
int p1, p2, p3, n, c;
InitList(L);
do {cout"\n0:退出\n"
"1:统计中英文字母和空格数以及整篇文章总字数\n"
"2:统计某一字符串在文章中出现次数\n"
"3:删除某一子串\n"
"4:分行输出用户输入的各行字符\n";
cinc;
switch(c) {
case 1:print2(L, p1, p2, p3, n);break;
case 2:StrNo(L);break;
case 3:DelStr(L);
case 4:print1(L);
}
}while(c);
C语言中,原码,补码和反码怎么换算?
换算方法如下:
1、数在计算机中是以二进制形式表示的。
2、数分为有符号数和无符号数,原码、反码、补码都是有符号定点数的表示方法。
3、一个有符号定点数的最高位为符号位,0是正,1是副;【原码】就是这个数本身的二进制形式。
4、正数的【反码】和补码都是和原码相同;负数的【反码】是将其原码除符号位之外的个位求反。
拓展资料
1、C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
2、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
求c语言字符串程序设计源代码
(1)
#includestdio.h
#includestring.h
void main()
{
char str[100];
int count1=0,count2=0,count3=0;
printf("input the string:\n");
scanf("%s",str);
int size=strlen(str);
int i=0;
while(isize)
{
if(str[i]='a'str[i]='z')
count1++;
else if(str[i]='A'str[i]='Z')
count1++;
else if(str[i]='0'str[i]='9')
count3++;
else count2++;
i++;
}
printf("长度:%d\n",size);
printf("字母 %d\n",count1);
printf("数字 %d\n",count3);
printf("其他字符 %d\n",count2);
}
(2)
#includestdio.h
#includestring.h
void main()
{
char a[30][30];
char b[]="stop";
int i=0;
printf("input the string,end by string 'stop':\n");
do{
scanf("%s",a[i]);
i++;
}while(strcmp(a[i-1],b)!=0);
int *c=new int[i];
int max=0;
for(int j=0;ji-1;j++)
{
c[j]=strlen(a[j]);
printf("length %d\n",c[j]);
if(maxc[j])
max=c[j];
}
printf("the longest length is: %d\n",max);
}
求C语言编写的计时器源代码
#include time.h
clock_t start,end;
在开始计时的地方写:start = clock();
在结束的地方写:end = clock();
时间等于:t=(end - start)/CLOCKS_PER_SEC;
单位是秒
求标准C语言读写文件的源代码
C语言读写文件 都是三个步骤
1.获取文件描述符
2.对文件读写
3.关闭文件
对文件读操作
//获取文件指针
FILE *pFile = fopen("1.txt","w"); // 文件打开方式 如果原来有内容也会销毁//向文件写数据
fwrite ("hello", //要输入的文字
1,//文字每一项的大小 以为这里是字符型的 就设置为1 如果是汉字就设置为4
strlog("hello"), //单元个数 cnew源码我们也可以直接写5
pFile //我们刚刚获得到的地址
);
//fclose(pFile); //告诉系统我们文件写完cnew源码了数据更新cnew源码,但是我们要要重新打开才能在写
fflush(pFile); //数据刷新 数据立即更新
对文件写操作
FILE *pFile=fopen("1.txt","r"); //获取文件的指针
char *pBuf; //定义文件指针
fseek(pFile,0,SEEK_END); //把指针移动到文件的结尾 ,获取文件长度
int len=ftell(pFile); //获取文件长度
pBuf=new char[len+1]; //定义数组长度
rewind(pFile); //把指针移动到文件开头 因为我们一开始把指针移动到结尾,如果不移动回来 会出错
fread(pBuf,1,len,pFile); //读文件
pBuf[len]=0; //把读到的文件最后一位 写为0 要不然系统会一直寻找到0后才结束
MessageBox(pBuf); //显示读到的数据
fclose(pFile); // 关闭文件