现在我想用C语言编写一段小程序,实现如下功能,请大神们帮忙啊~~~打开一个txt文件,如果那行是S开头的话,把下面的P开头的后两位加上S开头那行的第三位并成一行输出到另一个txt文件中例# C M
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 12:28:32
![现在我想用C语言编写一段小程序,实现如下功能,请大神们帮忙啊~~~打开一个txt文件,如果那行是S开头的话,把下面的P开头的后两位加上S开头那行的第三位并成一行输出到另一个txt文件中例# C M](/uploads/image/z/13950049-49-9.jpg?t=%E7%8E%B0%E5%9C%A8%E6%88%91%E6%83%B3%E7%94%A8C%E8%AF%AD%E8%A8%80%E7%BC%96%E5%86%99%E4%B8%80%E6%AE%B5%E5%B0%8F%E7%A8%8B%E5%BA%8F%2C%E5%AE%9E%E7%8E%B0%E5%A6%82%E4%B8%8B%E5%8A%9F%E8%83%BD%2C%E8%AF%B7%E5%A4%A7%E7%A5%9E%E4%BB%AC%E5%B8%AE%E5%BF%99%E5%95%8A%7E%7E%7E%E6%89%93%E5%BC%80%E4%B8%80%E4%B8%AAtxt%E6%96%87%E4%BB%B6%2C%E5%A6%82%E6%9E%9C%E9%82%A3%E8%A1%8C%E6%98%AFS%E5%BC%80%E5%A4%B4%E7%9A%84%E8%AF%9D%2C%E6%8A%8A%E4%B8%8B%E9%9D%A2%E7%9A%84P%E5%BC%80%E5%A4%B4%E7%9A%84%E5%90%8E%E4%B8%A4%E4%BD%8D%E5%8A%A0%E4%B8%8AS%E5%BC%80%E5%A4%B4%E9%82%A3%E8%A1%8C%E7%9A%84%E7%AC%AC%E4%B8%89%E4%BD%8D%E5%B9%B6%E6%88%90%E4%B8%80%E8%A1%8C%E8%BE%93%E5%87%BA%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AAtxt%E6%96%87%E4%BB%B6%E4%B8%AD%E4%BE%8B%23+C+M)
现在我想用C语言编写一段小程序,实现如下功能,请大神们帮忙啊~~~打开一个txt文件,如果那行是S开头的话,把下面的P开头的后两位加上S开头那行的第三位并成一行输出到另一个txt文件中例# C M
现在我想用C语言编写一段小程序,实现如下功能,请大神们帮忙啊~~~
打开一个txt文件,如果那行是S开头的话,把下面的P开头的后两位加上S开头那行的第三位并成一行输出到另一个txt文件中
例
# C Minimum_Curvature_Radius_On_Foil_Perssure_Side
#
# S Section_Index Section_Height
S 1 -10.000
------------------------
P 1 23.536 -16.306
P 2 22.345 -12.948
P 3 21.145 -9.606
P 4 19.919 -6.295
P 5 18.637 -3.035
P 6 17.256 0.144
P 7 15.728 3.202
P 8 14.002 6.088
输出
23.536 -16.306 -10.000
22.345 -12.948 -10.000
21.145 -9.606 -10.000
19.919 -6.295 -10.000
18.637 -3.035 -10.000
17.256 0.144 -10.000
15.728 3.202 -10.000
14.002 6.088 -10.000
现在我想用C语言编写一段小程序,实现如下功能,请大神们帮忙啊~~~打开一个txt文件,如果那行是S开头的话,把下面的P开头的后两位加上S开头那行的第三位并成一行输出到另一个txt文件中例# C M
为防抽,加行汉字:
程序如下,比较简单.把你上面给的内容拷到一个文件里就行了.
程序里的文件名你自己改下就OK了.
#include
int main()
{
FILE* pFile = fopen("input.txt", "r");
FILE* pOut = fopen("out.txt", "w");
char ch;
char strTemp[255];
float sData;
while (!feof(pFile))
{
fscanf(pFile, "%c", &ch);
if ('S' == ch) //为'S',把最后一个数字先存起来
{
fscanf(pFile, "%*d %f", &sData);
}
else if('P' == ch) //为'P',把后两个数和之前存起来的数字写到文件里
{
float f1, f2;
fscanf(pFile, "%*d %f %f", &f1, &f2);
fprintf(pOut, "%.3f %.3f %.3f\n", f1, f2, sData);
}
else if('\n' != ch) //加这句是为了处理空行
{
fgets(strTemp, 255, pFile); //否则把这一行剩下的字符都跳过去
}
}
fclose(pFile);
fclose(pOut);
}