程序改错。下面程序的功能是从键盘输入一行字符,统计其中有多少单词。假设单词之间以空格分开。[提示:判断是否有新单词出现的方法是——当前被检验的字符不是空格,而前一被检验字符是空格,则表示有新单词出现。] #include<stdio.h> #define ARR_SIZE 80; main() { char str[ARR_SIZE]; int i, num; gets(str); if(str[0] != ' ' && str[0] != '\0') {
时间: 2024-02-29 15:51:48 浏览: 76
程序中存在两个问题,需要进行修改:
1. 宏定义ARR_SIZE中不应该有分号,应该改为 #define ARR_SIZE 80
2. 程序中没有对单词数量进行统计。
修改后的程序如下:
```
#include<stdio.h>
#define ARR_SIZE 80
int main() {
char str[ARR_SIZE];
int i, num = 0;
gets(str);
if(str[0] != ' ' && str[0] != '\0') {
num++;
}
for(i = 1; str[i] != '\0'; i++) {
if(str[i] != ' ' && str[i-1] == ' ') {
num++;
}
}
printf("单词数量为:%d\n", num);
return 0;
}
```
这个程序能够正确统计输入字符串中的单词数量。
相关问题
以下程序的功能是将读入的两个字符串进行连接,并存入s1。请将划出错误语句,并改错,输入程序。
```c
#include<stdio.h>
#include<string.h>
int main()
{
char s1[100],s2[50];
gets(s1);
gets(s2);
strcat(s1,s2);
printf("%s\n",s1);
return 0;
}
```
错误语句是`gets(s1)`,这个函数存在缓冲区溢出的安全问题,建议使用`fgets()`函数代替。
修改后的程序如下:
```c
#include<stdio.h>
#include<string.h>
int main()
{
char s1[100],s2[50];
fgets(s1,100,stdin);
fgets(s2,50,stdin);
s1[strcspn(s1,"\n")]='\0'; // 去掉s1字符串中的换行符
strcat(s1,s2);
printf("%s\n",s1);
return 0;
}
```
注意,使用`fgets()`函数读取字符串时,会将输入的换行符也读入字符串中,需要将其替换为字符串结束符'\0',否则后面的字符串连接可能会出错。
程序改错,请将程序中的错误改正过来。本程序的功能是将两个字符串内容比较后交换内容输出。
以下是改正后的程序:
```python
str1 = input("请输入第一个字符串:")
str2 = input("请输入第二个字符串:")
if str1 > str2:
str1, str2 = str2, str1
print("交换后的字符串为:")
print(str1)
print(str2)
```
主要的错误在于没有进行字符串比较,而是直接将两个字符串交换了。在这里,我们使用了 `if` 语句来进行字符串比较,如果 `str1` 大于 `str2`,则交换两个字符串的值。注意,在 Python 中,字符串的比较是按照字典序进行的。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)