第二周基础作业
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式:
输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
输入样例:
6
2 8 10 1 9 10
输出样例:
10 2
1、实验代码:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
FILE * fp;
int i,n,b=0,d=0,e=0;
int a[10];
if((fp=fopen ("C:\\xuhaitao\\RTF.txt","w+"))==NULL){
printf("File open error!\n");
exit (0);
}
scanf("%d\n",&n);
fprintf(fp,"%d\n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
fprintf(fp,"%d",a[i]);
if(i!=(n-1)){
fprintf(fp,",");
}
}
for(i=0;i<n;i++){
fscanf(fp,"%d",a[i]);
b=a[0];
d=a[i];
if(b>d){
e=b;
}
else{
e=d;
}
}
fprintf(fp,"\n");
for(i=0;i<n;i++){
if(a[i]==e){
printf("%d %d",e,i);
fprintf(fp,"%d %d",e,i);
break;
}
}
if(fclose(fp)){
printf("Can not close the file!\n");
exit (0);
}
return 0;
}
2、调试遇到问题:
(1):发现输入的第一个数字和后面输入的几个数字写入到文件的时候是一串的数字。
解决办法:问同学发现是因为在写入文件的数组前多了一个取地址符号。
(2):第一次写的时候发现运行后那个文件不能显示出来
解决办法:去看了一下写完同学的博客发现自己的地址还少了一个小地址。
(3):发现文件只有输出的结果
解决办法:翻书发现代码打开文件的哪里是需要读、写、追加的所以我就改成了w+。