【发布时间】:2020-03-29 04:15:32
【问题描述】:
我必须编写一个程序来连接具有相同首字母的字符串,但问题是如果我输入
示例输入:苏打水、吐司、盐、茶
输出总是:
输出:苏打水、烤面包
但我想要的输出是:
苏打盐、吐司茶
我如何保持我的代码的功能,唯一的变化是不按字母顺序排列?
#include<stdio.h>
#include<string.h>
#include <ctype.h>
int main()
{
char str1[100][100], str[1000], temp[100];
int n, i, j;
char *ptr, *ptr1, letter;
printf("Enter how many arrays: ");
scanf("%d", &n);
for(i=0; i<n; i++)
{
printf("Enter string %d: ", i+1);
scanf("%s", &str1[i]);
}
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
{
if(strcasecmp(str1[i], str1[j])>0)
{
strcpy(temp, str1[i]);
strcpy(str1[i], str1[j]);
strcpy(str1[j], temp);
}
}
}
for(i=0; i<n; i++)
{
if (i != 0)
{
if (tolower(str1[i][0]) != tolower(letter))
{
printf(",");
}
}
{
printf("%s", str1[i]);
letter = str1[i][0];
}
}
}
【问题讨论】:
标签: c string sorting string-concatenation