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

lbpC語言

發布時間: 2023-04-18 00:21:11

A. C語言中如何將一維數組的內容寫入文件

主要原因是 if((fp=fopen("成績.txt","w+"))=NULL)這句

= 要改為==

=意味著 把 NULL賦值為fp因此 fp則永遠為空了

改過的代碼如下:(我添加的部分有注釋)

#include<stdio.h>
#include<stdlib.h>
intmain()
{
FILE*fp;
intnum[100];
intscore[100];
inti=0;//i值不變
intj=0,k=0;//用來控制循環
inta=0,b=0,c=0,l=0;
intmax=0;//用來計算最大值
lap:printf("請輸入學生數目: ");
scanf("%d",&i);
j=i;//用來保留i的值
for(k=0;k<神稿j;k++)
{
printf("請輸入第%d個學生的學號和分數,中間用空格隔開: ",l+k+1);
scanf("%d%d",&num[l+k],&score[l+k]);
}
l團襲=l+i;//計數器
i=0;
printf("輸入完成!請選擇您需要的功能: ");
lbp:printf("1.求出最高成績及其擁有者: ");
printf("2.增加新的成績: ");
printf("3.退出 ");
printf("4.保存到文件成績.txt ");
loop:scanf("%d",&k);
switch(k)
{
case1:for(k=0;k<l;k++)
{
if(max<score[k])
{
max=score[k];

}

}
printf("最高分為%d ",max);
for(k=0;k<l;k++)
{
if(max==score[k])
塌瞎兄{
printf("最高分的同學的學號是:%d ",num[k]);

}

}
printf("請問您是否還需要繼續計算么? 1.Yes 2.No");
scanf("%d",&a);
if(a==1)
gotolbp;
;break;
case2:gotolap;break;
case3:break;
case4:if((fp=fopen("成績.txt","w+"))==NULL)//1.回答者把=改為==
{
printf("文件打開失敗! ");
}
for(k=0;k<l;k++)
{
fprintf(fp,"%d%d",num[k],score[k]);//2.回答者加了一個空格
}
printf("文件保存成功! ");//3.回答者加
break;//4.回答者加
default:printf("輸入錯誤,請重新輸入: ");
gotoloop;break;
}

getchar();//5.回答者加
getchar();//6.回答者加

}

運行結果:


望採納~

B. 已知順序表la和lb中的元素依值非遞減有序排列

void MergeList(LinkList La,LinkList Lb,LinkList *Lc)
{ /洞御* 已知線性表La和Lb中的數據元素按值非遞減排列。 */
/* 歸並La和Lb得到新的線性表Lc,Lc的數據元素也按值非遞減排列 */
int i=1,j=1,k=0;
int La_len,Lb_len;
ElemType ai,bj;
InitList(Lc); /* 創建空表Lc */
La_len=ListLength(La);
Lb_len=ListLength(Lb);
while(i<=La_len&&j<=Lb_len) /* 表La和表Lb均非空 */
{
GetElem(La,i,&ai);
GetElem(Lb,j,&bj);
if(ai<納喚岩=bj)
{
ListInsert(*Lc,++k,ai);
++i;
}
else
{
ListInsert(*Lc,++k,bj);
++j;
}
}
while(i<=La_len) /* 表La非空且表Lb空 */
{
GetElem(La,i++,&ai);
ListInsert(*Lc,++k,ai);
}
while(j<=Lb_len) /* 表Lb非空且表La空 */
{
GetElem(Lb,j++,&bj);
ListInsert(*Lc,++k,bj);
}
}

void print(ElemType c)
{
printf("%d ",c);
}

void main()
{
LinkList La,Lb,Lc;
int j,a[4]={3,5,8,11},b[7]={2,6,8,9,11,15,20};
InitList(&La); /* 創建空表La */
for(j=1;j<=4;j++) /* 在表La中插入4個元素 */
ListInsert(La,j,a[j-1]);
printf("La= "); /* 輸出表La的內容 */
ListTraverse(La,print);
InitList(&Lb); /* 創建空表Lb */
for(j=1;j<=7;j++) /* 在表Lb中插入7個元素 */
ListInsert(Lb,j,b[j-1]);
printf("Lb= "); /* 輸出鏈仿表Lb的內容 */
ListTraverse(Lb,print);
MergeList(La,Lb,&Lc);
printf("Lc= "); /* 輸出表Lc的內容 */
ListTraverse(Lc,print);
}