修改这段代码使其满足条件直接打印NULLstruct clockRecords{ int id; int time; int distance; char actualDeviceNumber[100]; char registeredDeviceNumber[100]; }; int main(){ int n; scanf("%d",&n); struct clockRecords s[100]; for(int i =0;i<n;i++){ scanf("%d,%d,%d,%[^,],%s",&s[i].id,&s[i].time,&s[i].distance,&s[i].actualDeviceNumber,&s[i].registeredDeviceNumber); } for(int i =0;i<n;i++){ if(abs(s[i].time - s[i+1].time) <= 60 && abs(s[i].distance - s[i+1].distance)>=5){ for(int j =0;j<n;j++){ printf("%d,%d,%d,%s,%s\n",s[i].id,s[i].time,s[i].distance,s[i].actualDeviceNumber,s[i].registeredDeviceNumber); break; } } else if( strcmp(s[i].actualDeviceNumber,s[i].registeredDeviceNumber) !=0){ printf("%d,%d,%d,%s,%s\n",s[i].id,s[i].time,s[i].distance,s[i].actualDeviceNumber,s[i].registeredDeviceNumber); continue; } else{ printf("NUll"); } } return 0; }
时间: 2024-03-01 19:51:39 浏览: 21
这段代码存在一些问题,首先在第二个for循环中,当i等于n-1时会访问到s[i+1],超出了数组范围,需要将循环条件改为i<n-1。其次,在第三个if语句中,当两个设备号不相等时,应该直接打印出来,而不是使用continue跳过下面的语句。最后,在最后一个else语句中,应该打印"NULL"而不是"NUll"。
修改后的代码如下:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct clockRecords{
int id;
int time;
int distance;
char actualDeviceNumber[100];
char registeredDeviceNumber[100];
};
int main(){
int n;
scanf("%d",&n);
struct clockRecords s[100];
for(int i =0;i<n;i++){
scanf("%d,%d,%d,%[^,],%s",&s[i].id,&s[i].time,&s[i].distance,&s[i].actualDeviceNumber,&s[i].registeredDeviceNumber);
}
for(int i =0;i<n-1;i++){
if(abs(s[i].time - s[i+1].time) <= 60 && abs(s[i].distance - s[i+1].distance)>=5){
printf("%d,%d,%d,%s,%s\n",s[i].id,s[i].time,s[i].distance,s[i].actualDeviceNumber,s[i].registeredDeviceNumber);
} else if( strcmp(s[i].actualDeviceNumber,s[i].registeredDeviceNumber) !=0){
printf("%d,%d,%d,%s,%s\n",s[i].id,s[i].time,s[i].distance,s[i].actualDeviceNumber,s[i].registeredDeviceNumber);
} else{
printf("NULL");
}
}
return 0;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)