c语言一行输出两个字符串,每行每个字符串起始位置对其
时间: 2023-08-02 15:26:43 浏览: 47
可以使用格式化输出来实现这个需求,示例代码如下:
```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 个字符的字符串。这样,就可以实现一行输出两个字符串并且每行每个字符串起始位置对齐的需求。
相关问题
c语言输出两个字符串中相同子串
以下是一个简单的示例程序,用于查找两个字符串中的相同子串:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
int i, j, k, len1, len2, maxLen = 0, start;
printf("Enter string 1: ");
fgets(str1, 100, stdin);
printf("Enter string 2: ");
fgets(str2, 100, stdin);
len1 = strlen(str1);
len2 = strlen(str2);
for (i = 0; i < len1; i++) {
for (j = 0; j < len2; j++) {
k = 0;
while (str1[i + k] == str2[j + k] && str1[i + k] != '\0' && str2[j + k] != '\0') {
k++;
}
if (k > maxLen) {
maxLen = k;
start = i;
}
}
}
if (maxLen > 0) {
printf("Longest common substring: ");
for (i = start; i < start + maxLen; i++) {
printf("%c", str1[i]);
}
} else {
printf("No common substring found.");
}
return 0;
}
```
该程序首先从用户输入获取两个字符串,然后使用两个嵌套的循环来比较所有可能的子串。对于每个相同的子串,它将检查其长度是否大于当前最长的相同子串,并在找到最长的相同子串时更新最长子串的长度和起始位置。最后,程序输出最长的相同子串。
c语言输入一个字符串和要输出的子串的起始位置和长度,然后输出子字符串
以下是一个示例代码,用于输入一个字符串和输出子串:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int start, len;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入子串的起始位置和长度:");
scanf("%d%d", &start, &len);
int str_len = strlen(str);
if (start >= str_len || start + len > str_len) {
printf("无效的子串参数\n");
return 0;
}
printf("子串为:");
for (int i = start; i < start + len; i++) {
printf("%c", str[i]);
}
printf("\n");
return 0;
}
```
在这个示例代码中,我们首先通过 `scanf` 获取了用户输入的字符串和子串的起始位置和长度。然后,我们使用 `strlen` 函数计算出字符串的长度,并检查子串的参数是否有效。最后,我们使用一个循环输出子串中的字符。