ページ 11

c言語 問題の意味すら分かりません プログラムと問題の意味を教えてください

Posted: 2021年7月16日(金) 18:23
by orenges
N[プログラムの説明]
  次の規則に伴い、入力した文字列を変換して表示する
  T .....タブとして空白を二つ入れる(T は表示しない)
  N .....改行する(Nは表示しない)
  +  ....空白を一つ入れる(+と空白を置き換える)
  その他...そのまま表示する

実行結果
データを入力してください:aprilT$012-NmayTT$023+Njune T$026+N
april $012-
may $023
june $026

Re: c言語 問題の意味すら分かりません プログラムと問題の意味を教えてください

Posted: 2021年7月16日(金) 23:49
by box
C言語のスキルはどのくらいありますか?
なにがしかのプログラムを書いたことはありますか?

Re: c言語 問題の意味すら分かりません プログラムと問題の意味を教えてください

Posted: 2021年7月17日(土) 02:44
by box
ちょっとしたサンプルコードを書いてみました。読めますか?

コード:

#include <stdio.h>
#include <string.h>

#define N (100)

void inputData(char *s)
{
    printf("データを入力してください:"), fgets(s, N, stdin);
    s[strlen(s)-1] = '\0';
}

void outputData(char *s)
{
    int i;

    for (i = 0; s[i]; i++) {
        switch (s[i]) {
        case 'T':
            putchar(' '), putchar(' ');
            break;
        case 'N':
            putchar('\n');
            break;
        case '+':
            putchar(' ');
            break;
        default :
            putchar(s[i]);
            break;
        }
    }
}

int main(void)
{
    char str[N];

    inputData(str);
    outputData(str);
    return 0;
}