01. september 2004 - 11:59
Der er
13 kommentarer og 1 løsning
udskrive tal i ANSI C
hejsa, jeg er lige gået igang med C... og vil gerne udskrive nogle tal i en tekstfil... tallene skal i sidste ende kunne være ret store fx '123456' indtil videre virker dette : #include <stdio.h> int main () { FILE * pFile; int c; pFile=fopen("alphabet.txt","w"); for (c = 0 ; c <= 255 ; c++) { putc (c , pFile); } fclose (pFile); return 0; } men den udskriver kun tegn med ascii værdien c hvordan udskriver jeg fx '123456' efterfulgt af '\t'
Annonceindlæg fra Salesforce
01. september 2004 - 12:03
#1
prøv: for (c = 0 ; c <= 255 ; c++) { fprintf (pFile, "%d", c); }
01. september 2004 - 12:03
#2
eller: for (c = 0 ; c <= 255 ; c++) { fprintf (pFile, "%d\n", c); } hvis du vil have linieskift.
01. september 2004 - 12:05
#3
cool det var sådan jeg ville have det !!
01. september 2004 - 12:06
#4
giv et svar !
01. september 2004 - 12:11
#5
hehe... en lille sjov ting jeg vil høre om... denne her for-løkke.. for (i=3 ; i<=100000000 ; i=i+2) stopper aldrig... jeg satte den igang... men den bliver ved, selvom slut tallet er nået ! ??
01. september 2004 - 12:19
#6
hmm eller not... tallet er bare ret stort... jeg syntes bare i går at den overskred tallet... på den anden side er det også pænt stort
01. september 2004 - 12:23
#7
svar
01. september 2004 - 12:24
#8
100 mio. gange (8 cifre + 2 tegn til linieskift) = 1 GB det tager nok lidt tid ! :-)
01. september 2004 - 12:26
#9
nej for det er kun prim-tallene derimellem... ca 10%... forventet størrelse af fil er kun 60 mb
01. september 2004 - 12:28
#10
100 mio = 100mb... du ved nok så det du sagde passer... hvis det var gigabit
01. september 2004 - 12:34
#11
Hvis du udregner prim tal så kan det godt tage meget lang tid med at checke om det er primtal eller ej.
01. september 2004 - 12:34
#12
100 millioner 8 cifrede tal med linie skift efter hvert tal er 1 GB
01. september 2004 - 13:52
#13
for min skallede 1.5 ghz... tager det 10 minutter at lave 5 mio primtal... der er kun 5,5 mio primtal mellem 0 og 100mio... filen fylder kun 50mb
01. september 2004 - 13:52
#14
#include <stdio.h> #include <math.h> #include <conio.h> #include <time.h> int isPrime(int n); main() { int i; int tal = 0; int show = 10000; int minu,sec,deci; FILE * pFile; pFile = fopen("Primes.txt","w"); printf("counting all prime from 2 to 100mio: \n"); //printf("with how big space should i show primenumbers ?:"); //scanf("%d",&show); fprintf (pFile, "%d\n", 2); for (i=3 ; i<=100000000 ; i=i+2) { if (isPrime(i) == 1) { //printf("%d\t",i); if ((tal % show) == 0) { printf("number:%d\t",tal); minu = (clock()/1000)/60; sec = (clock()/1000) - (minu*60); deci = clock() % 1000; printf("total processtime = %d:%d,%d\t",minu,sec,deci); printf("%d\n",i); } tal++; fprintf (pFile, "%d\n", i); } } printf("\n\n total: %d Primes.\n\n",tal); printf("total processtime = %d",clock()); fclose (pFile); return 0; getch(); } int isPrime(int n) { int i; int sqr = sqrt(n); if (n < 2) return 0; if ((n % 2) == 0) return 0; for (i=3 ; i<= sqr ; i = i+2) { if ((n % i) == 0) return 0; } return 1; }
Kurser inden for grundlæggende programmering