scanf ("%d", &k); while(k >= 0){ scanf ("%d", &k); printf("%d#", k); } 输入1 2 3 0 -1,输出  1 分 输入1 0 2 3 -1,输出  1 分 输入1 2 3 -1 9,输出
时间: 2024-03-25 18:40:49 浏览: 60
输入1 2 3 0 -1时,程序输出"2#3#0#"。
输入1 0 2 3 -1时,程序输出"0#2#3#"。
输入1 2 3 -1 9时,程序输出"2#3#"。
程序如下所示:
```c
int k;
scanf("%d", &k);
while (k >= 0) {
scanf("%d", &k);
printf("%d#", k);
}
```
程序读入一个整数k,然后使用while循环读入一系列整数并输出它们。程序在循环中首先读入下一个整数k,然后输出它。当下一个整数小于0时,循环结束。
因此,输入1 2 3 0 -1时,程序输出"2#3#0#";输入1 0 2 3 -1时,程序输出"0#2#3#";输入1 2 3 -1 9时,程序输出"2#3#"。
相关问题
case 1: system("cls"); printf("请输入更改后的学生学号:\n"); scanf("%d",&p->id); while(p1!=NULL) { if(p!=p1&&p->id==p1->id) { printf("学号重复!请重新输入!\n"); scanf("%d",&p->id); p1=head; continue; } p1=p1->next; } printf("修改完成!\n"); break;这段代码哪里错了
这段代码的逻辑上没有错误,但是需要注意几个问题:
1. `system("cls")` 是清屏指令,如果是在 Linux 系统下运行,应该使用 `system("clear")`。
2. 在 `while` 循环中,应该将 `p1=head` 放在 `continue` 语句的前面,否则会陷入死循环。
3. 在输入新的学号并检查是否重复时,应该使用 `p->id` 而不是 `&p->id`。
下面是修改后的代码:
```c
system("cls"); // 清屏
printf("请输入更改后的学生学号:\n");
scanf("%d", &p->id);
Node* p1 = head;
while (p1 != NULL) {
if (p != p1 && p->id == p1->id) {
printf("学号重复!请重新输入!\n");
scanf("%d", &p->id);
p1 = head; // 将 p1 指向头结点,遍历链表
continue;
}
p1 = p1->next;
}
printf("修改完成!\n");
break;
```
case 1: system("cls"); printf("请输入更改后的学生学号:\n"); scanf("%d",&p->id); while(p1!=NULL) { if(p!=p1&&p->id==p1->id) { printf("学号重复!请重新输入!\n"); scanf("%d",&p->id); p1=head; continue; } p1=p1->next; } printf("修改完成!\n"); break;这段代码哪里错了
这段代码可能会出现无限循环的问题。在判断学号是否重复的 while 循环中,如果出现重复的情况,会通过 continue 语句跳过下面的代码,但是 p1 的值没有被重置,导致在下一次循环时,p1 仍然指向最后一个节点,而不是重新指向头节点 head。因此,建议在判断学号是否重复的 while 循环中加上重置 p1 的语句,如下所示:
```
while (p1 != NULL) {
if (p != p1 && p->id == p1->id) {
printf("学号重复!请重新输入!\n");
scanf("%d", &p->id);
p1 = head; // 重置 p1
continue;
}
p1 = p1->next;
}
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)