関数の作成の仕方が分かりません

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ganbaregenki

関数の作成の仕方が分かりません

#1

投稿記事 by ganbaregenki » 7年前

下のプロトタイプ宣言を参考に関数を作成したいのですが、さっぱりわかりません。

#include <stdio.h>

void yoko(char s[]);
void kuuhaku(char s[], int n);
void tate(char s[]);

int main(void)
{
char name[50];
printf("名前は?(全角入力) ");
scanf("%s", name);
printf("\n");
yoko(name);
printf("\n");
kuuhaku(name, 3);
printf("\n");
tate(name);
printf("\n");
return 0;
}

kuuhaku(name, 3); のところは第二引数で文字と文字の間の空白の数(半角で3文字分)を表しているそうです。
これで例えば、全角で ミカサ と入力すると
ミカサ

ミ カ サ




と出力されるようにしたいんです。
お願いします<(_ _)>

box
記事: 2002
登録日時: 13年前

Re: 関数の作成の仕方が分かりません

#2

投稿記事 by box » 7年前

こんな感じ?ベストとは限らないけど。

コード:

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

void yoko(char s[]);
void kuuhaku(char s[], int n);
void tate(char s[]);

int main(void)
{
    char name[50];

    printf("名前は?(全角入力) ");
    scanf("%s", name);
    printf("\n");
    yoko(name);
    printf("\n");
    kuuhaku(name, 3);
    printf("\n");
    tate(name);
    printf("\n");
    return 0;
}

void yoko(char s[])
{
    printf("%s", s);
}

void kuuhaku(char s[], int n)
{
    int len = strlen(s), i, j;

    for (i = 0; i < len / 2; i++) {
        putchar(s[2*i]), putchar(s[2*i+1]);
        for (j = 0; j < n; j++) {
            putchar(' ');
        }
    }
}

void tate(char s[])
{
    int len = strlen(s), i;

    for (i = 0; i < len / 2; i++) {
        putchar(s[2*i]), putchar(s[2*i+1]);
        putchar('\n');
    }
}
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: 関数の作成の仕方が分かりません

#3

投稿記事 by みけCAT » 7年前

ソースコードを提示する際は、BBCodeが有効な(無効でない)状態でBBCodeのcodeタグで囲んでいただくと、見やすくてありがたいです。

使用する文字コードは何ですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ganbaregenki

Re: 関数の作成の仕方が分かりません

#4

投稿記事 by ganbaregenki » 7年前

すみません。初めてトピックを建てたのでよくわかりませんでした(_ _)
次からは気をつけます!

C言語でお願いします。

ganbaregenki

Re: 関数の作成の仕方が分かりません

#5

投稿記事 by ganbaregenki » 7年前

boxさんの書かれたコードで無事できました。
皆さんありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る