A. 求c语言代码,一千行左右
答楼主,申请个github账号,上面有很多很多源码可以看,包括各种语言的。另外回复一楼,一楼回答真不敢恭维,工作很多年都没写过超过1000行的代码?而且还提到了编译错误问题,一般工作一两年后,编译错误就不应该是问题了。我们工作平时写的东西,一个模块一般也得2000行以上,像oracle这样的东西也是百万千万行级别的软件。相对来说就算是底层最”省”的驱动代码,也是绝对不止1000行的。
B. 求一份C语言课程设计:通讯录管理系统,1200行代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
char score; /*编号*/
char name[10]; /*姓名*/
char num[15]; /*号码*/
char email[20]; /*邮箱*/
char age[8]; /*年龄*/
char adds[20]; /*住址*/
}Person;
Person pe[80];
//登陆函数
logon()
{printf("\n\n\n\t\t\t 通讯录管理系统\n\n");
printf("\t\t\t 版本号:1.0\n\n");
printf("\n\n\n\n\n\t\t\t 2011年4月29日\n\n");
printf("\t\t\t 程序设计第三组\n");
system("pause");
}
int menu_select()
{ char c;
logon();
do{
system("cls");
printf("\t\t *****通讯录***** \n");
printf("\t\t┌───────┐\n");
printf("\t\t│ 1. 添加记录 │\n");
printf("\t\t│ 2. 显示记录 │\n");
printf("\t\t│ 3. 删除记录 │\n");
printf("\t\t│ 4. 查询记录 │\n");
printf("\t\t│ 5. 修改记录 │\n");
printf("\t\t│ 6. 保存记录 │\n");
printf("\t\t│ 0. 退出程序 │\n");
printf("\t\t└───────┘\n");
printf("\t\t请您选择(0-6):");
c=getchar();
}while(c<'0'||c>'6');
return(c-'0');
}
int Input(Person per[],int n)
{
int i=0;
char sign,x[10];
while(sign!='n'&&sign!='N')
{
printf("\t编号:");
scanf("\t%d",&per[n+i].score);
printf("\t姓名:");
scanf("\t%s",per[n+i].name);
printf("\t年龄:");
scanf("\t%s",per[n+i].age);
printf("\t电话号码:");
scanf("\t%s",per[n+i].num);
printf("\t通讯住址:");
scanf("\t%s",per[n+i].adds);
printf("\t电子邮箱:");
scanf("\t%s",per[n+i].email);
gets(x);
printf("\n\t是否继续添加?(Y/N)");
scanf("\t%c",&sign);
i++;
}
return(n+i);
}
void Display(Person per[],int n)
{
int i;
printf("----------------------------------------------------------------------\n"); /*格式*/
printf("编号 姓名 年龄 电话号码 通讯地址 电子邮箱\n");
printf("----------------------------------------------------------------------\n");
for(i=1;i<n+1;i++)
{
printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);
if(i>1&&i%10==0)
{
printf("\t-----------------------------------\n");
printf("\t");
system("pause");
printf("\t-----------------------------------\n");
}
}
printf("----------------------------------------------------------------------\n");
system("pause");
}
int Delete_a_record(Person per[],int n)
{
char s[20];
int i=0,j;
printf("\t请输入想删除记录中的名字:");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return(n);
}
for(j=i;j<n-1;j++)
{
strcpy(per[j].num,per[j+1].num);
strcpy(per[j].name,per[j+1].name);
strcpy(per[j].age,per[j+1].age);
strcpy(per[j].adds,per[j+1].adds);
strcpy(per[j].email,per[j+1].email);
per[j].score=per[j+1].score;
}
printf("\t\t\t已经成功删除!\n");
return(n-1);
}
void Query_a_record(Person per[],int n)
{
int m;
printf("\t\n请选择查询方式:\n");
printf("\t┌──────┐\n");
printf("\t│1------姓名 │\n");
printf("\t│2------电话 │\n");
printf("\t│3------地址 │\n");
printf("\t│4------返回 │\n");
printf("\t└──────┘\n");
printf("请选择:");
scanf("%d",&m);
while(m!=1&&m!=2&&m!=3&&m!=4)
{
printf("输入错误,请重新选择:");
scanf("%d",&m);
}
if(m==1)
{
char s[20];
int i=0;
printf("\t请输入想查询的姓名:");
scanf("\t%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t电话号码: %s\n",per[i].num);
printf("\t通讯地址: %s\n",per[i].adds);
printf("\t电子邮箱: %s\n",per[i].email);
} ;
if(m==2)
{
char s[20];
int i=0;
printf("\t请输入想查询的电话:");
scanf("\t%s",s);
while(strcmp(per[i].num,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人姓名: %s\n",per[i].name);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t通讯地址: %s\n",per[i].adds);
printf("\t电子邮箱: %s\n",per[i].email);
} ;
if(m==3)
{
char s[20];
int i=0;
printf("\t请输入想查询的地址:");
scanf("\t%s",s);
while(strcmp(per[i].adds,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t此人编号: %d\n",per[i].score);
printf("\t此人姓名: %s\n",per[i].name);
printf("\t此人年龄: %s\n",per[i].age);
printf("\t电话号码: %s\n",per[i].num);
printf("\t电子邮箱: %s\n",per[i].email);
} ;
}
void Change(Person per[],int n)
{
char s[20];
int i=0;
printf("\t请输入想修改的记录中的名字:");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i<n) i++;
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return;
}
printf("\t编号:");
scanf("\t%d",&per[i].score);
printf("\t姓名:");
scanf("\t%s",per[i].name);
printf("\t年龄:");
scanf("\t%s",per[i].age);
printf("\t电话号码:");
scanf("\t%s",per[i].num);
printf("\t通讯住址:");
scanf("\t%s",per[i].adds);
printf("\t电子邮箱:");
scanf("\t%s",per[i].email);
printf("\t修改成功!");
}
void WritetoText(Person per[],int n)
{
int i=0;
FILE *fp; /*定义文件指针*/
char filename[20]; /*定义文件名*/
printf("\t保存到文件\n"); /*输入文件名*/
printf("\t请输入所保存的文件名:");
scanf("\t%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("\t无法打开文件\n");
system("pause");
return;
}
fprintf(fp,"******************************************通讯录******************************************\n");
fprintf(fp,"编号 姓名 年龄 电话号码 通讯地址 电子邮箱\n");
fprintf(fp,"------------------------------------------------------------------------------------------\n");
while(i<n)
{
fprintf(fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email);
i++;
}
fprintf(fp,"------------------------------------------------------------------------------------------\n");
fprintf(fp,"***************************************共有%d条记录****************************************\n",n);
fclose(fp); /*关闭文件*/
printf("保存成功!\n");
}
void main()
{
int n=0;
for(;;)
{
switch(menu_select())
{
case 1:
printf("\n\t添加记录到通讯录\n"); n=Input(pe,n);
break;
case 2:
printf("\n\t\t\t 通讯录记录表\n");
Display(pe,n);
break;
case 3:
printf("\n\t从通讯录中删除记录\n");
n=Delete_a_record(pe,n);
printf("\t");
system("pause");
break;
case 4:
printf("\n\t在通讯录中查找记录\n");
Query_a_record(pe,n);
printf("\t");
system("pause");
break;
case 5:
printf("\n\t修改通讯录中的记录\n");
Change(pe,n);
printf("\t");
system("pause");
break;
case 6:
printf("\n\t保存功能\n");
WritetoText(pe,n);
printf("\t");
system("pause");
break;
case 0:
printf("\n\t\t谢谢使用,再见!\n");
printf("\n\t\t");
system("pause");
exit(0);
}
}
}
C. 什么样的题目用C语言编程能写出1000行以上的代码
几乎不是写来玩的,都是可以超1000行的,你写一个程序,你要保证其健壮性,容错性,等等
D. c语言100行简单一点的代码
登录幼儿园200个小朋友的数据:姓名、性别、年龄、身高、体重、出生日期,分别按年龄排序后输出。
#include<stdio.h>
#define N 200
struct child
{
char name[10];
char sex[3];
int age;
int height;
float weight;
struct {
int year;
int month;
int day;
}bdate;
}ch[N];
void input()
{
int i;
for(i=0;i<N;i++)
{
printf("\n请输入第%d名小朋友信息:\n",i+1);
printf("姓名:");
scanf("%s",ch[i].name);
printf("性别:");
scanf("%s",ch[i].sex);
printf("年龄:");
scanf("%d",&ch[i].age);
printf("身高:");
scanf("%d",&ch[i].height);
printf("体重:");
scanf("%f",&ch[i].weight);
printf("出生日期[YYYY-MM-DD]:");
scanf("%d-%d-%d",&ch[i].bdate.year,&ch[i].bdate.month,&ch[i].bdate.day);
}
}
void sort()
{
struct child ct;
int i,j;
for(i=0;i<N-1;i++)
for(j=0;j<N-i-1;j++)
if(ch[j].height<ch[j+1].height)
{
ct=ch[j];
ch[j]=ch[j+1];
ch[j+1]=ct;
}
}
void output()
{
int i;
printf("\n\t幼儿园小朋友一览(依身高排序)\n");
printf("===================================================\n");
printf(" 姓名 性别 年龄 身高 体重 出生日期 \n");
printf("===================================================\n");
for(i=0;i<N;i++)
printf(" %-8s %-2s %2d %d %3.1f %d.%d.%d\n",ch[i].name,ch[i].sex,ch[i].age,ch[i].height,ch[i].weight,ch[i].bdate.year,ch[i].bdate.month,ch[i].bdate.day);
}
void main()
{
input();
sort();
output();
}
E. 简单的C语言120行左右代码
注释部分你可以不要,这样算下来也就120左右了,给你不删掉的原因是你可以理解它的作用,如果可以请采纳!!
#include<stdio.h>
#include<stdlib.h>
typedefstructListNode
{//单链表存储结构
intdata;//数据域
structListNode*next;//指针域
}LNode,*pNode;//LNode等价于structListNode
//pNode等价于structListNode*
/*--------------------创建链表-----------------------*/
pNodeCreateList()
{
pNodehead,p,q;//head为头结点,p为新结点,q连接所有的结点
head=q=(pNode)malloc(sizeof(LNode));//为头结点申请空间
head->next=NULL;//头结点的数据域为空,它的数据域一般没实际意义
intx;
printf("请输入数据,以0结束 ");
scanf("%d",&x);
while(x!=0)
{
p=(pNode)malloc(sizeof(LNode));//满足条件申请空间生成新的结点
p->data=x;//x的值赋值给新结点
p->next=NULL;//x的下一个结点未知,置空
q->next=p;//q连接下一个结点p
q=p;//q后移到新结点,准备连接下一个新的结点
scanf("%d",&x);
}
returnhead;//返回头结点
}
/*------------------输出链表---------------------*/
voidPrintList(pNodepHead)
{
pNodenode=pHead->next;//定义一个结点保存头结点的下一个结点
if(NULL==node)//判断链表是否为空
{
printf("链表为空 ");
}
while(node!=NULL)//输出链表的数据域
{
printf("%-3d",node->data);
node=node->next;//输出一个结点node后移,准备输出下一个结点
}
printf(" ");
}
/*-------------------链表的长度-------------------*/
intLenthlist(pNodepHead)
{
pNodenode=pHead->next;//定义一个结点保存头结点的下一个结点
intlen=0;//len计算表长
if(NULL==node)//判断链表是否为空
{
printf("链表长度为0 ");
returnlen;
}
while(node!=NULL)
{
++len;//结点存在,len自加
node=node->next;//输出一个结点node后移
}
returnlen;
}
/*------------------查询数据-----------------*/
intFindVal(pNodepHead,intval)//说明:查到了就返回1,并没有说明查到数据的位置
{
pNodenode=pHead->next;
while(node!=NULL)
{
if(val==node->data)
return1;//数据存在返回1
node=node->next;
}
return0;//数据不存在返回0
}
/*-------------------位置查询-------------------*/
intFindpos(pNodepHead,intposnode,int*val)
{
intlen=Lenthlist(pHead);//先求表长,判断查询的位置是否合法
pNodenode=pHead->next;
ints=0;//计算第几个结点
if(posnode<1&&posnode>len)//查询位置不合法返回0
return0;
else
{
while(node!=NULL)
{
s++;
if(s==posnode)//查询位置
{
*val=node->data;//位置合法,所对应的的数据通过指针返回给主函数
break;
}
node=node->next;
}
}
return1;
}
/*------------------按位置删除结点-----------------*/
pNodeDeletNode(pNodepHead,intpos)
{
pNodenode=pHead;//保存头结点
intlen=Lenthlist(pHead)+1;//头结点也算入链表长
ints=0;
if(pos<1||pos>=len)//删除的结点的位置不合法
{
printf("你要删除的位置不存在 ");
returnpHead;
}
else
{
s++;
while(node->next!=NULL&&s<pos)//先找到要删除结点前面的那一个结点
{
node=node->next;
s++;
}
pNodeq=node->next;//保存删除的结点
node->next=q->next;//删除结点的前一个结点链接删除结点的下一个结点
free(q);//释放删除结点的空间
returnpHead;
}
}
/*----------------插入结点-----------------*/
pNodeInsertNode(pNodepHead,intinserval,intpos)
{
pNodenode=pHead;
intlen=Lenthlist(pHead)+1;//加上了头结点的链表的长度
ints=0;
if(pos<1||pos>len)//判断插入的位置是否合法
{
printf("你要插入的位置不合法 ");
returnpHead;
}
while(node!=NULL&&s<pos-1)//找到插入结点的前一个位置
{//这也就是为什么要把头结点算入链表的长度
node=node->next;
s++;
}
pNodenewnode=(pNode)malloc(sizeof(LNode));//申请一个结点的空间
newnode->data=inserval;//把插入的数据赋值给新结点的数据域
newnode->next=node->next; //新结点的指针域指向插入位置的结点
node->next=newnode;//插入位置的前一个结点的指针域指向新结点
returnpHead;//返回头结点
}
/*-----------------链表的逆置------------------*/
pNodeReverseList(pNodephead)
{
pNodeq,p=phead->next;
phead->next=NULL;
while(p!=NULL)
{
q=p->next;
p->next=phead->next;
phead->next=p;
p=q;
}
returnphead;
}
/*------------------销毁链表-----------------*/
pNodeDeleteList(pNodephead)
{
pNodeq,p=phead;
while(p!=NULL)
{
q=p;
p=p->next;
free(q);
}
returnphead;
}
intmain()
{
pNodeHeadNode;//头结点
intlength=0;//链表长度
intvalnode=0;//查询的数据
intvalfinal=0;//查询数据后的结果
intposnode=0;//位置查询
intposfinal=0; //位置查询后的结果
intposval=0;//位置查询到的数据
intdelpos=0;//删除结点的位置
intinval=0;//插入的数据
intinpos=0;//插入的位置
HeadNode=CreateList();//创建链表后的头结点
length=Lenthlist(HeadNode);//统计链表结点
/*--------------输出链表的长度----------------*/
// printf("链表长度为:%d ",length);//输出表长
// PrintList(HeadNode);//输出链表
/*-----------------查询数据-------------------*/
/* printf("请输入你要查找的数据 ");
scanf("%d",&valnode);
valfinal=FindVal(HeadNode,valnode);
if(valfinal==1)
printf("你要查找的数据存在 ");
else
printf("你要查找的数据不存在 ");
*/
/*-----------------位置查询-------------------*/
/* printf("请输入你要查询第几个结点:");
scanf("%d",&posnode);
posfinal=Findpos(HeadNode,posnode,&posval);
if(posfinal==0)
printf("你要查询的位置不合法 ");
else
printf("第%d个结点的数据为:%d ",posnode,posval);
*/
/*------------------删除结点-----------------*/
/* printf("请输入要删除结点的位置: ");
scanf("%d",&delpos);
HeadNode=DeletNode(HeadNode,delpos);
printf("删除结点后的链表: ");
PrintList(HeadNode);
*/
/*------------------插入结点-----------------*/
/* printf("请输入要插入的数据:");
scanf("%d",&inval);
printf("请输入要插入的位置:");
scanf("%d",&inpos);
HeadNode=InsertNode(HeadNode,inval,inpos);
PrintList(HeadNode);
*/
/*-----------------链表的逆置------------------*/
/* HeadNode=ReverseList(HeadNode);
PrintList(HeadNode);*/
/*------------------销毁链表-----------------*/
HeadNode=DeleteList(HeadNode);
if(HeadNode)
printf("链表空!");
return0;
}
F. c语言学生成绩管理系统1000行源代码
/*首次使用,新建score.in文件,在里面打入0
可用程序
#include<stdio.h>
FILE *fin
main()
{
fin=fopen("score.in","r");
fprintf(fin,"0");
return 0;
}
完成
*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
#include<time.h>
#define n 999
FILE *fin;
main()
{
int a[n]={0},ori=0,i=0,b=0,add[n]={0},con=0,orix[n]={0},t=0,te[n]={0},TRUEt,ixi,fx,abc=0,sum,TURE,xx;
long long f[n]={0},tex[n]={0};
printf("\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t学生成绩管理系统\n\t\t\t\t\t\t Please wait...");
Sleep(2000);system("cls");
int xp,xi;
fin=fopen("score.in","r+");
fscanf(fin,"%d",&xp);
i=xp;
for(xi=1;xi<=xp;xi++)
{fscanf(fin,"%d%d%d",&f[xi],&a[xi],&te[xi]);te[xi]--;
printf("Id:%lld score:%d ranking:%d\n",f[xi],a[xi],te[xi]+1);
add[xi]=xi;orix[xi]=a[xi];
}
fclose(fin);
int TRUE1;
pe:
while(1)
{ TRUE1=1;i++;
printf("Id(输入-1:删除,输入-2:修改成绩,输入-3:删除所有内容,输入-4:保存到score.in并退出):");
scanf("%lld",&f[i]);
for(sum=1;sum<i;sum++)
if(f[sum]==f[i])
{system("cls");for(con=1;con<=i;con++) {if(a[con]==0)continue;printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);}TRUE1=0;i--;printf("Error with two same id.\n");continue;}
if(TRUE1==0)
continue;
if(f[i]==-3)
{int r;
for(r=0;r<n;r++)
{
a[r]=0;ori=0;i=0;b=0;add[r]=0;con=0;orix[r]=0;t=0;te[r]=0;abc=0;
f[r]=0;tex[r]=0;
}
system("cls");
goto pe;
}
if(f[i]==-2)
{TURE=0;i--;
system("cls");
for(con=1;con<=i;con++)
{if(a[con]==0)continue; printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);}
printf("修改学号_____________号的分数.\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b",f[con],a[con],te[con]+1);
scanf("%d",&xx);
for(sum=1;sum<=i;sum++)
if(f[sum]==xx)
{
TURE=1;
printf("\n修改为___________.\b\b\b\b\b\b\b\b\b\b\b\b");
scanf("%d",&a[sum]);
printf("\n修改成功!将在下一次输入后更新名次。\n\n");
continue;
}
if(TURE==0)
printf("No id is %d\n",xx);
continue;
}
if(f[i]==-4)
{
i--;
fin=fopen("score.in","r+");
fprintf(fin,"%d\n",i);
for(xi=1;xi<=i;xi++)fprintf(fin,"%d %d %d\n",f[xi],a[xi],te[xi]+1);
for(xi=i+1;xi<=xp;xi++)fprintf(fin," \n");
fclose(fin);
return 0;
}
if(f[i]==-1)
{TRUEt=0;
system("cls");
i--;
for(con=1;con<=i;con++){if(a[con]==0)continue;printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);}
printf("删除学号_____________号.\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
scanf("%lld",&fx);
for(con=1;con<=i;con++)
if(f[con]==fx)
{TRUEt=1;abc++;
f[con]=0;
a[con]=0;
tex[abc]=te[con];
for(ixi=1;ixi<=i;ixi++)
if(te[ixi]>te[con])
te[ixi]--;
te[con]=0;
break;}
system("cls");
for(con=1;con<=i;con++){
if(a[con]==0)continue;
printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);}
if(TRUE==0)
printf("No Id is %lld\n",fx);
continue;
}
system("cls");
for(con=1;con<i;con++)
{if(a[con]==0)continue; printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);}
printf("Id:%lld score:",f[i]);
scanf("%d",&ori);system("cls");
a[i]=ori;add[i]=i;orix[i]=a[i];
system("cls");
for(b=1;b<=i;b++)
for(con=i;con>=b;con--)
if(orix[con]>orix[con-1])
{t=orix[con];orix[con]=orix[con-1];orix[con-1]=t;
t=add[con];add[con]=add[con-1];add[con-1]=t;}
for(con=1;con<=i;con++) te[add[con]]=con;
for(con=1;con<=abc;con++)
for(ixi=1;ixi<=i;ixi++)
if(te[ixi]>tex[con])
te[ixi]--;
if(te[i]==te[i-1])te[i]=0;
for(con=1;con<=i;con++)
{if(a[con]==0)continue;printf("Id:%lld score:%d ranking:%d\n",f[con],a[con],te[con]+1);}
}
return 0;
}
//求采纳
G. c语言2000行代码求助
思路:定义一个判断素数的函数,接着依次从1000到2000遍历判断,如果是则输出,每输出是8次输出换行。参考代码:#include int isp(int n){//判断一个数是否是素数 int i; for(i=2;i
H. 有什么比较简单的C语言项目,代码在一千行左右的
学生管理系统,**管理系统,C语言实现的小游戏等。
I. 写一个程序,统计自己C语言共写了多少行代码
思路:1:system(调用系统函数 生成你所有的.c 文件(包含路径的文件名称))
2:API :FindFirstFile/FindNextFile/FindCurrentDirctory(不推荐,要玩的话自己网络)
过程:利用cmd指令 将所有的.c和.cpp路径 定向传输到一个txt里,循环读取路径并进行分析(多少个\n就有多少行)。
包括的 头文件:stdio.h/stdlib.h/string.h
贴个程序,有些啰嗦,慢慢看:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
FILE *fp1,*fp2; //文件指针
char s[1000],path[1000];
char c; //字符
long long unsigned n; //行数
int c1,c2; //辅助进度条
printf("请输入根目录:");
scanf("%s", path) ;
//字符处理成:for /r 路径 %i in (*.c, *.cpp) do @echo %i >> a.txt
strcpy(s,"for /r ");
strcat(s,path);
strcat(s," %i in (*.c,*.cpp) do @echo %i>>a.txt");
//调用控制台指令
system(s);
fp1 = fopen("a.txt", "r"); //打开a.txt文件
c1 = 0;
while(fscanf(fp1,"%c",&c)!=EOF){
if(c == '\n')
c1++; //统计共有多少个程序 辅助进度条
}
n = 0;
c2 = 0;
for(int i = 0;i < 100 ; i++) printf(" ");
printf(">---|\r"); //进度条~_~
rewind(fp1); //重置指针到文件头
while(fscanf(fp1,"%s", path)!= EOF){
fp2= fopen(path,"r");
c2++;
if(c2 > c1/100){
c2 = 0;
printf(">");
}
while(fscanf(fp2,"%c", &c)!=EOF){
if(c=='\n') n++;
}
fclose(fp2);
}
fclose(fp1);
printf("\n");
printf("总计%llu行代码、%d个程序,平均每个程序:%d行", n, c1, n/c1);
system("pause");
system("del a.txt");
return 0;
}
加了一个低端进度条(文件数<100,会出现奇妙的BUG,原因自己看吧)输入根目录的时候最好后面再加一个‘/’
J. c语言写几千行代码干什么
一个软件我们想要足够的智能,足够的快,功能足够的强大,所处理的事情更多,所能为人们减轻的劳动越来越多,这就需要足够多的组件,足够多的判断,程序也就足够多大,语句也就足够的长了。