十年網站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網站問題一站解決
第一個void save();是這個函數(shù)的聲明,就是告訴系統(tǒng):在下面的主函數(shù)main(){}里面,save()函數(shù)可以被調用,實現(xiàn)save()函數(shù)可以實現(xiàn)的功能;而下面那個save()就是在main()函數(shù)里面,調用save()函數(shù),實現(xiàn)它的功能。這樣的作用可以把實現(xiàn)各種功能的函數(shù)模塊化,方便使用。

龍山網站建設公司成都創(chuàng)新互聯(lián)公司,龍山網站設計制作,有大型網站制作公司豐富經驗。已為龍山成百上千家提供企業(yè)網站建設服務。企業(yè)網站搭建\外貿營銷網站建設要多少錢,請找那個售后服務好的龍山做網站的公司定做!
可換成
void save()
{
char name[10];
FILE *fp;
int i;
scanf("%s",name)
if((fp=fopen(name,"wb"))==NULL)
{printf("cannot open file\n");
return;}
for(i=0;iMAX;i++)
if(fwrite(user[i],sizeof(struct diary_type),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
相關概念:
文件: 按一定規(guī)則存儲在磁盤上的數(shù)據集合。
文件名: 能唯一標識某個磁盤文件的字符串。形式: 盤符:/ 路徑 / 文件名.擴展名
文本文件:: 數(shù)據以其數(shù)字字符的ASCII碼形式、一個字節(jié)一個字節(jié)地存儲在磁盤上。
二進制文件:數(shù)據以二進制形式在存儲在磁盤上。
設備文件:輸入/輸出設備
標準輸入文件:鍵盤
標準輸出文件/標準錯誤輸出文件:顯示器
文件型指針:C語言是通過名為FILE的結構型指針來管理文件讀寫的。FILE *變量名
文件的打開和關閉 :文件操作先建立文件與文件指針之間的關系,接著進行文件的讀與寫。建立文件與文件指針之間的聯(lián)系的過程是文件的打開。終止這種聯(lián)系就是文件的關閉
char ch;
ch = getchar () 功能等價于 ch = fgetc(stdin) 功能等價于 scanf("%c",ch) 功能等價于 fscanf(stdin, "%c",ch)
putchar(ch) 功能等價于 printf("%c",ch) 功能等價于 fputc(stdout) 功能等價于 fprintf(stdout, "%c", ch)
#includestdio.h
void sort(float *a, int n){
int i,j;
float t;
for (i=0;in-1;i++)
for (j=i+1;jn;j++)
if (a[j]a[i]) {t=a[i];a[i]=a[j];a[j]=t;};
}
void insert(float *a,float x,int n)
{
int i,m;
if (x=a[n-1]){a[n]=x;}
else if (x=a[0]){
for (i=n;i0; i--) a[i]=a[i-1]; a[0]=x;
} else {
for (i=0;in-1;i++) if (x=a[i] x=a[i+1]){ m=i;break;};
for (i=n-1;im;i--) a[i+1]=a[i];a[m+1]=x;
};
}
int find(float *a,float y,int n){
int flag= -99,i;
for (i=0;in;i++) if (a[i]==y){flag=i; break;};
return flag; //找到則返回下標號,沒找到為負值
}
void save(float *a, int n){
FILE *fp;
int i;
fp=fopen("student_score.txt","w");
for (i=0;in;i++) fprintf(fp,"%g\n",a[i]);
fclose(fp);
printf("saved in student_score.txt\n");
}
int main() {
float s[101],x,y;
int i,n,fd;
printf("input n: "); scanf("%d",n);
printf("\ninput %d scores: ",n);
for (i=0;in;i++) scanf("%f",s[i]);
printf("\ninput one extra score x: ");
scanf("%f",x);
sort(s,n);
insert(s,x,n);
printf("input score y which you want to find:\n");
scanf("%f",y);
fd=find(s,y,n+1);
if ( fd 0 ) printf("Not find\n"); else printf("find at %d\n",fd);
save(s,n+1);
//for (i=0;in+1;i++) printf("%g\n",s[i]);
return 0;
}