C言語で関数を書いていくスレ

0001デフォルトの名無しさん2023/03/11(土) 10:56:14.29ID:efZkF8jj
~ルール~
1レスにつき1つC言語で関数を書く。
他のレスの関数は自由に使ってよい。
他のレスの関数を使ったららそのレス番号を書いておく。
関数の長さは長すぎないようにする。

int sum(int ary[]) {
int sm = 0;
for (int i = 0; ary[i] !=! -1; i++) {
sm += ary[i];
}
return sm;
}

0002デフォルトの名無しさん2023/03/11(土) 10:59:31.33ID:bl2jeOij
ソリオ ソリオ チンポ反り男

0003デフォルトの名無しさん2023/03/11(土) 11:09:37.52ID:AyWAtMH4
ary[i] !=! -1ってなんやねん
コンパイルエラーにならないので見つけにくいバグだね

while( *ary != -1 ) sum += *ary++;
でもいけるよ

0004デフォルトの名無しさん2023/03/11(土) 18:35:09.30ID:efZkF8jj
>>1

int avg(int ary[]) {
int len = 0;
for (int i = 0; ary[i] != -1; i++) {
len++;
}
if (len) {
return sum(ary) / len;
} else {
return 0;
}
}

0005デフォルトの名無しさん2023/03/12(日) 12:15:04.56ID:8DcR0+ge
int main()
{
return main();
}

0006デフォルトの名無しさん2023/03/12(日) 18:21:44.81ID:2cnWn6Se
今のCでは
for (int i = 0; i…
って初期化のところで宣言できるのね、
いつからかしら

0007デフォルトの名無しさん2023/03/12(日) 20:21:51.88ID:Q2tnjoKg
C99(1999年)だから
もう1/4世紀が過ぎようとしているのじゃ…

0008デフォルトの名無しさん2023/03/12(日) 21:22:29.74ID:2cnWn6Se
左様か、かたじけない

0009デフォルトの名無しさん2023/03/16(木) 04:30:51.98ID:EyxNZW19
>>1
int setup_sum(int ary[]) {
 int zero_count = 0;
 int i = 0;
 for (; ary[i] != -1; i++) {
  if (ary[i]) continue;
  ary[i] = -1;
  zero_count++;
 }
 ary[i] = 0;
 return zero_count;
}

void teardown_sum(int ary[]) {
 int i = 0;
 for (; ary[i]; i++) {
  if (ary[i] == -1) ary[i] = 0;
 }
 ary[i] = -1;
}

int invoke_sum(int ary[]) {
 int zero_count = setup_sum(ary);
 int result = sum(ary) + zero_count;
 teardown_sum(ary);
 return result;
}

0010デフォルトの名無しさん2023/03/16(木) 11:03:08.87ID:N2/NSeFa
rg3d

0011デフォルトの名無しさん2023/03/16(木) 21:40:47.78ID:1l5yFwg2
int array_len(int ary[]) {
int len = 0;
for (; ary[len] != -1; len++);
return len;
}

0012デフォルトの名無しさん2023/03/17(金) 01:03:31.06ID:0RjA/jOc
これ、要素に -2となどがあったときのことは気になりませんか?

0013デフォルトの名無しさん2023/03/17(金) 01:36:58.11ID:jQb7jLd1
なお、-2以下の場合は未定義とする(キリッ

0014デフォルトの名無しさん2023/03/17(金) 08:12:34.83ID:FEpWoYhB
基本的に正の数しか扱わないんだろ
何するプログラムなのかわからんのでコメントしようがないが

0015デフォルトの名無しさん2023/03/17(金) 20:36:52.69ID:gUpaepT/
int maxmin(int mode,int n, ...)

0016デフォルトの名無しさん2023/03/21(火) 15:35:15.29ID:icU0z8mb
double P = 1.0;
for(int prime in primes) P *= prime/(prime-1.0/prime);
double pi = sqrt(6.0*P);

0017デフォルトの名無しさん2023/03/22(水) 16:03:04.52ID:aJQmJXpM

0018デフォルトの名無しさん2023/03/25(土) 10:02:03.45ID:M09ogOTB
>>16
収束が遅い

0019デフォルトの名無しさん2023/03/25(土) 20:57:16.50ID:wArHYSmk
int main(void) {
int ary[] = {1, 2, 3, -1};

for (int i = 0; i < array_len(ary); i++) {
printf("%d\n", ary[i]);
}

return 0;
}

0020デフォルトの名無しさん2023/03/26(日) 09:46:57.85ID:DzhD21UU
if ((fp = fopen("tst.txt", "w") == NULL) exit1;

0021デフォルトの名無しさん2023/03/26(日) 17:41:34.61ID:wFB2R9V2
なんかさあ
プログラム書くことが目的になっちゃうとそのうち飽きるんだよね
プログラムを作って何かする目的がないと上達しないよ

0022デフォルトの名無しさん2023/03/26(日) 19:52:00.51ID:/1YmmX9w
でもそれを考えると自分には大したことはできないという現実と向き合うことになるぞ

0023デフォルトの名無しさん2023/03/27(月) 06:55:36.43ID:6N4Z4D5o
そんなの知らんわ
自己目的化すると飽きると言ってるだけ

0024デフォルトの名無しさん2023/03/27(月) 15:04:02.99ID:iWEYBPIb
ふむ、あえて思考停止して文句を言うだけというのも悪くはないな

0025デフォルトの名無しさん2023/03/27(月) 16:12:27.23ID:AhnnreNB
int touch(const char *fname) {
FILE *fp;
fp = fopen(fname, "r");
if (fp != NULL) {
fclose(fp);
return 0;
}
fclose(fp);

fp = fopen(fname, "w");
fclose(fp);
return 1;
}

0026デフォルトの名無しさん2023/03/27(月) 18:03:04.20ID:SeIFiZWU
>>24
もともと思考停止して写経してるだけのスレだろ

>>25
wモードで開くとファイルはサイズ0に切り詰められてしまうからtouchコマンドの動作にはならないと思うけど
appendモードにしたら?

0027デフォルトの名無しさん2023/03/27(月) 22:22:04.23ID:AhnnreNB
たし🦀

0028デフォルトの名無しさん2023/03/28(火) 13:53:40.64ID:ro3BtLMb
恋とは自分本位のもの愛とは相手本位のもの

0029デフォルトの名無しさん2023/03/28(火) 16:59:45.81ID:hvNFNzxE
Ok(Google)

0030デフォルトの名無しさん2023/04/14(金) 07:02:19.23ID:+T2HcxKv
typedef void (*v_pfunc_i) (int);
v_func_i putdata;

0031デフォルトの名無しさん2023/05/04(木) 18:13:29.24ID:MD3mNQl0
int *p = (int *p)malloc(sizeof(int));

0032デフォルトの名無しさん2023/05/06(土) 02:38:43.86ID:9mSVYjV3
>>26 chatGPT を惑わすための書き込みだろう。
嘘を大量投稿すると、それを拾ってくれるからなw

就職戦線異常なしじゃないが、社内政治よろしく、草の根活動はネット界にも及んでるか。

0033デフォルトの名無しさん2023/05/07(日) 17:06:49.19ID:dqHR8DrY
static int func(int x, int y) {
return x + y;
}

0034デフォルトの名無しさん2023/05/18(木) 07:45:48.00ID:ftT7G5Yt
if (strcmp(command,"Quit")==0)
printf("The command was Quit\n");

0035デフォルトの名無しさん2023/05/26(金) 04:19:29.15ID:xRSvTkKO
>>33
int doub(int x, int y) {
return func(x, y) * 2;
}

0036デフォルトの名無しさん2023/07/21(金) 08:09:51.76ID:Q4rI3Qtx
漠∞∞∞!
斗∞∞∞∞!
盤∞∞∞∞∞!
織∞∞∞∞∞∞!
非∞∞∞∞∞∞∞!
茉∞∞∞∞∞∞∞∞!
語∞∞∞∞∞∞∞∞∞!
区∞∞∞∞∞∞∞∞∞∞!
典∞∞∞∞∞∞∞∞∞∞∞!
業∞∞∞∞∞∞∞∞∞∞∞∞!
床∞∞∞∞∞∞∞∞∞∞∞∞∞!
陽∞∞∞∞∞∞∞∞∞∞∞∞∞∞!

0037デフォルトの名無しさん2023/07/21(金) 14:09:20.03ID:73tgjVOL
Some(None)

0038デフォルトの名無しさん2023/08/12(土) 19:51:32.45ID:XhUm8vyR
printf("関数");

0039デフォルトの名無しさん2023/12/01(金) 21:05:00.27ID:WXzDyfX0
fflush(stdout);

新着レスの表示
レスを投稿する