| Deutsch English Français Italiano |
|
<vrd77d$3nvtf$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: DFS <nospam@dfs.com>
Newsgroups: comp.lang.c
Subject: Suggested method for returning a string from a C program?
Date: Tue, 18 Mar 2025 21:38:55 -0400
Organization: A noiseless patient Spider
Lines: 54
Message-ID: <vrd77d$3nvtf$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 19 Mar 2025 02:38:54 +0100 (CET)
Injection-Info: dont-email.me; posting-host="92f16538b7b31d02767c6fdbe2b76261";
logging-data="3932079"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19L83te7UyKBpPBlUVpMzeK"
User-Agent: Betterbird (Windows)
Cancel-Lock: sha1:oyYYHZOaCaKnqS++cRschCsCO6c=
Content-Language: en-US
I'm doing these algorithm problems at
https://cses.fi/problemset/list/
For instance: Weird Algorithm
https://cses.fi/problemset/task/1068
My code works fine locally (prints the correct solution to the console),
but when I submit the .c file the auto-tester flags it with 'runtime
error' and says the output is empty.
------------------------------------------------------------
// If n is even, divide it by two.
// If n is odd, multiply it by three and add one.
// Repeat until n is one.
// n = 3: output is 3 10 5 16 8 4 2 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
int n = atoi(argv[1]);
int len = 0;
char result[10000] = "";
sprintf(result, "%d ", n);
while(1) {
if((n % 2) == 0)
{n /= 2;}
else
{n = (n * 3) + 1;}
if(n != 1)
{
len = strlen(result);
sprintf(result + len, "%d ", n);
}
else
break;
}
len = strlen(result);
sprintf(result + len, "1 ");
printf("%s\n",result);
return 0;
}
------------------------------------------------------------
Any ideas?
Thanks