barriers / 阅读 / 详情

对长度为7个的字符串BdsinAD,将字符按ASCII码升序排序,结果ABDdins。(提示:排序方法可选用选择法或冒泡

2023-06-14 07:23:45
TAG: nad dsi
共2条回复
陶小凡

你做好了降序,想升序。去掉 倒序:

// for(i=0,j=6;i<j;i++,j--) {t=a[i];a[i]=a[j];a[j]=t;} 就好了嘛。

========

换个花样,80个字符以内排列:

#include<stdio.h>

#include<string.h>

main()

{ char a[80],t;

int i,j,L;

clrscr();

gets(a);

L = strlen(a);

for (i=0;i<L-1;i++)

for (j=i+1;j<L;j++)

{

if (a[j] < a[i]){ t=a[i];a[i]=a[j];a[j]=t; }

}

puts(a);

}

ardim

你这个问题很大,思路都有问题,看看我这个改正之后的吧

#include<stdio.h>

#include<string.h>

main()

{

char a[100];

int i,j,min;

char t;

//clrscr();

gets(a);

for(i=0;i<strlen(a);i++)

{

for(j=i+1;j<strlen(a);j++)

{

if(a[i]>a[j])

{t=a[i];a[i]=a[j];a[j]=t;}

}

}

puts(a);

}

相关推荐

C语言中clrscr()是什么意思?

清除文本模式窗口 清屏的意思 就是把之前显示出的文字字符去掉 跟cmd里面的清屏的功能是一样的 实际上是clear screen的简写
2023-06-13 15:08:133

clrscr是什么东西?

C语言控制台程序中清屏幕的函数,是Clear Screen的缩略语,一般包含在conio.h头文件中。没记错的话,似乎Visual C++ 6或7等新版本已经没这个了,可以用system("cls");代替。
2023-06-13 15:08:441

C语言中加入clrscr();为什么报错?

没有这个系统命令。。。
2023-06-13 15:08:563

c语言中的清屏函数clrscr()应该怎么用?

#include <conio.h>void main(){ system("cls"); }
2023-06-13 15:09:318

c 语言中clrscr();函数是什么意思啊?

就是清屏
2023-06-13 15:10:055

C语言中的clrscr()函数有什么作用

clrscr() 顾名思义 “清屏幕”函数。 要头文件 #include <conio.h>clr -- clearing 清scr -- screen 屏幕这是非常非常古老的Borland C 里的函数。现在的编译器 未必支持。现在的 windows 系统 可用 system("cls"); 代替它。
2023-06-13 15:10:231

C语言中的 clrscr() 函数有什么作用?

清屏
2023-06-13 15:10:337

clrscr是什么东西?

分类: 教育/科学 >> 科学技术 问题描述: 这是不是编程中的一个函数? 解析: C语言控制台程序中清屏幕的函数,是Clear Screen的缩略语,一般包含在conio.h头文件中。没记错的话,似乎Visual C++ 6或7等新版本已经没这个了,可以用system("cls");代替。
2023-06-13 15:10:541

clrscr 是哪个头文件包含的

clrscr是TC特有的,其它的C语言环境没有这个函数,也就没有头文件包含这个函数。建议使用system("cls");来取代clrscr();比较通用,兼容性好一点。system()函数在#include <stdlib.h>里面。
2023-06-13 15:11:031

clrscr的定义

clrscr不是标准C语言的函数.它是TC的清屏幕函数.PC可以用system("cls");UNIX linux 用system("clear");
2023-06-13 15:11:102

C语言中清屏函数是什么?

clrscr();
2023-06-13 15:11:334

clrscr函数如何定义

这个函数不用定义,它是tc或bc的清屏函数,在dos.h头文件中声明。#include<dos.h>int main(){ .... clrscr(); ......}
2023-06-13 15:11:481

c语言 清屏函数

vc里面的是stalib头文件......
2023-06-13 15:11:5911

请问 clrscr(); 这个函数在哪个头文件里的?

在<conio.h>里,TC中能通过编译但不能在VC中通过编译,不知道为什么
2023-06-13 15:13:152

请问下Devc++中如何才能使用clrscr()函数

#include "stdlib.hsystem("cls");
2023-06-13 15:13:251

clrscr()与gotoxy()函数在C++中怎么用

clrscr()清屏函数gotoxy(x,y)说具体点就是在当前窗口内移动光标到指定位置(x,y),如果未自定义窗口,那么当前窗口缺省为整个文本屏,补充一下,光标坐标从窗口的左上角第一个字符(1,1)(在文本方式下编写窗口方式的程序,都会用到这个函数)VisualC++中使用gotoxy()/clrscr()等函数#include<windows.h>voidclrscr(void);voidclreol(void);voidclreoscr(void);voidgotoxy(int,int);//---Funktionsimplementierung/*********************************************************************************/voidclrscr(void)//clearscreen:gesamtenBildschirmleeren{CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;//variablendklarationHANDLEhConsoleOut;COORDHome={0,0};DWORDdummy;hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);FillConsoleOutputCharacter(hConsoleOut,"",csbiInfo.dwSize.X*csbiInfo.dwSize.Y,Home,&dummy);//biscursorpositionleerzeichenausgebencsbiInfo.dwCursorPosition.X=0;//cursorpositionXkoordinatefestlegencsbiInfo.dwCursorPosition.Y=0;//cursorpositionYkoordinatefestlegenSetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);//dencursorandiefestgelegtekoordinatesetzen}/*********************************************************************************/voidclreol(void)//clearendofline:denrestderZeilenachdemcursorl鲾chen{CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;//variablendklarationHANDLEhConsoleOut;COORDHome,pos;DWORDdummy;hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);Home=csbiInfo.dwCursorPosition;pos.X=80-csbiInfo.dwCursorPosition.X;FillConsoleOutputCharacter(hConsoleOut,"",pos.X,Home,&dummy);}/*********************************************************************************/voidclreoscr(void)//clearendofscreen:allesnachdemcursorl鲾chen{CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;//variablendklarationHANDLEhConsoleOut;COORDHome;DWORDdummy;hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);Home=csbiInfo.dwCursorPosition;FillConsoleOutputCharacter(hConsoleOut,"",csbiInfo.dwSize.X*csbiInfo.dwSize.Y,Home,&dummy);}/*********************************************************************************/voidgotoxy(intx,inty)//cursorangewuenschtepositionaufdembildschirmsetzen{CONSOLE_SCREEN_BUFFER_INFOcsbiInfo;//variablendklarationHANDLEhConsoleOut;hConsoleOut=GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo);csbiInfo.dwCursorPosition.X=x;//cursorpositionXkoordinatefestlegencsbiInfo.dwCursorPosition.Y=y;//cursorpositionYkoordinatefestlegenSetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition);//dencursorandiefestgelegtekoordinatesetzen}
2023-06-13 15:13:331

为什么我的clrscr();清屏函数用不了?

用 system("CLS");头文件 stdlib.h简单例子#include<stdio.h>#include<stdlib.h> int main(){printf("Hello World! ");system("PAUSE");system("CLS");system("PAUSE");return 0;}
2023-06-13 15:13:422

C程序改错 求一维数组a:(10,4,2,7,3,12,5,34,5,9)中值为偶数的元素之和。正确结果为62.

s = s + i;改成s=s+arr[i];
2023-06-13 15:13:534

清屏clrscr()放哪里?

这就么点东西,还清什么屏?多学学中要的东西,别把时间浪费在次要的东西上
2023-06-13 15:14:216

TCC中的clrscr函数怎么用?

经过测试,发现TCC好像没有提供这个函数的定义,所以自己写了一个简单的DLL文件以实现这个函数的功能,方法如下:新建一个c语言源程序文件(假设为cls.c),输入以下代码:#include <stdlib.h>__declspec(dllexport) void clrscr(void){ system("cls");}之后用TCC将cls.c编译生成cls.DLL文件:tcc -shared cls.c将生成的cls.dll文件放在需要调用clrscr()函数的程序目录中,并用以下命令编译程序(假设程序文件名为a.c)tcc a.c -lcls现在就不会出现找不到定义的提示了,要注意的是动态库(cls.dll)要和可执行文件(a.exe)放在同一个目录,或者在系统中注册。***********************************************************其它的conio.h文件中声明,但是却不能调用的函数,也可以用上述方法将其实现添加到cls.c文件将重新生成cls.dll文件,这样在编译程序时加上-lcls就可以调用了。
2023-06-13 15:14:353

c++如何清屏?

使用system("cls");#include<stdio.h>#include<stdlib.h>intmain(){printf("clearme");system("cls");return0;}#includesystem("cls");循环一百次,循环体为printf(" ");扩展资料:C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。数据类型指明变量或表达式的状态和行为,数据类型决定了数的取值范围和允许执行的运算符集。c++语言数据类型可以分为两大类:基本类型和引用类型。基本类型是指不能再分解的数据类型,其数据在函数的调用中是以传值方式工作的;引用类型有时也称复合类型,它是可以分解为基本类型的数据类型,其数据在函数调用中是以传址方式来工作的。参考资料来源:百度百科-c++
2023-06-13 15:14:431

clrscr是什么意思,怎么用,为什么Microsoft Visual C++ 6.0编译不过去?

你用的是turobc吧,VC6。0没有这个函数。是清屏的意思。
2023-06-13 15:14:515

unresolved external symbol _clrscr

把 clrscr(); 改写为system("CLS");
2023-06-13 15:15:083

使用java语言实现以下功能:1.工号 2.姓名3.性别4.车间5.生日6.进厂时间7.

我这个是我以前课程设计时做的,也是工资管理系统,功能貌似比你多,你自己删减下,我这里还有当时交的课程设计报告书,上面有详细说明,要的话给我邮箱发给你,记得采纳啊~~#include "stdio.h"#include "bios.h"#include "dos.h"#include "conio.h"#include "stdlib.h"#include "string.h"#include "mem.h"#include "ctype.h"#include "alloc.h"typedef struct z1{ char no[11]; char name[15]; float jbgz; float koukuan; float yfgz; float shuijin; float sfgz; struct z1 *prior; struct z1 *next;}SALARY;struct z1 *First;struct z1 *Last;void init();void create();void calc();void delete();void search();void change();void save();void load();void insert();void list();void print(SALARY *p);float fax(float x);int menu_select();main(){ int i; clrscr(); for(;;) { switch(menu_select()) { case 1:create();clrscr();break; case 2:calc();clrscr();break; case 3:search();clrscr();break; case 4:change();clrscr();break; case 5:insert();clrscr();break; case 6:delete();clrscr();break; case 7:list();clrscr();break; case 8:save();clrscr();break; case 9:load();clrscr();break; case 0:exit(0); } }}menu_select(){ char *f[]= { "********SalaryMangementSystem*********", " 1. Enter list", " 2. Calc the salary", " 3. Search record by no", " 4. Change record by no", " 5. Insert record to list", " 6. Delete a record", " 7. List all ", " 8. Save data to the file", " 9. Load dta from the file", " 0. Quit", "**************************************", "Please enter your choice:" }; int i; int c=0; for(i=0;i<13;i++) { gotoxy(1,3+i); cprintf("%s",f[i]); } scanf("%d",&c); return c;}void init(){ First=NULL; Last=NULL;}/*输入数据,创建双链表*/void create(){ int x; /*记录行坐标*/ int i; /*记录输入记录数*/ int flag=0; /*做结束标记*/ float temp; /*定义临时变量*/ SALARY *info,*p; /*定义临时变量*/ if(First!=NULL) init();/*如果头指针不为空,调用初始化函数*/ p=First; /*从头指针开始*/ for(;;) { if(flag==1) break; /*如果flag=1,结束输入*/ i=0; x=0; /*确定移动的行坐标*/ clrscr(); /*清屏*/ gotoxy(1,3); printf("*************gongziguanli*************");/*输出标题*/ gotoxy(1,4); printf(" --Enter S end--");/*提示输入@结束*/ gotoxy(1,5); printf("|------------------------------------|");/*输出表格的起始线*/ gotoxy(1,6); printf("| no | name | jbgz |");/*输出字段标题,注意空格数*/ for(;;) { gotoxy(1,7+x); printf("|----------|----------------|--------|");/*输出表格的水平线*/ info=(SALARY *)malloc(sizeof(SALARY));/*申请一个记录空间*/ if(!info) { printf(" out of memory");/*如没有得到空间,输出内存溢出信息*/ exit(0);/*退出程序*/ } info->next=NULL;/*新结点的后继为空*/ info->prior=NULL;/*新结点的前驱为空*/ gotoxy(1,8+x);printf("|"); /*输出数据间的分割线*/ gotoxy(12,8+x);printf("|"); gotoxy(29,8+x);printf("|"); gotoxy(38,8+x);printf("|"); gotoxy(2,8+x);/*光标到输入编号位置*/ inputs(info->no,10);/*输入编号,并验证长度不超过10*/ if(info->no[0]=="S"||info->no[0]=="s") { flag=1; break; } /*编号首字母为S结束输入*/ gotoxy(13,8+x); /*光标到输入姓名位置*/ inputs(info->name,14); /*输入姓名,并验证长度不超过14*/ gotoxy(30,8+x); /*光标到输入基本工资位置*/ scanf("%f",&temp); /*输入基本工资到临时变量*/ info->jbgz=temp; /*基本工资赋值*/ info->koukuan=0; /*初始扣款为0,待计算工资时输入*/ info->sfgz=0; /*初始实发工资为0,待计算工资时计算*/ info->shuijin=0; /*初始税金为0,待计算工资时计算*/ info->yfgz=0; /*初始应发工资为0,待计算工资时计算*/ if(p==NULL)/*如果p为空,说明输入的是第一个结点*/ { First=Last=info;/*头指针和尾指针*/ First->prior=NULL; /*头指针的前驱是空*/ Last->next=NULL; /*尾指针的后继是空*/ } else /*插入的结点不是第一结点,则插入在头结点之前*/ { info->next=p;/*新结点的后继指向原来的头结点*/ info->prior=p->prior;/*新结点的前驱指向原来的头结点的前驱*/ p->prior=info;/*原来结点的前驱指向新结点*/ } p=info; /*新结点变为p结点,暂时的头结点*/ First=info; /*新结点变为头结点*/ x+=2; /*因为水平线,将光标下移两行*/ gotoxy(1,8+x); i++; /*输入记录数加1*/ if(i%9==0) break; /*输入9个记录,换一页输入*/ } gotoxy(1,8+x); } printf("*****************end*****************");/*输出结尾水平线*/}/*字符串输入和验证函数*/inputs(char *s, int count){ char p[255]; do{ scanf("%s",p);/*输入字符串*/ if(strlen(p)>count)printf(" too long! ");/*进行长度校验,超过count值重输入*/ }while(strlen(p)>count); strcpy(s,p); /*将输入的字符串拷贝到字符串s中*/}/*显示链表*/void list(){ int i=0,n; /*记录输出行数*/ SALARY *p; /*定义移动指针*/ clrscr(); /*清屏*/ p=First; /*从头指针开始*/ while(i%10==0&&p!=NULL) /*外循环控制换页*/ { i=0; /*记录一页的输出行数*/ clrscr(); /*清屏*/ printf(" "); /*换行三次*/ printf("*************************************SALARY*********************************** "); /*输出大标题*/ printf("|nO | name | jbgz | koukuan | yfgz | shuijin | sfgz | "); /*输出字段标题*/ printf("|----------|---------------|---------|---------|---------|---------|---------| "); /*输出水平线*/ while(p!=NULL) /*当p不为空时*/ { printf("|%-10s|%-15s|%9.2f|%9.2f|%9.2f|%9.2f|%9.2f| ", p->no,p->name,p->jbgz,p->koukuan,p->yfgz,p->shuijin,p->sfgz); p=p->next; /*指针后移*/ i++; /*输出行数加1 */ if(i%10==0) break; /*如果满10行,跳出内循环*/ } printf("****************************************end*********************************** "); /*输出本页的结束行*/ printf("Press any key congtinue... "); getch(); /*输出一页暂停一下,压任意键继续*/ } /*返回到外循环,准备下一页的输出*/}/*输出指针所指结点信息*/void print(SALARY *p){ if(p) /*如果指针不为空,则显示信息*/ { clrscr(); /*清屏*/ printf(" "); /*换行*/ printf("************************************SALARY************************************ "); /*输出标题信息*/ printf("|no | name | jbgz | koukuan| yfgz | shuijin | sfgz | "); /*输出字段标题*/ printf("|----------|---------------|---------|---------|---------|---------|---------| "); /*输出分割线*/ printf("|%-10s|%-15s|%9.2f|%9.2f|%9.2f|%9.2f|%9.2f| ", p->no,p->name, p->jbgz,p->koukuan,p->yfgz,p->shuijin,p->sfgz);/*输出结点信息*/ printf("***************************************end************************************ "); /*输出结束标记*/ }}/*计算实发工资*/void calc(){ int x; /*行坐标*/ int i=0; /*记录数*/ float temp; /*临时变量扣款*/ SALARY *p; /*移动指针*/ clrscr(); /*清屏*/ p=First; /*从头指针开始*/ while(p!=NULL) /*当p不为空时,也就是有记录时,外循环控制换页*/ { x=0; clrscr(); gotoxy(1,3); printf("***************************gongziguanli************************************"); /*输出标题*/ gotoxy(1,5); printf("|--------------------------------------------------------------------------|"); gotoxy(1,6);/*下面输出字段标题*/ printf("| no | name | jbgz | koukuan | yfgz |shuijin | sfgz |"); while(p!=NULL) /*当p不为空时,也就是有记录时,内循环控制处理9条*/ { gotoxy(1,7+x); printf("|----------|----------------|--------|----------|--------|--------|--------|"); gotoxy(1,8+x);printf("|"); gotoxy(12,8+x);printf("|"); gotoxy(29,8+x);printf("|"); gotoxy(38,8+x);printf("|"); gotoxy(49,8+x);printf("|"); gotoxy(58,8+x);printf("|"); gotoxy(67,8+x);printf("|"); gotoxy(76,8+x);printf("|"); gotoxy(2,8+x); printf("%-10s",p->no); /*输出编号*/ gotoxy(13,8+x); printf("%-15s",p->name); /*输出姓名*/ gotoxy(30,8+x); printf("%.2f",p->jbgz); /*输出基本工资*/ gotoxy(39,8+x); scanf("%f",&temp); /*输入扣款*/ p->koukuan=temp; /*扣款字段赋值*/ p->yfgz=p->jbgz-p->koukuan; /*计算应发工资=基本工资-扣款*/ gotoxy(50,8+x); printf("%.2f",p->yfgz); /*输出应发工资*/ gotoxy(59,8+x); p->shuijin=(p->yfgz-1000)*fax(p->yfgz); /*否则按税率计算税金*/ printf("%.2f",p->shuijin); /*输出税金*/ gotoxy(68,8+x); p->sfgz=p->yfgz-p->shuijin; /*计算实发工资*/ printf("%-8.2f",p->sfgz); /*输出实发工资*/ x+=2; /*行坐标下移两行*/ i++; /*记录数加1*/ if(i%9==0)break; /*记录数超过9条,跳出内循环*/ p=p->next; /*指针后移,处理下一条*/ } gotoxy(1,7+x); printf("***************************************end*********************************** "); /*输出结束行*/ printf("Press any key congtinue... "); getch(); }}/*根据应发工资,计算税率*/float fax(float x){ float f1; if(x<1000) return 0; /*小于1000,返回0*/ switch((int)(x/1000)) { case 1:f1=0.05;break; /*1000~1999,返回0.05*/ case 2:f1=0.1;break; /*2000~2999,返回0.1*/ case 3:f1=0.15;break; /*3000~3999,返回0.15*/ case 4:f1=0.2;break; /*4000~4999,返回0.2*/ default:f1=0.3;break; /*5000以上,返回0.3*/ } return f1;}
2023-06-13 15:15:161

realloc和malloc用法

realloc 原型:extern void *realloc(void *mem_address, unsigned int newsize); 用法:#include <stdlib.h> 有些编译器需要#include <alloc.h> 功能:改变mem_address所指内存区域的大小为newsize长度。 说明:如果重新分配成功则返回指向被分配内存的指针,否则返回空指针NULL。 当内存不再使用时,应使用free()函数将内存块释放。 注意:这里原始内存中的数据还是保持不变的。 举例: // realloc.c #include <syslib.h> #include <alloc.h> main() { char *p; clrscr(); // clear screen p=(char *)malloc(100); if(p) printf("Memory Allocated at: %x",p); else printf("Not Enough Memory! "); getchar(); p=(char *)realloc(p,256); if(p) printf("Memory Reallocated at: %x",p); else printf("Not Enough Memory! "); free(p); getchar(); return 0; } 详细说明及注意要点: 1、如果有足够空间用于扩大mem_address指向的内存块,则分配额外内存,并返回mem_address 这里说的是“扩大”,我们知道,realloc是从堆上分配内存的,当扩大一块内存空间时, realloc()试图直接从堆上现存的数据后面的那些字节中获得附加的字节,如果能够满足,自然天下太平。也就是说,如果原先的内存大小后面还有足够的空闲空间用来分配,加上原来的空间大小= newsize。那么就ok。得到的是一块连续的内存。 2、如果原先的内存大小后面没有足够的空闲空间用来分配,那么从堆中另外找一块newsize大小的内存。 并把原来大小内存空间中的内容复制到newsize中。返回新的mem_address指针。(数据被移动了)。 老块被放回堆上。 例如: #include <malloc.h> char *p,*q; p = (char * ) malloc (10); q=p; p = (char * ) realloc (p,20); ………………………… 这段程序也许在编译器中没有办法通过,因为编译器可能会为我们消除一些隐患!在这里我们只是增加了一个记录原来内存地址的指针q,然后记录了原来的内存地址p,如果不幸的话,数据发生了移动,那么所记录的原来的内存地址q所指向的内存空间实际上已经放回到堆上了!这样一来,我们应该终于意识到问题的所在和可怕了吧! 3、返回情况 返回的是一个void类型的指针,调用成功。(这就再你需要的时候进行强制类型转换) 返回NULL,当需要扩展的大小(第二个参数)为0并且第一个参数不为NULL,此时原内存变成了“freed(游离)”的了。 返回NULL,当没有足够的空间可供扩展的时候,此时,原内存空间的大小维持不变。 4、特殊情况 如果mem_address为null,则realloc()和malloc()类似。分配一个newsize的内存块,返回一个指向该内存块的指针。 如果newsize大小为0,那么释放mem_address指向的内存,并返回null。 如果没有足够可用的内存用来完成重新分配(扩大原来的内存块或者分配新的内存块),则返回null.而原来的内存块保持不变。
2023-06-13 15:15:242

C语言的sleep,wait,delay函数有什么区别?

wait 是等待子进程的返回sleep 参数指定暂停时间, 单位是 sdelay 参数指定暂停时间, 单位是 ms所以 sleep(n) == delay(1000*n)原型:extern void sleep(unsigned int sec);用法:#include <system.h功能:短暂延时说明:延时sec秒举例:// sleep.c#include <system.hmain(){int c;clrscr();printf(" Hello, world!");sleep(1);clrscr();printf(" Hi, guys");getchar();return 0;}原型:extern void delay(unsigned int msec);用法:#include <system.h功能:短暂延时说明:延时msec*4毫秒举例:// delay.c#include <system.hmain(){int c;clrscr();printf(" Hello, world!");delay(250); // 250*4=1000msec=1secclrscr();printf(" Hi, guys");getchar();return 0;}wait(等待子进程中断或结束)相关函数waitpid,fork表头文件#include<sys/types.h#include<sys/wait.h定义函数pid_t wait (int * status);函数说明wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status 返回,而子进程的进程识别码也会一快返回。如果不在意结束状态值,则参数status可以设成NULL。子进程的结束状态值请参考waitpid()。返回值如果执行成功则返回子进程识别码(PID),如果有错误发生则返回-1。失败原因存于errno中。
2023-06-13 15:15:331

C语言程序设计 班级学生成绩管理系统

#include <stdio.h>#include <malloc.h>#include <string.h>#include <conio.h>#define ADDRFILE "c:\addrlist.txt"typedef struct tagLinkedList{char name[30];char tel[30];char addr[100];struct tagLinkedList *prev;struct tagLinkedLIst *next;}ADDR;ADDR *g_pAddrHead = NULL;ADDR *g_pFind;int g_bSaved = 1;void get_addrlist(void);int add_list(const ADDR *addr);int find_list(const char *name); void SetHeadPosition(void);void SetTailPosition(void);void Add_addr(void);void Find_addr(void);void Modify_addr(void);void Delete_addr(void);void Print_addr(void);void Save_addr(void);void Remove_addr(void);void main(void){int ch;get_addrlist();puts("通讯录程序 Version 1.0");while(1){ printf(" [1]新增 [2]搜索 [3]修改 [4]删除 [5]输出 [S]储存 [Q]退出"); ch = getch(); switch(ch) { case "1": Add_addr();break; case "2": Find_addr();break; case "3": Modify_addr();break; case "4": Delete_addr();break; case "5": Print_addr();break; case "s": case "S": Save_addr();break; case "q": case "Q": if(g_bSaved == 0) { printf(" 修改后的数据需要储存吗?(y/n)?"); ch = getchar(); if(ch == "Y" || ch == "y") Save_addr(); } Remove_addr(); exit(1); default : printf(" 请按1~5或S/Q健. ");break; }}}void get_addrlist(void){ADDR addr;FILE *fp;fp = fopen(ADDRFILE,"rb");if(fp == NULL){ perror("open file error;"); return;}while(!feof(fp)){ fread(&addr,1,sizeof(ADDR),fp); if(ferror(fp)) { fclose(fp); perror("file read error;"); return; } if(feof(fp))break; if(add_list(&addr) == 0) { printf(". "); }}fclose(fp);}int add_list(const ADDR *addr){ADDR *plocal,*pn = g_pAddrHead;SetHeadPosition();if(g_pAddrHead == NULL){ plocal = malloc(sizeof(ADDR)); memset(plocal,0,sizeof(ADDR)); if(plocal == NULL) { return 0; } g_pAddrHead = plocal; g_pAddrHead->prev = NULL; g_pAddrHead->next = NULL;}else{ plocal = malloc(sizeof(ADDR)); memset(plocal,0,sizeof(ADDR)); if(plocal == NULL) { return 0; } while(pn->next) { pn = pn->next; } pn->next = plocal; plocal->prev = pn; plocal->next = NULL;}strcpy(plocal->name,addr->name);strcpy(plocal->tel,addr->tel);strcpy(plocal->addr,addr->addr);return 1;}int find_list(const char *name){ADDR *plocal;SetHeadPosition();plocal = g_pAddrHead;while(plocal){ if(strstr(plocal->name,name)) { g_pFind = plocal; return 1; } plocal = plocal->next;}return 0;}void SetHeadPosition(void){if(g_pAddrHead == NULL) return;while(g_pAddrHead->prev){ g_pAddrHead = g_pAddrHead->prev;}}void SetTailPosition(void){if(g_pAddrHead == NULL) return;while(g_pAddrHead->next){ g_pAddrHead = g_pAddrHead->next;}}void Remove_addr(void){ADDR *plocal;if(g_pAddrHead == NULL) return;SetHeadPosition();while(g_pAddrHead){ plocal = g_pAddrHead->next; free(g_pAddrHead); g_pAddrHead = plocal;}g_pAddrHead = NULL;}void Add_addr(void){ADDR addr;memset(&addr,0,sizeof(ADDR));printf(" Name: ");gets(addr.name);if(strlen(addr.name) == 0) return;printf("TEL: ");gets(addr.tel);printf("ADDR: ");gets(addr.addr);if(find_list(addr.name) == 1){ printf(" 已经存在的姓名. "); puts(g_pFind->name); puts(g_pFind->tel); puts(g_pFind->addr); return;}if(add_list(&addr)){ g_bSaved = 0; printf(" 储存完毕. ");}}void Find_addr(void){char buff[100] ={0,};ADDR *plocal;printf(" 请输入要查找的姓名/电话/地址. ");printf("姓名/电话/地址 :");gets(buff);if(strlen(buff) == 0) return;SetHeadPosition();plocal = g_pAddrHead;g_pFind = NULL;while(plocal){ if(strstr(plocal->name,buff)) { g_pFind = plocal; break; } if(strstr(plocal->tel,buff)) { g_pFind = plocal; break; } if(strstr(plocal->addr,buff)) { g_pFind = plocal; break; } plocal = plocal->next;}if(g_pFind){ puts(g_pFind->name); puts(g_pFind->tel); puts(g_pFind->addr);}else{ printf(" 搜索不到要找的%s. ",buff);}}void Modify_addr(void){char name[100] = {0,};ADDR addr;while(1){ printf(" 要修改的姓名: ");gets(name); if(strlen(name) == 0) return; if(find_list(name) == 0) { puts("输入的姓名不存在."); continue; } break;}printf(" %s的通讯录如下: ",name);puts(g_pFind->name);puts(g_pFind->tel);puts(g_pFind->addr);printf(" 输入要修改的姓名/电话/地址. ");printf("NAME: ");gets(addr.name);printf("TEL : ");gets(addr.tel);printf("ADDR: ");gets(addr.addr);if(strlen(addr.name)==0) strcpy(addr.name,name);strcpy(g_pFind->name,addr.name);strcpy(g_pFind->tel,addr.tel);strcpy(g_pFind->addr,addr.addr);g_bSaved = 0;printf("%s的通讯录修改成功. ",name);}void Delete_addr(void){char name[100] ={0,};ADDR *plocal;int ch;while(1){ printf(" 要删除的姓名: ");gets(name); if(strlen(name)==0) return; if(find_list(name) == 0) { puts("要删除的通讯录不存在."); continue; } break;}puts(g_pFind->name);puts(g_pFind->tel);puts(g_pFind->addr);printf("确定要删除%s的通讯录吗(y/n)?",name);ch = getch();fflush(stdin);if(ch == "Y"||ch == "y"){ if(g_pFind->prev == NULL) { if(g_pFind->next == NULL) { free(g_pFind); g_pAddrHead = NULL; } else { plocal = g_pFind->next; free(g_pFind); plocal->prev =NULL; g_pAddrHead = plocal; } } else if(g_pFind->next == NULL) { plocal = g_pFind->prev; free(g_pFind); plocal->next =NULL; g_pAddrHead = plocal; } else { plocal = g_pFind->prev; plocal->next = g_pFind->next; plocal = g_pFind->next; plocal->prev = g_pFind->prev; free(g_pFind); g_pAddrHead = plocal; } g_bSaved = 0; printf(" 删除完毕. ");}}void Print_addr(void){int count = 1;ADDR *plocal;SetHeadPosition();if(g_pAddrHead == NULL){ printf(" 无任何数据 "); return;}plocal = g_pAddrHead;while(plocal->prev){ plocal=plocal->prev;}printf(" ");while(plocal){ printf("NO.%d ",count++); puts(plocal->name); puts(plocal->tel); printf("%s ",plocal->addr); printf("请按任意一健(结束:q) "); getch(); if(getch() == "q")return; plocal=plocal->next;}}void Save_addr(void){ADDR *plocal, *pn;FILE *fp;if(g_pAddrHead == NULL) return;fp = fopen(ADDRFILE,"w+b");if(fp == NULL){ perror("file open error;"); return;}SetHeadPosition();plocal = g_pAddrHead;while(plocal){ pn = plocal->next; plocal = pn;}printf(" 所有数据已经储存完毕.");g_bSaved = 1;fclose(fp);}
2023-06-13 15:15:442

在c语言里#include是什么样的头文件,包含哪些函数?

conio.h不是C标准库中的头文件。conio是ConsoleInput/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。包含的函数cgets(char*);cprintf(constchar*,...);cputs(constchar*);cscanf(constchar*,...);inp(unsignedshort);inpw(unsignedshort);getch(void);getche(void);kbhit(void);outp(unsignedshort,int);outpw(unsignedshort,unsignedshort);putch(int);ungetch(int);void_Cdeclclreol(void);void_Cdeclclrscr(void);void_Cdecldelline(void);int_Cdeclgettext(intleft,inttop,intright,intbottom,void*destin);void_Cdeclgettextinfo(structtext_info*r);void_Cdeclgotoxy(intx,inty);void_Cdeclhighvideo(void);void_Cdeclinsline(void);void_Cdecllowvideo(void);int_Cdeclmovetext(intleft,inttop,intright,intbottom,intdestleft,intdesttop);void_Cdeclnormvideo(void);int_Cdeclputtext(intleft,inttop,intright,intbottom,void*source);void_Cdecltextattr(intnewattr);void_Cdecltextbackground(intnewcolor);void_Cdecltextcolor(intnewcolor);void_Cdecltextmode(intnewmode);int_Cdeclwherex(void);int_Cdeclwherey(void);void_Cdeclwindow(intleft,inttop,intright,intbottom);har*_Cdeclcgets(char*str);int_Cdeclcprintf(constchar*format,...);int_Cdeclcputs(constchar*str);int_Cdeclcscanf(constchar*format,...);int_Cdeclgetch(void);int_Cdeclgetche(void);char*_Cdeclgetpass(constchar*prompt);int_Cdeclkbhit(void);int_Cdeclputch(intc);int_Cdeclungetch(intch);
2023-06-13 15:15:543

c语言中clrscr(); 这个是什么啊?

clear screen = slrscr()
2023-06-13 15:16:185

求助:用C语言制作一个歌曲信息管理系统

用struct做吧
2023-06-13 15:16:373

C语言中,出现"error c2065:‘clrscr’:undeclared identifie

a
2023-06-13 15:16:483

python是否有clrscr之类的可在程序里清屏的函数

import os,然后os.system("……"),那个字符串会当做命令行命令执行。os.system("cls")相当于在命令行里执行"cls",即清屏。我真见过靠cls不断清屏写命令行游戏的
2023-06-13 15:16:581

c++清空屏幕的函数是什么

system("CLS");
2023-06-13 15:17:094

为啥我的clrscr();报错 我加了头文件#include了啊

这是TC的库函数而非ANSI C标准库函数,其他编译器不能使用。换用system("cls")实现,并#include<stdlib.h>。
2023-06-13 15:17:181

clrscr()在c++ 中要包含那个库

32位下(比如VC、gcc)试试,哪里来的clrscr()???clrscr()只是TC的一个函数,不是库里的。system("cls");system函数表示执行一条系统命令,后面的cls即为DOS下的清屏命令。
2023-06-13 15:17:271

C语言中,出现"error c2065:‘clrscr’:undeclared identifie

otoxy()函数是dos下的tc或者bc环境才能运行,不是vc++中的标准函数,你试试这样#include<stdio.h>#include<conio.h>#include<dos.h>#include<stdlib.h>//#include<system.h>main(){//clrscr();//cls();system("cls()");//system("gotoxy()");//gotoxy(35,12);printf("HelloWorld!");return0;}
2023-06-13 15:17:361

clrscr()和gotoxy()在vs 2010中怎么用不了

那是tc中的函数,在标准C中没有。
2023-06-13 15:17:441

在vs2012软件中库函数conio.h中没有定义clrscr()函数怎么办,也没有库函数mem.h等怎么回事?

你说的这个函数和头文件是tc在dos上支持的,在Windows上已经不支持了,找本新一点的书?
2023-06-13 15:17:522

C语言中clrscr()是什么意思?

由来:clearscreen的缩写,意思:清屏,讲土一点,形象点,屏幕就是块黑板,clsscr()就是块黑板擦。用途:利用C语言编写多页面展示效果时,这个语句比较常用,往往用来把之前一个页面的屏幕清理干净,以便下一页面显示的清晰性。
2023-06-13 15:18:451

c语言中 //clrscr(); 什么意思?

用来清屏,vc 6.0里面没有
2023-06-13 15:18:542

clrscr()这个函数的头文件是什么?

功能:清除文本模式窗口用法:voidclrscr(void)清屏相当于dos命令cls函数名:clrscr功能:清除文本模式窗口清屏的意思就是把之前显示出的文字字符去掉跟cmd里面的清屏的功能是一样的实际上是clearscreen的简写
2023-06-13 15:19:042

clrscr是TC特有的,其它的C语言环境没有这个函数,也就没有头文件包含这个函数。建议使用system("cls");来取代clrscr();比较通用,兼容性好一点。system()函数在#include<stdlib.h>里面。
2023-06-13 15:19:121

C语言中的清屏有什么作用那

清空之前输出的结果。
2023-06-13 15:19:234

C语言编程,请问这个程序中clrscr();为什么有问题

你用哪种编译器,这个clrscr(),是用tc编译的
2023-06-13 15:19:545

c语言中清屏函数怎么用?

C语言中清屏函数是为清除屏幕上的输出功能,用法是:void clrscr(void);程序例:#include <conio.h>int main (){int i;clrscr();for (i = 0; i < 20; i++);cprintf("%d ", i);cprintf(" Press any key to clear screen");getch();clrscr();cprintf("The screen has been cleared!");getch();return 0;}相似的clrscr清屏函数:clrscr并不是C语言的标准库函数,而是TC平台特有的函数,在其它编译器中无法使用。1、函数声明:void clrscr(void);2、头文件:#include <conio.h>3、程序示例:4、在当前主流编译器中,不支持该函数,可以用system("cls");//windows平台或system("clear");//unix/Linux平台实现相同效果。
2023-06-13 15:20:101

c语言清屏函数有哪些?

C语言中清屏函数是为清除屏幕上的输出功能,用法是:void clrscr(void);程序例:#include <conio.h>int main (){int i;clrscr();for (i = 0; i < 20; i++);cprintf("%d ", i);cprintf(" Press any key to clear screen");getch();clrscr();cprintf("The screen has been cleared!");getch();return 0;}相似的clrscr清屏函数:clrscr并不是C语言的标准库函数,而是TC平台特有的函数,在其它编译器中无法使用。1、函数声明:void clrscr(void);2、头文件:#include <conio.h>3、程序示例:4、在当前主流编译器中,不支持该函数,可以用system("cls");//windows平台或system("clear");//unix/Linux平台实现相同效果。
2023-06-13 15:20:241

c语言中clrscr是什么?

清屏,不过用这个函数不好,因为它只在TC下有用,在其它编译器下没有这个函数。清屏最好用以下函数:system("cls");//DOS下system("clear");//Unix下。
2023-06-13 15:21:002

c语言中的清屏函数是什么?

C语言中清屏函数是为清除屏幕上的输出功能,用法是:void clrscr(void);程序例:#include <conio.h>int main (){int i;clrscr();for (i = 0; i < 20; i++);cprintf("%d ", i);cprintf(" Press any key to clear screen");getch();clrscr();cprintf("The screen has been cleared!");getch();return 0;}相似的clrscr清屏函数:clrscr并不是C语言的标准库函数,而是TC平台特有的函数,在其它编译器中无法使用。1、函数声明:void clrscr(void);2、头文件:#include <conio.h>3、程序示例:4、在当前主流编译器中,不支持该函数,可以用system("cls");//windows平台或system("clear");//unix/Linux平台实现相同效果。
2023-06-13 15:21:161

c语言清屏函数是什么?

C语言中清屏函数是为清除屏幕上的输出功能,用法是:void clrscr(void);程序例:#include <conio.h>int main (){int i;clrscr();for (i = 0; i < 20; i++);cprintf("%d ", i);cprintf(" Press any key to clear screen");getch();clrscr();cprintf("The screen has been cleared!");getch();return 0;}相似的clrscr清屏函数:clrscr并不是C语言的标准库函数,而是TC平台特有的函数,在其它编译器中无法使用。1、函数声明:void clrscr(void);2、头文件:#include <conio.h>3、程序示例:4、在当前主流编译器中,不支持该函数,可以用system("cls");//windows平台或system("clear");//unix/Linux平台实现相同效果。
2023-06-13 15:21:321

你好 请问C语言程序设计中出现unresolved external symbol _clrscr怎么改正

clrscr是TC特有的,其它的C语言环境没有这个函数,也就没有头文件包含这个函数。建议使用system("cls");来取代clrscr();比较通用,兼容性好一点。system()函数在#include<stdlib.h>里面
2023-06-13 15:21:481