當前位置:首頁 » 編程語言 » 長的c語言程序

長的c語言程序

發布時間: 2022-08-05 19:26:31

⑴ 一個挺長的關於鏈表的c語言程序。好回答還加分!

2stu*create()create是帶回一個指針的函數,該指針指向STU數據

stu(*create)()create是指向函數的指針,該函數返回一個STU值

判斷是返回是什麼型的值就看return後面跟了什麼型的變數,才決定函數的類型。

3一個節點包括數據域和指針域,鏈表的數據結構,必須利用指針變數才能實現。只要

保證降下一個節點的地址放到前一個節點的成員link中即可。從這也可以看出鏈表與數組存取數據

的不同。這里是很靈活的,指針要在實際的數據結構中才能真正的體現出強大,這也是C語言的精華所在,難學的地方。

4這個可能是編譯器的問題,不是有錯。像在TC中編譯只發現#include<malloc.h>錯誤,並沒有你說的錯誤,刪掉就正確,可能是TC不支持這個庫函數。我查了下書,ANSI標准建議在"stdlib.h"頭文件中包含有關信息,但許多C編譯要求用"malloc.h"而不是"stdlib.h"。這個要多上機去調試。

⑵ C語言編譯任意長的整數加法程序,求大神!!

vs2008測試通過,請採納
#include <windows.h>
#include <stdio.h>
#define N 20

void addmain(char s1[N],char s2[N],int sResult[N]);

void main()
{
int sResult[N+1];
int x;
char s1[N],s2[N];
printf("請選擇運算類型,加輸入1,減輸入2:");
scanf("%d",&x);
switch(x)
{
case 1:
printf("你選擇了加法,請輸入兩個整數:");
scanf("%s%s",s1,s2);
printf("\n%s + %s",s1,s2);
addmain(s1,s2,sResult);
break;
case 2:
printf("你選擇了減法");
break;
default:
printf("error");
}
}

void addmain(char s1[N],char s2[N],int sResult[N+1])
{
int sa[N],sb[N];
int i,x;
int *p3;
char *p1,*p2;
p1=s1;
p2=s2;
p3=sResult;
i=0;
*(p3+1)=0;
while(*(p1+i)!='\0' && *(p2+i)!='\0' && i<=(N+1))
{
x=*(p3+i+1)+(*(p1+i)-48)+(*(p2+i)-48);
if (x>9)
{
*(p3+i+1)=x-10;
*(p3+i+1+1)=1;
}
else
{
*(p3+i+1)=x;
*(p3+i+1+1)=0;
}
i++;
}
if (*(p1+i)=='\0')
{
while(*(p2+i)!='\0' && i<=(N+1))
{
x=*(p3+i+1)+(*(p2+i)-48);
if (x>9)
{
*(p3+i+1)=x-10;
*(p3+i+1+1)=1;
}
else
{
*(p3+i+1)=x;
*(p3+i+1+1)=0;
}
i++;
}
}
else
{
while(*(p1+i)!='\0' && i<=(N+1))
{
x=*(p3+i+1)+(*(p1+i)-48);
if (x>9)
{
*(p3+i+1)=x-10;
*(p3+i+1+1)=1;
}
else
{
*(p3+i+1)=x;
*(p3+i+1+1)=0;
}
i++;
}
}
*p3=i;
i=0;
printf("結果為:");
while(i<*p3)
{
printf("%d",*(p3+*p3-i));
i++;
}
}

⑶ 求C語言編程很長的程序100多行的

C語言寫的21點程序!
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NULL 0
int compare(char sum1,char sum2)
{
if(sum1>=sum2)
return 1;
else
return 0;

}
int breakal(int sum)
{
if(sum>21)
return 0;
else
return 1;
}
char change(int card)
{
char ch,n,m,x;
switch(card)
{
case 1: ch='A';
break;
case 10:
{
n=1+int(rand()/(RAND_MAX+1.0));
if(n==1)
ch='K';
else
{
m=1+int(rand()/(RAND_MAX+1.0));
if(m==1)
ch='Q';
else
{
x=1+int(rand()/(RAND_MAX+1.0));
if(x==1)
ch='J';
}
}
break;
}
} //以上switch語句用於將數字轉換成字元
return ch;
}
void game()
{
int i,k,n;
char host_ch,player_ch,host_card[15],player_card[15];
int host_sum=0,player_sum=0;
srand(time(NULL));
for(i=0;i<2;i++)
{
int (10.0*rand()/(RAND_MAX+1.0));
player_card[i]=1+int (10.0*rand()/(RAND_MAX+1.0));
player_ch=change(player_card[i]);
if(player_card[i]>1 && player_card[i]<10) //輸出玩家抽到的牌的點數
printf("您抽到的第%d張牌是%d\n",i+1,player_card[i]);
else if(player_card[i]==10)
printf("您要到的第%d張牌是%c\n",i+1,player_ch);
else
printf("您要到的第%d張牌是A\n",i+1);
if(player_ch=='A') //詢問判斷玩家的A的點值為1或11
{
printf(" 您有一張A,您想要A作1還是11?\n");
printf(" 1. 1\n" );
printf(" 2. 11\n");
if(scanf("%d",&n) && n==1)
player_card[i]=1;
else
player_card[i]=11;
}

host_card[i]=1+int (10.0*rand()/(RAND_MAX+1.0));
host_ch=change(host_card[i]);
if(host_ch=='A') //電腦自動判斷莊家的A的點值為1或11
{
k=1+int(rand()/(RAND_MAX+1.0));
if(k==1)
host_card[i]=11;
else
host_card[i]=1;
}

player_sum+=player_card[i]; //分別對莊家和玩家的點數求和
host_sum+=host_card[i];
}
printf("您現在的總面值為%d\n",player_sum);//輸出玩家的總面值
for(i=2;i<5;i++)
{
if(host_sum<18 && host_sum>0)//電腦自動判斷莊家是否要牌
{
host_card[i]=1+int (10.0*rand()/(RAND_MAX+1.0));
host_ch=change(host_card[i]);
if(host_ch=='A') //電腦自動判斷莊家的A的點值為1或11
{
k=1+int(rand()/(RAND_MAX+1.0));
if(k==1)
host_card[i]=11;
else
host_card[i]=1;
}
host_sum+=host_card[i];
}
printf("您還要繼續要牌嗎?\n");
printf(" 1.要\n");
printf(" 2.不要\n");
scanf("%d",&k);
if(k==1)
{
{
player_card[i]=1+int (10.0*rand()/(RAND_MAX+1.0));
player_ch=change(player_card[i]);
if(player_ch=='A') //詢問判斷玩家的A的點值為1或11
{
printf("您有一張A,您想要A作1還是11?\n");
printf(" 1. 1\n" );
printf(" 2. 11\n");
if(scanf("%d",&n) && n==1)
player_card[i]=1;
else
player_card[i]=11;
printf("您要到的第%d張牌是A\n",i+1);
}
else
printf("您要到的第%d張牌是%d\n",i+1,player_card[i]);
player_sum+=player_card[i];
if(i==4)
printf("您手中已有5張牌,一決勝負的時刻到啦!\n");
if(breakal(host_sum)==0)
{
if(breakal(player_sum)==0)
{
printf("莊家爆牌了,您也爆牌了!莊家的牌面值是%d,您的牌面值是%d\n",host_sum,player_sum);
printf("\nYou lose..\n");
break;
}
}
else
if(breakal(player_sum)==0)
{
printf("您爆牌了!您的牌面值是%d\n \nYou lose..\n",player_sum);
break;
}
}
if(breakal(host_sum)==0)
{
printf("莊家爆牌了!莊家的牌面值是%d\n",host_sum);
printf("\nCongratulations! YOu win!\n");
break;
}
}
else
{
printf("莊家的牌面值是%d,您的牌面值是%d\n",host_sum,player_sum);
if(compare(host_sum,player_sum)==1)
printf("\nYou lose..\n");
else
printf("\nCongratulations! You win!\n");
break;
}

}
}
int main()
{
kaishi:
int n;
printf(" 歡迎進入21點游戲!\n");
printf(" ************************************\n");
printf(" 1.開始游戲\n");
printf(" 2.退出遊戲\n");
printf(" ************************************\n");
if(scanf("%d",&n)&&n==1)
game();
else if(n==2)
{
printf(" ******************************\n");
printf(" 游戲結束!祝您愉快!\n");
printf("\n\n");
printf(" 再見!\n");
printf(" ******************************\n");
return 0;
}
goto kaishi;
}

⑷ 求一個很長的C語言程序

這里的代碼很長
https://github.com/torvalds/linux/tree/master/kernel

⑸ 經典C語言程序例子

題目01:在一個已知的字元串中查找最長單詞,假定字元串中只含字母和空格,空格用來分隔不同的單詞。

(5)長的c語言程序擴展閱讀:

C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

⑹ C語言程序設計\長整數

我編給你,只有一個函數,主程序自己想.
void chen (int a[],int b,int s[]) //a[]代表長整數, s[]是結果,下同
{
int i,y,c=0;
for (i=N-1;i>=M;i--) //N表示數組a的上限,M表示數組a的下限
{
y=a[i]*b+c; //第i位乘普通整數
c=y/10; //c用來控制進位
s[i]=y%10 //不用說了,存結果
}
}

你用手模擬一下好了,你會發現這個過程與用手筆算差不多.
除也一樣(不給注釋了,太煩了,浪費時間):
void chu (int a[],int b,int s[])
{
int i,y,c=0;
for (i=M;i<N;i++)
{
y=c*10+a[i];
c=y%b;
s[i]=y/b;
}
}

這其實是一種手算模擬,我想你小學1~2年級你應該讀過,就是把那個過程變成計算機的運行過程.

要其他長整數的做法,+QQ278370456 我有時間的話我幫你做

⑺ 求一個稍微長一點的c語言程序。大概一百行左右,太常見的就不要了,老師說他看過很多程序。

#include <string.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include <Windows.h>
#define SIZE 6
#define N 3
#define WM 3
void bsxm();
void csxy();
void Information();
int main();
void menu();
void printf_back();
void saveathlete();
void saveprogram();
void saveschool();
void savescore();
void Search();
void ttzf() ;
int i;
FILE *fp1,*fp2,*fp3,*fp4;
struct athlete //定義運動員信息
{
char univ[5];
char name[8];
char prog[15];
int mingci[15];
int score;
}at[SIZE];
struct xueyuan //定義學院信息
{
char univ[5];
char prog[15];
int num_athlete;
}xy[N];
struct program //定義項目信息
{
int quming;
char prog[5];
char ath1[5];
char ath2[5];
char univ1[5];
char univ2[5];
}pro[WM];
struct zongfen //定義學院得分信息
{
char univ[5];
char prog1[5];
char prog2[5];
char prog3[5];
int score1;
int score2;
int score3;
int total_score;
}zf[N];
void Information()
{
int n,w ;
do {
puts("\n\n\n");
puts("\t\t-------------- 信息錄入 --------------\n");
puts("\t\t*************************MENU*************************\n");
puts("\t\t--------- 1.運動員 ----------\n");
puts("\t\t-------- 2.參賽學院 ----------\n");
puts("\t\t-------- 3.比賽項目 ----------\n");
puts("\t\t-------- 4.退出 ----------\n");
puts("\t\t******************************************************\n");
printf("請輸入序號(1-4)進行操作:[ ]\b\b");
scanf("%d",&n);
if (n<1||n>4)
{
w=1;
getchar();
}
else w=0;
}
while (w==1);
switch(n)
{
case 1 : saveathlete(); break; // 保存運動員信息子函數
case 2 : saveschool(); break; //保存學院信息子函數
case 3 : saveprogram();break; //保存項目比賽信息子函數
case 4 : exit(0);
}
}
void saveathlete() //保存運動員信息子函數
{
printf("請輸入各項目獲獎運動員的信息:\n");
for(i=0;i<SIZE;i++)
{
printf("請輸入第%d個運動員的信息:\n",i+1);
printf("姓名:");
scanf("%s",at[i].name);

printf("學院:");
scanf("%s",at[i].univ);
printf("參賽項目:");
scanf("%s",at[i].prog);
printf("名次:");
scanf("%d",&at[i].mingci);
printf("得分:");
scanf("%d",&at[i].score);

}
fp1=fopen("ath","w");
for(i=0;i<SIZE;i++)
{
if(fwrite(&at[i],sizeof(struct athlete),1,fp1)!=1)
printf("File write error!\n");
}
fclose(fp1);
fp1=fopen("ath","r");
if(fp1 == NULL)
{
printf("[saveathlete]文件打開失敗!錯誤碼:%d\n", GetLastError());
exit(0);
}
printf("\n現在各運動員的信息如下:\n\n");
printf("姓名 性別 學院 項目 名次 得分\n");
for(i=0;i<SIZE;i++)
{
fread(&at[i],sizeof(struct athlete),1,fp1);
printf("%-10s%-10s%-10s%-10s%-10s%d\n",at[i].name,at[i].univ,at[i].prog,at[i].mingci,at[i].score);
}
fclose(fp1);
printf_back();
}
void saveschool() //保存學院信息子函數
{
printf("\n請輸入各參賽學院的信息:\n");
for(i=0;i<N;i++)
{
printf("\n請輸入第%d個學校的信息:\n",i+1);
printf("學院:");
scanf("%s",xy[i].univ);
printf("參賽的項目:");
scanf("%s",xy[i].prog);
printf("參賽人數:");
scanf("%d",&xy[i].num_athlete);
}
fp2=fopen("xyuan","w");
if(fp2 == NULL)
{
printf("[saveschool]文件打開失敗!錯誤碼:%d\n", GetLastError());
exit(0);
}
for(i=0;i<N;i++)
{
if(fwrite(&xy[i],sizeof(struct xueyuan),1,fp2)!=1)
printf("File write error!\n");
}
fclose(fp2);
printf_back();
}
void saveprogram() //保存項目比賽信息子函數
{
printf("\n請輸入關於比賽項目的信息:");
for(i=0;i<WM;i++)
{
printf("\n請輸入第%d項比賽的信息:\n",i+1);
printf("項目:");
scanf("%s",pro[i].prog);
printf("取分情況:");
scanf("%d",&pro[i].quming);
printf("參賽者1:");
scanf("%s",pro[i].ath1);
printf("所屬學院:");
scanf("%s",pro[i].univ1);
printf("參賽者2:");
scanf("%s",pro[i].ath2);
printf("所屬學院:");
scanf("%s",pro[i].univ2);
}
fp3=fopen("pr","w");
if(fp3 == NULL)
{
printf("[saveprogram]文件打開失敗!錯誤碼:%d\n", GetLastError());
exit(0);
}
for(i=0;i<N;i++)
{
if(fwrite(&pro[i],sizeof(struct program),1,fp3)!=1)
printf("File write error!\n");
}
fclose(fp3);
printf_back();
}
void savescore() //保存學院得分情況子函數
{
printf("N-參賽院系總數,M-男子競賽項目數,W-女子競賽項目數。\n");
printf("W.100-女子一百米比賽,M.100-男子一百米。\n");
printf("W.200-女子兩百米比賽,M.200-男子兩百米。\n");
printf("取前三名:第一名7分 第二名5分 第三名3分 第四名2分 第五名1分 \n");

printf("請輸入各學院的得分情況:\n");
for(i=0;i<N;i++)
{
printf("\n請輸入第%d個學院的得分情況:\n",i+1);
printf("學院:");
scanf("%s",zf[i].univ);

printf("參賽項目1:");
scanf("%s",zf[i].prog1);
printf("得分:");
scanf("%d",&zf[i].score1);
printf("參賽項目2:");
scanf("%s",zf[i].prog2);
printf("得分:");
scanf("%d",&zf[i].score2);
printf("參賽項目3:");
scanf("%s",zf[i].prog3);
printf("得分:");
scanf("%d",&zf[i].score3);
zf[i].total_score=zf[i].score1+zf[i].score2+zf[i].score3;
}
fp4=fopen("zfen","w");
if(fp4 == NULL)
{
printf("[savescore]文件打開失敗!\n");
exit(0);
}
for(i=0;i<N;i++)
{
if(fwrite(&zf[i],sizeof(struct zongfen),1,fp4)!=1)
printf("File write error!\n");
}
fclose(fp4);
printf_back();
}
void Search()
{

int n,w2;
do
{
puts("\t\t------------ 查看信息 ------------\n");
puts("\t\t*************************MENU*************************\n");
puts("\t\t------------ 1.團體總分 ------------\n"); //查看團體總分
puts("\t\t------------ 2.參賽學院 ------------\n"); //查看參賽學院信息!
puts("\t\t------------ 3.比賽項目 ------------\n"); //查看比賽項目信息!
puts("\t\t------------ 4.退出 -------------n"); //退出
puts("\t\t***************************************\n");
printf("請輸入序號(1-4)進行操作:[ ]\b\b");
scanf("%d",&n);
if (n<1||n>4)
{
w2=1;
getchar();
}
else w2=0;

}while (w2==1);
switch(n)
{ case 1: ttzf();break;
case 2: csxy();break;
case 3: bsxm();break;
case 4: exit(0);break;
default: printf("未進行任何操作!");
}

}

void ttzf() //查看學院團體總分子函數
{
fp4=fopen("zfen","r");
if(fp4 == NULL)
{
printf("[ttzf]文件打開失敗!\n");
exit(0);
}
printf("\n各學院的團體總分情況如下:\n\n");
printf("學院 參賽項目 總分\n");
for(i=0;i<N;i++)
{
fread(&zf[i],sizeof(struct zongfen),1,fp4);
printf("%-8s%s,%s,%-12s%-12d\n",zf[i].univ,zf[i].prog1,zf[i].prog2,zf[i].prog3,zf[i].total_score);
}
fclose(fp4);
printf_back();
}
void csxy() //查看參賽學院信息子函數
{
fp2=fopen("xyuan","r");
if(fp2 == NULL)
{
printf("[csxy]文件打開失敗!錯誤碼:%d\n", GetLastError());
exit(0);
}
printf("\n各參賽學院的情況如下:\n\n");
printf("學院 參賽項目 參賽者數\n");
for(i=0;i<N;i++)
{
fread(&xy[i],sizeof(struct xueyuan),1,fp2);
printf("%-8s%-20s%-12d\n",xy[i].univ,xy[i].prog,xy[i].num_athlete);
}
fclose(fp2);
printf_back();
}
void bsxm() //查看比賽項目子函數
{
fp3=fopen("pr","r");
if(fp3 == NULL)
{
printf("[bsxm]文件打開失敗!失敗錯誤碼:%d\n", GetLastError());
exit(0);
}
printf("\n各比賽項目的信息如下:\n\n");
printf("項目 取分情況 參賽者1 所屬學院 參賽者2 所屬學院\n");
for(i=0;i<N;i++)
{
fread(&pro[i],sizeof(struct program),1,fp3);
printf("%-12s%-10d%-10s%-12s%-10s%-12s\n",pro[i].prog,pro[i].quming,pro[i].ath1,pro[i].univ1,pro[i].ath2,pro[i].univ2);
}
fclose(fp3);
printf_back();
}
int main()
{
menu();
return 0;
}
void menu()
{
int n,w1;
do
{

puts("\t\t-------- 歡迎進入海經運動會管理系統 --------\n");
puts("\t\t*************************菜單*************************\n");
puts("\t\t---------- 1.信息錄入 --------------\n");
puts("\t\t---------- 2.比賽結果錄入 --------------\n");
puts("\t\t---------- 3.查詢信息 --------------\n");
puts("\t\t---------- 4.退出 --------------\n");
puts("\t\t******************************************************\n");
printf("請輸入序號(1-4)進行操作:[ ]\b\b");
scanf("%d",&n);
if (n<1||n>4)
{
w1=1;
getchar();
}
else w1=0;
}
while (w1==1);
switch(n)
{
case 1:Information();break; //輸入信息
case 2:savescore();break; //比賽結果錄入
case 3:Search();break; //查詢模塊
case 4:exit(0);
}
}
//公共函數
void printf_back()
{
int w;
printf("\n\n\t操作成功!\n\n");
printf("接下來您需要做什麼?\n\n\t1).結束[ ] \t2).菜單:[ ]\b\b");
scanf("%d",&w);
if(w==1)
exit(0);
else menu();
}

⑻ 求c語言程序設計高手,標題要很長很長很長~~~~

第一題:
/*1*/
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>

#define MAX_LENGTH 100

/* Output int array to file */
void output(int *s, FILE * fp)
{
int i;
for(i=0; s[i]; i++)
{
fprintf(fp,"%d ", s[i]);
}
fprintf(fp,"\n");
}

/* Sort int array from small to big */
void sort(int s[])
{
int i,j,t;
for(i=0; s[i]; i++)
{
for(j=i; s[j]; j++)
{
if( s[j] < s[i] )
{
t = s[i];
s[i] = s[j];
s[j] = t;
}
}
}
}

/* Delete plicate value in int array */
void deletesame(int s[])
{
int i,j,k,t,len = 0;

while(s[len])
{
len++;
}

for(i=0; i< len-1; i++)
{
for(j=i+1; j< len; j++)
{
if( s[i] == s[j] )
{
t = 0;
for( k = j+1; k < len; k++ )
{
if( s[j] == s[k] )
{
t++;
}
else
{
s[k-1-t] = s[k];
}
}
s[len-1-t] = '\0';
len = len - t - 1;
}
}
}
}

/* Get same value in two array, sort and delete same value */
void jiao(int s0[], int s1[], int d[])
{
int i,j, k = 0;
int len0 = 0;
int len1 = 0;

while(s0[len0])
{
len0++;
}

while(s1[len1])
{
len1++;
}

for( i=0; i<len0; i++ )
{
for( j=0; j<len1; j++ )
{
if( s0[i] == s1[j] )
{
d[k] = s0[i];
k++;
}
}
}
sort(d);
deletesame(d);
}

/* Get all value in two array, sort and delete same value */
void bing(int s0[], int s1[], int d[])
{
int i;
int len0 = 0;
int len1 = 0;

while(s0[len0])
{
len0++;
}

while(s1[len1])
{
len1++;
}

for( i=0; i<len0; i++ )
{
d[i] = s0[i];
}

for( i=len0; i<len1; i++ )
{
d[i] = s1[i];
}
sort(d);
deletesame(d);
}

int main(void)
{
FILE * fp;
char * sfilename1 = "data1.txt";
char * sfilename2 = "data2.txt";
char * dfilename1 = "jiao.txt";
char * dfilename2 = "bing.txt";
int s0[MAX_LENGTH],s1[MAX_LENGTH],d0[MAX_LENGTH],d1[MAX_LENGTH*2];
int num,i;

memset(s0, 0, sizeof(s0));
memset(s1, 0, sizeof(s0));
memset(d0, 0, sizeof(s0));
memset(d1, 0, sizeof(s0));

if( (fp = fopen(sfilename1,"rb")) == NULL )
{
printf("Can not open %s!\n",sfilename1);
exit(0);
}

/* Get data from data1.txt */
i = 0;
while(!feof(fp))
{
if( fscanf(fp, "%d", &num) != 0)
{
s0[i++] = num;
}
}
fclose(fp);
printf("data1.txt:\n");
output(s0,stdout);

if( (fp = fopen(sfilename2,"rb")) == NULL )
{
printf("Can not open %s!\n",sfilename2);
exit(0);
}

/* Get data from data2.txt */
i = 0;
while(!feof(fp))
{
if( fscanf(fp, "%d", &num) != 0)
{
s1[i++] = num;
}
}
fclose(fp);
printf("\ndata2.txt:\n");
output(s1,stdout);

/* Open/create jiao.txt and write data to it */
fp = fopen(dfilename1,"wb+");
printf("\nJiao:\n");
jiao(s0,s1,d0);
output( d0,stdout );
output( d0,fp );
fclose(fp);

/* Open/create bing.txt and write data to it */
fp = fopen(dfilename2, "wb+");
printf("\nBing:\n");
bing(s0,s1,d1);
output( d1,stdout );
output( d1,fp );
fclose(fp);

return 0;
}

第二題:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(void)
{
FILE *fp;
char * sfilename = "conf.txt";
char * dfilename = "rate.txt";
char chartable[] = "abcdefghijklmnopqrstuvwxyz";
int counttable[26] = {0};
int charcount = 0;
char c;
int i;

if( (fp = fopen(sfilename,"r")) == NULL)
{
printf("Can not open file %s!\n",sfilename);
exit(0);
}

while(!feof(fp))
{
c = tolower( fgetc(fp) );
if( (c >= 'a') && (c <= 'z') )
{
for(i=0; i< 26; i++)
{
if(c == chartable[i])
{
counttable[i]++;
}
}
charcount++;
}
}
fclose(fp);

if( (fp = fopen(dfilename, "w")) == NULL )
{
printf("Can not open file %s!\n", dfilename);
exit(0);
}
for(i=0; i<26; i++)
{
printf("%c %3.2f%%\n", chartable[i], ((float)counttable[i]*100/charcount) );
fprintf(fp,"%c %3.2f%%\n", chartable[i], ((float)counttable[i]*100/charcount) );
}
fclose(fp);
return 0;
}

熱點內容
歐文5的配置是什麼 發布:2025-01-22 21:30:23 瀏覽:107
日誌存儲資料庫 發布:2025-01-22 21:30:07 瀏覽:473
gulp上傳cdn 發布:2025-01-22 21:27:34 瀏覽:202
emule文件夾 發布:2025-01-22 21:23:23 瀏覽:980
s7e什麼時候推送安卓7 發布:2025-01-22 21:20:59 瀏覽:202
狐狸的清白腳本分析 發布:2025-01-22 21:19:59 瀏覽:181
如何破解仿射密碼 發布:2025-01-22 21:13:53 瀏覽:80
百度視頻存儲 發布:2025-01-22 21:13:11 瀏覽:167
發吧傳媒源碼 發布:2025-01-22 21:07:52 瀏覽:952
shell腳本調用sql腳本 發布:2025-01-22 20:53:51 瀏覽:427