C语言编程,变量赋值
一个文件里第一行是变量,第二行是对应变量的数值,用C语言编程赋值。例如:minmaxladhuvdiehow2.13.45.37.37.43.5中间都是空格要求是能运行的...
一个文件里第一行是变量,第二行是对应变量的数值,用C语言编程赋值。
例如:
min max lad huv die how
2.1 3.4 5.3 7.3 7.4 3.5
中间都是空格
要求是能运行的,文件名字随便 展开
例如:
min max lad huv die how
2.1 3.4 5.3 7.3 7.4 3.5
中间都是空格
要求是能运行的,文件名字随便 展开
3个回答
展开全部
#include<stdio.h>
#include<string.h>
#define NUM 6//变量数量
int main()
{
int i;
char name[NUM][10];
FILE *fp = fopen("D:\\data.txt", "r");
float min, max, lad, huv, die, how, temp;
if (fp == NULL)
{
perror("Open file failure !!\n");
return 0;
}
for (i = 0; i < NUM; ++i)
fscanf(fp, "%s", name[i]);
for (i = 0; i < NUM; ++i)
{
fscanf(fp, "%f", &temp);
if (!strcmp(name[i], "min"))
min = temp;
else if (!strcmp(name[i], "max"))
max = temp;
else if (!strcmp(name[i], "lad"))
lad = temp;
else if (!strcmp(name[i], "huv"))
huv = temp;
else if (!strcmp(name[i], "die"))
die = temp;
else if (!strcmp(name[i], "how"))
how = temp;
}
printf("%min = %0.2f\nmax = %0.2f\nlad = %0.2f\nhuv = %0.2f\ndie = %0.2f\nhow = %0.2f\n", min, max, lad, huv, die, how);
fclose(fp);
return 0;
}
更多追问追答
追问
原谅我没说清楚,你事先是不知道文件里这些个变量的名字和数量的。
追答
不知道里面变量的名字
写程序的时候怎么写变量呢
2014-11-19
展开全部
#include<stdio.h>
int main()
{
FILE* file;
char varn[30][30];
double var[30];
char ch;
int i=0,j=0;
file=fopen("123.txt","r"); //当前工作目录
while((ch=fgetc(file))!=10)
{
ungetc(ch,file);
fscanf(file,"%s",varn[i++]);
}
while(fscanf(file,"%lf",&var[j++])!=-1);
for(int i=0;i<j-1;i++)
printf("%s=%.1lf\n",varn[i],var[i]);
return 0;
}
int main()
{
FILE* file;
char varn[30][30];
double var[30];
char ch;
int i=0,j=0;
file=fopen("123.txt","r"); //当前工作目录
while((ch=fgetc(file))!=10)
{
ungetc(ch,file);
fscanf(file,"%s",varn[i++]);
}
while(fscanf(file,"%lf",&var[j++])!=-1);
for(int i=0;i<j-1;i++)
printf("%s=%.1lf\n",varn[i],var[i]);
return 0;
}
追问
两个while后语句怎么理解,还有ungetc是什么指令
追答
当没有读取到回车时就继续读取。把刚刚提取的字符退回流中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
double min=2.1,max=3.4,lad=5.3,huv=7.3,die=7.4,how=3.5
return 0;
}
int main()
{
double min=2.1,max=3.4,lad=5.3,huv=7.3,die=7.4,how=3.5
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询