12月16日課題

文字列をななめに表示
 
int main() {
    int win;
   
    win=gopen(400,400);  // 描画ウィンドウを開く
    winname(win, "character"); // 名前をつける
    newpen(win,10);
 
    char string[100] = {};
 
    printf("input string>>");
    scanf("%s",string);
 
 
    double x = 70.0;
    double y = 130.0;
 
    for(int i = 0; i < strlen(string);i++){
 
        char writeString[2] = {string[i]};
        drawstr(win,x,y,24,0.0,writeString);
        x += 30.0;
        y += 30.0;
 
    }
    ggetch(); // 入力を待つ
    gclose(win); // 画面を消去
    
    return 0;
    
}
 

文字列を連結、endで表示

 
int main(void)
{
    char outStr[100] = {};
    char inStr[100] = {};
 
    while(1){
 
        printf("string >>");
        scanf("%s",inStr);
 
        if(!strcmp(inStr,"end")) break;
 
        strcat(outStr,inStr);
    }
 
    for(int i =0;i < strlen(outStr);i++){
        printf("%c",outStr[i]);
    }
 
    putchar('\n');
 
    return 0;
}

文字列を連結して20byteまたはendで表示、さらに単語間を区切る

int main(void)
{
    char outStr[100] = {};
    char inStr[100] = {};
 
    while(1){
 
        printf("string >>");
        scanf("%s",inStr);
 
        if(strcmp(inStr,"end") == 0 || strlen(outStr) > 20){
            for(int i =0;i < strlen(outStr);i++){
                printf("%c",outStr[i]);
            }
            outStr[0] = '\0';
            putchar('\n');
        }
 
        strcat(inStr," ");
        strcat(outStr,inStr);
    }
 
    putchar('\n');
 
    return 0;
}