下のプロトタイプ宣言を参考に関数を作成したいのですが、さっぱりわかりません。
#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文字分)を表しているそうです。
これで例えば、全角で ミカサ と入力すると
ミカサ
ミ カ サ
ミ
カ
サ
と出力されるようにしたいんです。
お願いします<(_ _)>
関数の作成の仕方が分かりません
Re: 関数の作成の仕方が分かりません
こんな感じ?ベストとは限らないけど。
#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');
}
}
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 関数の作成の仕方が分かりません
ソースコードを提示する際は、BBCodeが有効な(無効でない)状態でBBCodeのcodeタグで囲んでいただくと、見やすくてありがたいです。
使用する文字コードは何ですか?
使用する文字コードは何ですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)