第五周作业 英文单词排序
这个作业属于那个课程C语言程序设计II
这个作业要求在哪里https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018/homework/2824
我在这个课程的目标是<争取不翻书也能自由读写文件>
这个作业在那个具体方面帮助我实现目标<强化了文件的读写能力>
参考文献:C语言程序设计第三版
PTA代码:
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,k,b[20]={0},c[20],z;
char a[20][11];
for(i=0;i<20;i++)
c[i]=i;
for(i=0;i<20;i++)
{
scanf("%s",a[i]);
if(a[i][0]=='#')
break;
}
for(j=0;j<i;j++)
{
b[j]=strlen(a[j]);
}
for(j=0;j<i;j++)
{
for(k=j+1;k<i;k++)
{
if(b[k]<b[j])
{
z=b[k];
b[k]=b[j];
b[j]=z;
z=c[j];
c[j]=c[k];
c[k]=z;
}
}
}
for(j=0;j<i;j++)
{
printf("%s ",a[c[j]]);
}
}
文件代码:
#include<stdio.h>
#include<string.h>
int main()
{
FILE *op;
op=fopen("manhan.txt","r+");
int i,j,k,b[20]={0},c[20],z;
char a[20][11];
for(i=0;i<20;i++)
c[i]=i;
for(i=0;i<20;i++)
{
fscanf(op,"%s",a[i]);
if(a[i][0]==40)
{
fprintf(op,"\n");
break;
}
}
for(j=0;j<i;j++)
{
b[j]=strlen(a[j]);
}
for(j=0;j<i;j++)
{
for(k=j+1;k<i;k++)
{
if(b[k]<b[j])
{
z=b[k];
b[k]=b[j];
b[j]=z;
z=c[j];
c[j]=c[k];
c[k]=z;
}
}
}
for(j=0;j<i;j++)
{
fprintf(op,"%s ",a[c[j]]);
}
for(j=0;j<i;j++)
{
printf("%s ",a[c[j]]);
}
fclose(op);
}