第五周作业及总结

基础作业

PTA:英文单词排序
要求:

1.在PTA上完成作业
2.博客总结需要将PTA上代码做以下修改:(1)通过以自己名字命名的文件输入英文单词,(2)英文单词输入的结束标记为你学号最后一位数+37所对应的ASCII字符。(例如:你的学号最后一位为9,则结束标记为9+37=46所对应的ASCII字符“.”)(3)在不删除原有内容的情况下,将排序后的单词输出到文件。

实验代码:

include <stdio.h>

include <string.h>

include <stdlib.h>

int main()
{
FILE*fp;
char str[20][10],a[20],t[10];
int i,j,k,temp,index,n;
if((fp=fopen("//Users//hazelnutchen//Desktop//five week//Hazelnut.txt","a+"))==NULL)
{
printf("File open error!");
exit(0);
}
for(i=0;i<20;i++)
{
fscanf(fp,"%s",&str[i]);
scanf("%s",&str[i]);
if(str[i][0]==''')
break;
else
a[i]=strlen(str[i]);
}
for(k=0;k<i;k++)
{
index=k;
for(j=k+1;j<i;j++)
{
if(a[j]<a[index])
index=j;
}
temp=a[index];
a[index]=a[k];
a[k]=temp;
strcpy(t,str[index]);
strcpy(str[index],str[k]);
strcpy(str[k],t);
}
for(n=0;n<i;n++){
printf("%s ",str[n]);
}
for(n=0;n<i;n++)
{
fprintf(fp,"%s ",str[n]);
}
if(fclose(fp))
{
printf("Can not close the file!");
exit(0);
}
return 0;
}
实验流程图:

错误截图:


正确运行截图:


本题遇到的问题:在输入ASCII码39时(if(str[i][0]=='''),出现Expected expression的问题。
解决问题方案:在计算机3班班群里问了一下,助教和别的班的大佬及时作出答复,说需要在' '之间将'符号用\符号隔开,改正后错误就没了。
预习作业:







学习进度:

猜你喜欢

转载自www.cnblogs.com/chenzg90826/p/10623847.html