c语言一行输出两个字符串,每行每个字符串起始位置对其
时间: 2023-08-02 12:26:43 浏览: 136
可以使用格式化输出来实现这个需求,示例代码如下:
```c
#include <stdio.h>
int main() {
char str1[] = "Hello";
char str2[] = "world";
printf("%-10s%s\n", str1, str2);
return 0;
}
```
输出结果为:
```
Hello world
```
在这个示例中,我们使用了 `printf` 函数,其中 `%s` 表示输出字符串,`%-10s` 表示左对齐并且占用 10 个字符的字符串。这样,就可以实现一行输出两个字符串并且每行每个字符串起始位置对齐的需求。
相关问题
设s。1为两个字符串,两个字符串分为两行输出,判断t是否为;的子串,如果是,输出子串所在位置(第一个字符,字符串的起始位置从0开始),否则输出1 《骗入形式】两行李符串,第一行字符串层3;第二行是字用c语言
在C语言中,你可以通过遍历第一个字符串`s`来检查字符串`t`是否是它的子串,并找出子串的位置。下面是一个简单的示例函数,它会完成这个任务:
```c
#include <stdio.h>
#include <string.h>
void find_substring(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
// 遍历str1,查找str2作为子串的起始位置
for (int i = 0; i <= len1 - len2; i++) {
int match = 1;
// 如果str1的子串与str2完全匹配,记录位置
for (int j = 0; j < len2; j++) {
if (str1[i + j] != str2[j]) {
match = 0; // 子串不匹配,跳出循环
break;
}
}
if (match) {
printf("子串 '%s' 发现于位置 %d-%d\n", str2, i, i+len2-1);
return; // 找到子串就直接返回
}
}
printf("子串 '%s' 未找到\n", str2);
}
int main() {
char s[] = "这是一个示例字符串"; // 第一行字符串
char t[] = "子串"; // 要查找的子串
find_substring(s, t);
return 0;
}
```
这个程序首先计算出两个字符串的长度,然后逐个检查`s`中的每个可能位置是否包含完整的`t`。如果找到匹配,则打印子串的位置并结束搜索。如果没有找到,最后将输出"子串 't' 未找到"。
设s、t 为两个字符串,两个字符串分为两行输出,判断t 是否为s 的子串。如果是,输出子串所在位置(第一个字符,字符串的起始位置从0开始),否则输出-1c语言
#include <stdio.h>
#include <string.h>
int main() {
char s[100], t[100];
scanf("%s %s", s, t);
int slen = strlen(s), tlen = strlen(t);
int i, j;
for (i = 0; i <= slen - tlen; i++) {
for (j = 0; j < tlen; j++) {
if (s[i + j] != t[j]) {
break;
}
}
if (j == tlen) {
printf("%d", i);
return 0;
}
}
printf("-1");
return 0;
}
阅读全文