当前位置:首页 » 编程语言 » c语言的小项目下载
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言的小项目下载

发布时间: 2022-05-11 01:55:18

A. 有哪些c语言的小项目适合新手练习的,几百到几千行的那种

所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以网络一下:)Kernighan和Ritchie的《TheCProgrammingLanguage》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《CReferenceManual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《PointersonC》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《CTrapsandPitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《ExpertCProgramming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,你要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。Unix/Linux还是Windows,这是个很大的问题不同的编程环境会造就出不同思维的程序员。Windows的程序员大多依赖集成开发环境,比如VisualStudio,而Unix程序员更加钟爱Makefile与控制台。显而易见,集成开发环境更容易上手,在Windows上学习C语言,只需要会按几个基本的VisutalC++工具栏按钮就可以开始写Hello,World!了,而在Unix下,你需要一些控制台操作的基本知识。有人也许认为Unix的环境更简洁,但习惯的力量是很大的,大家都很熟悉Windows的基本操作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。对于一个只懂得Windows基本操作、连DOS是什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的。用C语言写一个小程序远比学习ls、cat等命令有趣,况且我们要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefile的写法等等等等。所以我建议初学者应该以VisualC++6.0(不是VisualC++.NET)或者DevC++作为主要的学习环境,而且千万不要在IDE的使用技巧上过多纠缠,因为今后你一定要转向Unix环境的。VisualC++6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而DevC++使用gcc编译器,对C99的标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用TurboC2.0作为实验环境,这是相当不可取的,原因其一是TC2.0对C标准几乎没有支持,其二是TC2.0编译得到的程序是16位的,这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC2.0编译出32位程序,不过那过于复杂了)。等你学完一本C语言的教材,你一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的(比如《C专家编程》)。转变的过程是痛苦的,你需要面对的是各种纷繁复杂的命令,完全不同于Windows平台的思考方式,但是这种痛苦是值得的。Unix与C是共生的,Unix的思考方式和习惯更加符合C语言的思考方式和习惯。在Unix下,你可以找到无数优秀的源代码供你尽情阅读,你可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格归结起来就是一句话:初学C语言,建议使用Windows系统和集成开发环境,在准备向“高手”方向努力时,请先转向Unix平台。书已选定,环境配置完成,正所谓万事俱备,只欠你自己的努力了。请从书的前言开始,仔细地阅读手头的教材,很多人看书喜欢直接从第一章开始看,这是错误的做法。前言是作者对整本书的大体介绍,作者一般会告诉你需要什么基础才能够顺利阅读本书,这可以帮助你检验自己的基础知识是否已经具备。看完前言,还要浏览一下目录,了解一下书的整体结构,顺便给自己安排一下学习计划。学习C语言,必需注意每一个细节,书上的例子代码一定要自己亲自敲一遍,编译执行输出都跟书上说的一致才能算是学完了一个例子,如果不一致,就要仔细找原因。出了书本上有的例子,自己还要“创造”一些例子,比如学习运算符优先级的时候,可以写几个相同的表达式,在不同的位置加上括号,看看有哪些不同的行为,比如*p++和(*p)++,又比如a=b==c、(a=b)==c和a=(b==c)等等。自己抄的书上的例子以及改造之后的例子,还有自己“创造”的例子,都应该仔细地归类保存,并且要在源代码中写上简短的注释,阐述这个例子的意图。例子之后就是习题了,我建议初学者把所有的习题都独立做一遍,然后对照答案的代码,看看自己的代码有那些不足,再试着修改自己的代码。很多人不重视习题,这是极大的错误,因为作者通常会在习题中说明一些重要的道理,而不是单纯地检验前面的知识。也许你认为这样学习太慢,其实不然。学得细致就不用走回头路,等你学到后面才发现自己前面没搞清楚,那才是真的得不偿失。一般说来,整本书读完,你应该完成数千行乃至上万行的代码,无论是原封不动照抄书上的,还是自己心血来潮写就的,都是今后继续学习的一笔财富。以我自己举例,阅读《Windows核心编程》时(我只阅读了3/4的内容),除了抄书上的代码,还自己写了很多例子,一共有5574行(用unix下的wc工具统计),时隔多日,我早已记不清Windows的系统编程了,但只要花几分钟翻出以前的代码看看,便会重新了然于胸。所谓好记性不如烂笔头,就是这个道理。仔细读书、认真抄写源代码、独立完成习题外加更进一步的实验,最后将所有的代码留下,成为自己的经验和财富,绝对的辛苦,也绝对的事半功倍。当然,这种方式只适合学习需要精通的技术,如果不是学习C语言,你还要具体情况具体分析。

B. 推荐一些学完C语言可以完成的小项目

贪吃蛇游戏
计算器
黑白棋游戏
迷宫问题
扫地雷游戏
通讯录
学生成绩管理
图书借阅管理等等……

C. 我想找几个c语言的小项目做~!

小程序么,给你几个你试试:
算法类的:求全排列,算24,快速排序的迭代实现,汉诺塔,8皇后,1笔画......
综合类:学生信息管理,动画演示排序,打印年历,计算某文章单词数.....
深入的:磁盘文件管理,线性方程求解,超大整数计算,算PI到小数点后2万位,贪吃蛇,俄罗斯方块.....
超简单的:求1元2次方程的解,牛顿迭代法求平方根,逐差法计算试验数据,求方差,坐标变换.....

你能把上面那些全做出来,恭喜你,你是天才了...-_-

D. 有哪些适合练手的c语言小项目,几百到几千行吧,最好循序渐进的

http://www.pythontip.com/acm/problemCategory

这里有很多题目可以供你练习。

E. 我想用C语言开发一个小项目

很小的游戏,你可以试试猫捉老鼠,请尽量使用图片进行制作。猫捉老鼠的难度还是挺简单的,你可以试试对你生活中有帮助的,例如解方程,解应用题。
我现在正在开发一个游戏,类似于打砖块,但有四个板都能动,就像SHATTER一样。但还是得看自己的爱好,你喜欢什么就做什么。
如果LZ不嫌弃的话,就点一下我下面的最佳答案吧:)

F. 求一份C语言小项目的代码,要求150行以上,很急!

我给个我写的吧,不过不完全符合要求。子函数只有7个,但有两个宏,其中一个可以换成函数。其实如果把测试改成自动的,可以超过10个,你可以自己改一改。

项目名称:UTF8StringEscaper。在Github上可以搜到,不过其实只是个单文件的小程序。代码参考了leptjson。

项目概述:此程序可以将输入的UTF8文本进行转义,例如如果手动输入 1 2 这四个字符,可以输出 1(换行)2。

采用的C语言技术,这怎么好写呢?:注释、转义序列、预处理器、指针、inline

/*测试用例:
hello,world

u4F60u597D u4E16u754C
uD869uDEA5
你好//win下失败

uqweru1234
u0068uqwer
auDFFFa
auD800a
ym
uD800u0068
uD800uqwer
*/

#include<assert.h>
#include<stdbool.h>
#include<stdio.h>
#include<stdlib.h>

#ifdefined__clang__&&!(definedWIN32||definedlinux||definenix)
#defineWIN32
#endif

#definemovenext(ch,p)(ch=*p++)
voidParse(constchar*p);
intParseUnicode(constchar**pp);
intParseHex(constchar*num);
(unsignedshorthigh,unsignedshortlow);
voidEncodeUTF8(unsignedcodePoint);

intmain(void)
{
#ifdefWIN32
system("chcp65001");
#endif

charinput[BUFSIZ];
printf(" ¥>");
while(gets(input)!=NULL)//读到EOF时返回NULL
{
Parse(input);
printf(" ¥>");
}

return0;
}

#defineHandleEscape(ch,escaped)
casech:
putchar(escaped);
break
voidParse(constchar*p)
{
charch;
while(movenext(ch,p)!='')
{
switch(ch)
{
case'\'://需要转义
switch(movenext(ch,p))
{
HandleEscape('"','"');
HandleEscape('\','\');
HandleEscape('b','');
HandleEscape('f','f');
HandleEscape('n',' ');
HandleEscape('r',' ');
HandleEscape('t',' ');
//case'/'://斜杠的转义是可选的

case'u':
{
intcodePoint=ParseUnicode(&p);
if(codePoint==-1)//ParseHex失败
{
printf(" Error!");
return;
}
EncodeUTF8(codePoint);
break;
}
default://不支持的转义
//putchar('\');
putchar(ch);
break;
}
break;
default://无需转义
putchar(ch);
break;
}
}
}

(unsignedshortsurrogate){returnsurrogate>=0xD800&&surrogate<=0xDBFF;}
(unsignedshortsurrogate){returnsurrogate>=0xDC00&&surrogate<=0xDFFF;}
intParseUnicode(constchar**pp)
{
constchar*p=*pp;
inthigh=ParseHex(p);//跳过字符u
unsignedcodePoint;
if(high==-1)//解析失败
return-1;

//解析成功
p+=4;//移过xxxx
codePoint=high;

if(IsHighSurrogate(high)&&(*p)=='\'&&(*(p+1))=='u')//解析低代理项
{
intlow=ParseHex(p+2);//移过u
if(IsLowSurrogate(low))//ParseHex失败或不是低代理项时仍编码当前码点,其余的留给下一轮解析
{
p+=6;//移过uxxxx
codePoint=GetCodePointFromSurrogatePare(high,low);
}
}

*pp=p;
returncodePoint;
}

intParseHex(constchar*num)//解析uxxxx中的4个16进制字符
{
inthex=0;//本来用ushort即可,但出错时需要返回-1

for(inti=0;i<4;i++)//只解析xxxx
{
charch=*num++;
hex<<=4;
if(ch>='0'&&ch<='9')
hex|=ch-'0';
elseif(ch>='A'&&ch<='F')
hex|=ch-'A'+10;
elseif(ch>='a'&&ch<='f')
hex|=ch-'a'+10;
else
return-1;//非16进制字符
}
returnhex;
}

(constunsignedshorthigh,constunsignedshortlow)
{
return0x10000+(high-0xD800)*0x400+(low-0xDC00);
}

voidEncodeUTF8(constunsignedcodePoint)
{
if(codePoint<=0x007F)
putchar((char)(codePoint));
elseif(codePoint<=0x07FF)
{
putchar((char)(0xC0|((codePoint>>6)&0xFF)));
putchar((char)(0x80|(codePoint&0x3F)));
}
elseif(codePoint<=0xFFFF)
{
putchar((char)(0xE0|((codePoint>>12)&0xFF)));
putchar((char)(0x80|((codePoint>>6)&0x3F)));
putchar((char)(0x80|(codePoint&0x3F)));
}
elseif(codePoint<=0x10FFFF)
{
putchar((char)(0xF0|((codePoint>>18)&0xFF)));
putchar((char)(0x80|((codePoint>>12)&0x3F)));
putchar((char)(0x80|((codePoint>>6)&0x3F)));
putchar((char)(0x80|(codePoint&0x3F)));
}
else
assert(0);//不可能发生
}

G. 求大一C语言程序设计小项目.

楼上的和楼上的楼上的楼上是SB。
辽工大的吧。
需要盘文件输入输出、数组、循环、选择、除主函数外至少要用到3个自定义函数。
你这分给的也太少了吧
以下(COPY):
这个就可以:
咱班都看过了。。(底下都写上!!!!我记得有个地方他打错了,交之前让老师帮你改一改。这个交上去是很多个老师一起看!!)

1题目:学生信息管理系统
2程序要求:
学生信息录入功能
用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治、语文四门课成绩。
可插入一个或多个学生信息到当前编辑的班级数据中。
文件保存功能
学生信息每一班存为一个数据文件,数据文件可在程序中打开、编辑和重新保存。
用户输入学生信息可随时保存数据文件。
文件打开功能
程序只能对当前打开的数据文件进行编辑。
查询功能
浏览所有学生信息。
按学号查询学生信息。
按姓名查询学生信息。
查询一个班总成绩和平均成绩。
查询一个班某一门课总成绩和平均成绩。
查询某一门课分数段(<60,60-69,70-79,80-89,>90)学生数。
报表输出功能
按学号输出一个班学生信息:学号、姓名、性别、数学、英语、政治、语文成绩、总成绩,到屏幕和文件。
按总成绩从高到低输出学号、姓名信息。
注:以上功能以菜单形式供用户使用,并有一定的容错功能。
3开发语言环境:Macrosoft VC++6.0或Turbo C2.0
4数据结构:数组或链表
5程序源代码要求:
函数名、变量名采用英文缩写,使用匈牙利命名法进行自说明。
源代码的书写采用递进格式。
程序行和程序段须有注释。
#include "stdio.h" /*I/O函数*/
#include "stdlib.h" /*其它说明*/
#include "string.h" /*字符串函数*/
#include "conio.h" /*屏幕操作函数*/
#include "mem.h" /*内存操作函数*/
#include "ctype.h" /*字符操作函数*/
#include "alloc.h" /*动态地址分配函数*/
struct score
{
int mingci;
char xuehao[8];
char mingzi[20];
float score[6];
}data,info[1000];
int i,j,k=0;
char temp[20],ch;
FILE *fp,*fp1;

void shuru()
{
if((fp=fopen("s_score.txt","ab+"))==NULL)
{
printf("cannot open this file.\n");
getch();exit(0);
}
for(i=0;i<=1000;i++)
{
printf("\nPlease shuru xuehao:");
gets(data.xuehao);
printf("Please shuru mingzi:");
gets(data.mingzi);
printf("Please shuru yuwen score:");
gets(temp);data.score[0]=atof(temp);
printf("Please shuru shuxue score:");
gets(temp);data.score[1]=atof(temp);
printf("Please input yingyu score:");
gets(temp);data.score[2]=atof(temp);
printf("Please shuru wuli score:");
gets(temp);data.score[3]=atof(temp);
printf("Please shur huaxue score:");
gets(temp);data.score[4]=atof(temp);
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];
fwrite(&data,sizeof(data),1,fp);
printf("another?y/n");
ch=getch();
if(ch=='n'||ch=='N')
break;
} fclose(fp);
}
void xianshi()
{
float s;int n;
if((fp=fopen("s_score.txt","rb+"))==NULL)
{
printf("Cannot reading this file.\n");
exit(0);
}
for(i=0;i<=1000;i++)
{
if((fread(&info[i],sizeof(info[i]),1,fp))!=1)
break;
}
printf("\nxuehao mingzi yuwen shuxue yingyu wuli huauxue zhongfen\n");
for(j=0,k=1;j<i;j++,k++)
{
info[j].mingci=k;
printf("%6s %8s %3.1f %3.1f %3.1f %3.1f %3.1f %3.1f\n",info[j].xuehao,info[j].mingzi,info[j].score[0],info[j].score[1],info[j].score[2],info[j].score[3],info[j].score[4],
info[j].score[5]);
}
getch();
fclose(fp);
}

void xiugai()
{
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("Cannot open this file.\n");
exit(0);
}
printf("\nPLease shuru xiugai xuehao:");
scanf("%d",&i); getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{
printf("xuehao:%s\nmingzi:%s\n",data.xuehao,data.mingzi);
printf("Please shuru mingzi:");
gets(data.mingzi);
printf("Please shuru yuwen score:");
gets(temp);data.score[0]=atof(temp);
printf("Please shuru shuxue score:");
gets(temp);data.score[1]=atof(temp);
printf("Please input yingyu score:");
gets(temp);data.score[2]=atof(temp);
printf("Please input wuli score:");
gets(temp);data.score[3]=atof(temp);
printf("Please input huaxue score:");
gets(temp);data.score[4]=atof(temp);
data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];

} fwrite(&data,sizeof(data),1,fp1);
}
fseek(fp,0L,0);
fseek(fp1,0L,0);
while((fread(&data,sizeof(data),1,fp1))==1)
{
fwrite(&data,sizeof(data),1,fp);
}

fclose(fp);
fclose(fp1);
}
void chazhao()
{
if((fp=fopen("s_score.txt","rb"))==NULL)
{
printf("\nCannot open this file.\n");
exit(0);
}
printf("\nPLease shuru xuehao chakan:");
scanf("%d",&i);
while(fread(&data,sizeof(data),1,fp)==1)
{
j=atoi(data.xuehao);
if(i==j)
{
printf("xuehao:%s mingzi:%s\nyuwen:%f\n shuxue:%f\n yingyu:%f\n wuli:%f\n huaxue:%f\n ",data.xuehao,data.mingzi,data.score[0],data.score[1],data.score[2],data.score[3],data.score[4],data.score[5]);
}getch();
}
}
void shanchu()
{
if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt","wb+"))==NULL)
{
printf("\nopen score.txt was failed!");
getch();
exit(0);
}
printf("\nPlease input ID which you want to del:");
scanf("%d",&i);getchar();
while((fread(&data,sizeof(data),1,fp))==1)
{
j=atoi(data.xuehao);
if(j==i)
{

printf("Anykey will delet it.\n");
getch();
continue;
}
fwrite(&data,sizeof(data),1,fp1);
}
fclose(fp);
fclose(fp1);
remove("s_score.txt");
rename("temp.txt","s_score.txt");
printf("Data delet was succesful!\n");
printf("Anykey will return to main.");
getch();
}
main()
{
while(1)
{
clrscr(); /*清屏幕*/
gotoxy(1,1); /*移动光标*/
textcolor(YELLOW); /*设置文本显示颜色为黄色*/
textbackground(BLUE); /*设置背景颜色为蓝色*/
window(1,1,99,99); /* 制作显示菜单的窗口,大小根据菜单条数设计*/
clrscr();
printf("*************welcome to use student manage******************\n");
printf("*************************menu********************************\n");
printf("* ========================================================= * \n");
printf("* 1>shuru 2>xiugai * \n");
printf("* 3>shanchu 4>chazhao * \n");
printf("* 5>xianshi 6>exit * \n");
printf("* * \n");
printf("* --------------------------------------------------------- * \n");
printf(" Please input which you want(1-6):");
ch=getch();
switch(ch)
{
case '1':shuru();break;
case '2':xiugai(); break;
case '3':shanchu(); break;
case '4':chazhao(); break;
case '5':xianshi(); break;
case '6':exit(0);
default: continue;
}
}
}

H. 请问有哪些适合网络编程初学者的C语言方面的网络编程开源项目,...

如果是学习的话我推荐你去看看Linux、FreeBSD 系统中与网络有关的那些命令程序的代码,比如ping、tcpmp等等,他们还有很多更强大的开源替代方案,比如mtr,都是学习的好材料。这些程序都追求把一件事情做到极致,所以往往结构清晰却又不会过于简单,你看看光是下载就有wget和curl两大神器够你折腾了。
Linux和FreeBSD的这类自带命令虽然功能相同,但往往实现方式有很大差别,对比阅读效果甚好。

I. 求C语言130行左右代码的小项目入门级就行

//////洗牌-发牌////////
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
structPOKER
{
intnum;//A:1,J:11,Q:12,K:13小王:14大王:15
intcolor;//黑1,红2,梅3,方4
}s[54];

voidoutput(intmode,intnum)//mode为0时表示显示整副牌,为1时表示发牌
{//mode为1时:num的值表示每位玩家发多少张牌
if(mode==1&&(num<1||num>13))
{
printf(" 设置每位玩家的牌数出错!");
return;
}
inti,player_count=1;
for(i=0;i<54;i++)
{
if(mode==1)
{
if(i%num==0)
{
if(player_count>4)
{
return;
}
printf(" 玩家%d:",player_count);
player_count++;
}
}
if(s[i].num==14)
{
putchar(1);
}
elseif(s[i].num==15)
{
putchar(2);
}
else
{
switch(s[i].num)
{
case1:putchar('A');break;
case11:putchar('J');break;
case12:putchar('Q');break;
case13:putchar('K');break;
default:printf("%d",s[i].num);
}
switch(s[i].color)
{
case1: putchar(6);break;
case2:putchar(3);break;
case3:putchar(5);break;
case4:putchar(4);break;
default:printf("");
}
}
printf("");
}
}

voidxipai()
{
inti,num,color;
memset(s,0,sizeof(structPOKER)*54);
intcount=0;
while(count<54)
{
num=rand()%15+1;
color=rand()%4+1;
intflag_skip=0;
for(i=0;i<54;i++)
{
if((s[i].num==num&&s[i].color==color)||(s[i].num==14&&num==14)||(s[i].num==15&&num==15))
{
flag_skip=1;
break;
}
}
if(flag_skip==1)
{
continue;
}
while(1)
{
i=rand()%54;
if(s[i].num==0)
{
s[i].num=num;
s[i].color=color;
count++;
break;
}
else
{
continue;
}
}
}
}

intmain()
{
intc,num=13;
srand((unsigned)time(0));
xipai();
while(1)
{
printf(" 已洗好,请选择:(1:全部显示2:发牌3:洗牌)");
fflush(stdin);
scanf("%d",&c);
if(c==1)
{
output(0,0);
}
elseif(c==3)
{
xipai();
}
elseif(c==2)
{
printf(" 每位发几张:(1--13)");
while(1)
{
fflush(stdin);
scanf("%d",&num);
if(num>0&&num<14)
{
break;
}
else
{
printf(" 输入错误,请重新输入 每位发几张:(1--13)");
}
}
output(1,num);
}
}
return0;
}