#99 Article 949 Posted at 1995/12/02 11:29:52 by きつねりす (MAP542) [SAHOU.1]
Subject: Re:*6 プログラミングお作法の話 /946 ... /941 /940
なんだか面白そうなので出てきました。
> 「引数かキー入力(どちらか)で数値を読み込み、1からその数まで表示する。
> ただし、3と5と入力された数の所では数字を表示するかわりに、
> その回数だけ『にゃん』を表示する」
もっと引数のチェックとかをして
バッファを溢れないようにしたりとか、
しなきゃいけないんだけど、まぁこんなもんでしょう。
うちにはCのコンパイル系が無いので動作は未確認です。
だからバグバグかもしれません。
#動ごかなくても今回は動作が目的ではないし、、:)
-----ここから------
#include <stdio.h>
#include <string.h>
char* strncmp(char* buf,char* string,int count)
{
while (count--)
strcat(buf,string);
return buf;
}
int main (int argc,char** argv)
{
int max=0;
int count;
char buf[2048];
if (argc != 2)
{
printf"\nusage: %s nomber\n ex: %s 10\n",argv[0],argv[0]);
return 1;
}
max = atoi(argv[1]); // max= atoi(*(argv+1));かも
for (count = 1;count <=max;count ++)
{
switch (count)
{
case 3:
case 5:
case max:
printf ("\n%s",strncat(buf,"にゃん",count));
break;
default:
printf("\n%d",count);
}
}
printf("\n");
return 0;
}
-----ここまで------
自分で診断すると以下の通りです。
変数の定義で int *a ではなく int* aとしている。
インデントはハードタブ、ハードタブは4
caseはハーフインデント
ifなど文を持つやつは1文のときは{}を付けないが
文が1文でもその文が複数行にわたるときは{}を使う。
{}はforとかとおなじ高さ。
関数を作りたがる。
改行はフォーマットの先頭。最後にもう一度改行する。