C语言中怎么显示文件的内容在屏幕上
#include<stdio.h>FILE*fp;structform{intID[2];charname[15];intsub[4];};voidaverage1(fl...
#include<stdio.h>
FILE *fp;
struct form
{
int ID[2];
char name[15];
int sub[4];
};
void average1(float amount[]);
void average2(struct form stu[]);
int main()
{
char nam[50];
char line[256];
char name[10];
int grade, aver, ID, i, sum, j;
float amount[10] = { 0 };
struct form stu[10];
printf("请输入十个学生的学号和姓名:\n");
for (i = 0; i < 10; i++)
{
scanf("%d", stu[i].ID);
scanf("%s", stu[i].name);
}
printf("请输入十个学生的四门成绩:\n");
for (i = 0; i < 10; i++)
{
sum = 0;
for (j = 0; j < 4; j++)
{
scanf("%d", &stu[i].sub[j]);
sum += stu[i].sub[j];
amount[i] = sum;
}
average1(amount);
average2(stu);
fp=fopen("stud","w");
fprintf(fp, "%-10s%-15s%-10s%-10s%-10s%-10s%-10s\n",
"学号", "姓名", "数学", "外语", "体育", "C语言", "平均");
for(i=0;i<10;i++)
{
fprintf(fp,"%-10d %-15s",stu[i].ID,stu[i].name);
for(j=0;j<4;j++)
fprintf(fp,"%-10d",stu[i].sub[j]);
}
fclose(fp);
return 0;
}
}
void average1(float amount[])
{
int i, j;
float averagestu[10] = { 0 },t;
for (i = 0; i < 10; i++)
averagestu[i] = amount[i] / 4;
for (i = 0; i < 10; i++)
{
for (j = 0; j <= 10 - i; j++)
{
if (averagestu[j] <= averagestu[j + 1])
{
t = averagestu[j];
averagestu[j] = averagestu[j + 1];
averagestu[j + 1] = t;
}
else
continue;
}
}
for (i = 0; i < 10; i++)
printf("%f ", averagestu[i]);
printf("\n");
}
void average2(struct form stu[])
{
int i, j;
float averagesub[4] = { 0 }, m;
for (i = 0; i < 4; i++)
{
m = 0;
for (j = 0; j < 10; j++)
m += stu[j].sub[i];
averagesub[i] = m;
}
for (i = 0; i < 4; i++)
printf("学科号为%d的平均分为%f\n", i + 1,
averagesub[i] / 10);
}
显示fp的内容 展开
FILE *fp;
struct form
{
int ID[2];
char name[15];
int sub[4];
};
void average1(float amount[]);
void average2(struct form stu[]);
int main()
{
char nam[50];
char line[256];
char name[10];
int grade, aver, ID, i, sum, j;
float amount[10] = { 0 };
struct form stu[10];
printf("请输入十个学生的学号和姓名:\n");
for (i = 0; i < 10; i++)
{
scanf("%d", stu[i].ID);
scanf("%s", stu[i].name);
}
printf("请输入十个学生的四门成绩:\n");
for (i = 0; i < 10; i++)
{
sum = 0;
for (j = 0; j < 4; j++)
{
scanf("%d", &stu[i].sub[j]);
sum += stu[i].sub[j];
amount[i] = sum;
}
average1(amount);
average2(stu);
fp=fopen("stud","w");
fprintf(fp, "%-10s%-15s%-10s%-10s%-10s%-10s%-10s\n",
"学号", "姓名", "数学", "外语", "体育", "C语言", "平均");
for(i=0;i<10;i++)
{
fprintf(fp,"%-10d %-15s",stu[i].ID,stu[i].name);
for(j=0;j<4;j++)
fprintf(fp,"%-10d",stu[i].sub[j]);
}
fclose(fp);
return 0;
}
}
void average1(float amount[])
{
int i, j;
float averagestu[10] = { 0 },t;
for (i = 0; i < 10; i++)
averagestu[i] = amount[i] / 4;
for (i = 0; i < 10; i++)
{
for (j = 0; j <= 10 - i; j++)
{
if (averagestu[j] <= averagestu[j + 1])
{
t = averagestu[j];
averagestu[j] = averagestu[j + 1];
averagestu[j + 1] = t;
}
else
continue;
}
}
for (i = 0; i < 10; i++)
printf("%f ", averagestu[i]);
printf("\n");
}
void average2(struct form stu[])
{
int i, j;
float averagesub[4] = { 0 }, m;
for (i = 0; i < 4; i++)
{
m = 0;
for (j = 0; j < 10; j++)
m += stu[j].sub[i];
averagesub[i] = m;
}
for (i = 0; i < 4; i++)
printf("学科号为%d的平均分为%f\n", i + 1,
averagesub[i] / 10);
}
显示fp的内容 展开
5个回答
展开全部
1、首先第一步,你打开软件,第一行代码要写头文件,我们写的是#include<stdio.h>,在这个头文件里包含了我们要调用的函数。
2、第二行就是main函数了,他是程序执行的入口,势必不可少的;int maihn (void),void可以省略。
3、第三部,Main函数写完之后,一点还要再下面加大括号,漏加大括号是初学者经常犯的问题。
4、写完大括号,就开始调用函数了我们调用printf( );函数,他的功能就是在屏幕上输出一行字。
5、要注意printf函数的格式,printf(“百度666666”);里面有双引号;外面有分号。
6、加上return 0;就结束了,点击编译,在运行们就可以在控制台上使出你想输出的字了。
展开全部
最省心的方法是读一个字符显示一个字符,直到文件结束为止。
写了一段代码,家了一些注释,你仔细看一下
#include <stdio.h>
void main()
{
FILE *fp;
char buff[128];
printf("请输入文件名");
scanf("%s",buff);
fp=fopen(buff,"r"); //打开文件
char ch;
while((ch=fgetc(fp))!=EOF) //不到文件结束就循环
putchar(ch); //输出一个字符
fclose(fp); //关闭文件指针
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 write 和read可以做到
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询