while (scanf("%c:=%c;",&s1,&s2)==2)用C语言怎么写
时间: 2024-03-24 12:37:32 浏览: 217
您可以这样写:
```c
char s1, s2;
while (scanf("%c:=%c;", &s1, &s2) == 2) {
// 在这里写处理输入的代码
}
```
这个 `while` 循环会不断读取标准输入中的一行,每行的格式为 `字符1:=字符2;`,并将读入的字符1和字符2分别存储在变量 `s1` 和 `s2` 中。如果成功读入了一行,`scanf` 函数就会返回值 `2`,此时循环体中的代码就会被执行。您可以在循环体中编写处理输入的代码。
相关问题
C语言写以下函数的功能是:比较两个字符串的大小,当s1与s2相等时返回0,当s1大于s2时返回一个正整 数,当s1小于s2时返回一个负整数,请选择填空完成程序。 int mystrcmp(char *s1,char *s2) { while(*s1==*s2) if(*s1=='\0') return 0; else s1++,s2++; return 1 ;
以下是用 C 语言编写的完整程序:
```c
#include <stdio.h>
int mystrcmp(char *s1, char *s2) {
while (*s1 == *s2) {
if (*s1 == '\0') {
return 0;
}
s1++;
s2++;
}
return *s1 - *s2;
}
int main() {
char str1[100], str2[100];
printf("请输入字符串1:");
scanf("%s", str1);
printf("请输入字符串2:");
scanf("%s", str2);
int result = mystrcmp(str1, str2);
if (result > 0) {
printf("字符串1大于字符串2\n");
} else if (result < 0) {
printf("字符串1小于字符串2\n");
} else {
printf("字符串1等于字符串2\n");
}
return 0;
}
```
该程序定义了一个 `mystrcmp` 函数,用于比较两个字符串的大小。函数的实现方式是,通过 while 循环逐个比较字符串 s1 和字符串 s2 的每个字符,如果相等则继续比较下一个字符,直到遇到字符串结束符 '\0' 或者两个字符不相等为止。然后根据比较结果返回一个正整数、负整数或者 0,用于表示 s1 和 s2 的大小关系。
在主函数中,通过 `scanf` 函数获取输入的两个字符串,然后调用 `mystrcmp` 函数进行比较,并根据比较结果输出相应的提示信息。
用C语言完善代码,从字符串s1中删除字符串s2所包含的字符,记得补充注释。例如:s1为“helloword”,s2为“eo”,程序执行后,s1变为“hllwrd”,代码如下:#include <stdio.h> void main() { char s1[81]="helloword",s2[81]="eo"; char *p1=s1,*p2,*p3; // //; while(*p1) { p2=s2; while(*p2&&(// //)) p2++; if(*p2=='\0') *p3++=*p1; p1++; } // //; printf("%s\n",s1); getch(); }
```c
#include <stdio.h>
#include <string.h>
void delete_chars(char *s1, char *s2)
{
int i, j, k;
int len1 = strlen(s1);
int len2 = strlen(s2);
int flags[128] = {0}; // 标记ascii码对应的字符是否出现过
for (i = 0; i < len2; i++) {
flags[s2[i]] = 1; // 标记s2中包含的字符
}
k = 0;
for (i = 0; i < len1; i++) {
if (flags[s1[i]] == 0) { // 如果s1中的字符不包含在s2中
s1[k++] = s1[i]; // 将该字符保留
}
}
s1[k] = '\0'; // 补充字符串结束标志
}
int main()
{
char s1[100], s2[100];
printf("请输入字符串s1:");
scanf("%s", s1); // 输入字符串s1
printf("请输入字符串s2:");
scanf("%s", s2); // 输入字符串s2
delete_chars(s1, s2); // 调用删除字符的函数
printf("删除后的字符串为:%s", s1); // 输出删除后的字符串
return 0;
}
```
阅读全文