69,336
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void sliceUp(int segmentLength[], int index, const char* s, int remainingLength, int remainingPart)
{
if(remainingPart == 1){
segmentLength[index++] = remainingLength;
int i, j, len;
for(i = 0; i < index; ++i){
if(i) putchar(' ');
for(j = 0, len = segmentLength[i]; j < len; ++j){
putchar(s[j]);
}
s += segmentLength[i];
}
puts("");
return;
}
int len = 1, limit = remainingLength - (remainingPart-1);
for(; len <= limit; ++len){
segmentLength[index] = len;
sliceUp(segmentLength, index+1, s, remainingLength-len, remainingPart-1);
}
}
int printCuts(const char* s, int parts)
{
int len = strlen(s);
if(len < parts) return -1;
int* arr = (int*)malloc(parts * sizeof(int));
sliceUp(arr, 0, s, len, parts);
free(arr);
return 1;
}
int main()
{
printCuts("forum", 3);
return 0;
}
#include <stdio.h>
#include <string.h>
char *a="abcde";
int L,i,j,k;
void main() {
L=strlen(a);
for (i=1;i<=L;i++) {
for (j=0;j<=L-i;j++) {
for (k=j;k<j+i;k++) {
printf("%c",a[k]);
}
printf("\n");
}
}
}