gpt4 book ai didi

c - 如何扩展我的多重循环条件?

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:56 24 4
gpt4 key购买 nike

我的代码

#include <stdlib.h>
#include <stdio.h>

int main()
{
int i=0;
int j=0;
size_t count=0;
float numbers[20][100];
float velocity[21][101];
char *line = NULL;

FILE *myFile;
myFile = fopen("vel.txt", "r");

if (myFile == NULL)
{
printf("Error Reading File\n");
exit (0);
}

while(i < 20 && getline(&line, &count, myFile)!=-1) {
int len = 0, pos = 0;
j = 0;
while(j < 100 && 1 == sscanf(line + pos, "%f%n", &numbers[i][j++], &len))
pos += len;
i++;
}
free(line);
fclose(myFile);

i=1;
for( j = 0; j < 101; j++ )
{
if( j == 1 )
{
velocity[i][j]=numbers[i][j];
}
else if ( j == 101 )
{
velocity[i][j]=numbers[i][j];
}
else
{
velocity[i][j]=(numbers[i][j-1]+numbers[i][j])/2;
}
}

for (j=0 ; j<101 ; j++) {
printf("\n%f", velocity[i][j]);
}
}

我需要计算 21,101 个二维网格的速度。如果 i==1 ,那是我上面的代码并且工作正常。如果 i==21,则适用 sam 条件.但是对于所有其他值(2到20)计算是不同的。我应该如何改变

if( i== from 2 to 20 &&j == 1 )
{
do something
}
else if (i== from to to 20 && j == 101 )
{
do something 2
}
else(means i goes from 2,20 j goes from 2,100)
{
do something 3
}

最佳答案

你想要这样的东西吗:if(i >= 2 %% i <= 20) ?意思是:2 <= i <= 20 或者如果 i 大于或等于 2 且 i 小于或等于 20,则为真。

如果你的例子:

if(i >= 2 && i <= 20 && j == 1)
{
//do something
}
else if(i >= 2 && i <= 20 && j == 101)
{
//do something 2
}
else if(i >= 2 && i <= 20 && j >= 2 && j <= 100) //means i goes from 2,20 j goes from 2,100
{
//do something 3
}

还是我遗漏了什么?

关于c - 如何扩展我的多重循环条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37011838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com