當前位置:首頁 » 編程語言 » c語言1200行代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言1200行代碼

發布時間: 2022-05-29 05:51:16

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語言寫幾千行代碼干什麼

一個軟體我們想要足夠的智能,足夠的快,功能足夠的強大,所處理的事情更多,所能為人們減輕的勞動越來越多,這就需要足夠多的組件,足夠多的判斷,程序也就足夠多大,語句也就足夠的長了。