tft每日頭條

 > 科技

 > c語言文件的保存和讀取

c語言文件的保存和讀取

科技 更新时间:2024-08-13 07:07:26

c語言文件的保存和讀取?編寫函數generateNprimes(int lower,int n,int res[])将大于整數lower且緊靠lower的n個素數存入數組中,下面我們就來說一說關于c語言文件的保存和讀取?我們一起去了解并探讨一下這個問題吧!

c語言文件的保存和讀取(文件輸入數據處理及輸出到文件)1

c語言文件的保存和讀取

編寫函數generateNprimes(int lower,int n,int res[])将大于整數lower且緊靠lower的n個素數存入數組中。

首先是控制台操作,提示輸入兩個整數lower和n,如若輸入17,5,則應輸出19,23,29,31,37。

然後調用函數generateInDat()生成15對整數(數lower和n)到文件in.dat。

最後調用函數readWriteDAT()從in.DAT 文件中讀取10 對low、n,分别求取符合要求的素數,并把結果輸出到文件out.DAT 中。

#include <stdio.h> #include <stdlib.h> int isPrime(int m) // 判斷某一數字是否是素數 { int i; if(m==2) return 1; if(m%2==0) return 0; for(i = 3; i < m/2; i =2) if(m % i == 0) return 0; return 1; } void generateNprimes(int lower,int n,int res[]) { int i=0; for(lower =1;n>0;lower ) if(isPrime(lower)) { res[i ]=lower; n--; } } void generateInDat() { int lower,n,i; FILE *fp = fopen("in.dat","w "); for(i=0;i<15;i ) { lower = rand(); n = 5 rand()*(20-5)/(RAND_MAX 1); fprintf(fp,"%d %d\n",lower,n); } fclose(fp); } void readWriteDAT() { int lower, n, res[1000], i; FILE *rf, *wf; rf = fopen("in.dat", "r"); wf = fopen("out.dat", "w"); for(i = 0; i < 10; i ) { fscanf(rf,"%d%d",&lower,&n); // 從文件讀入一行 generateNprimes(lower,n,res); // 以讀入的數據為參數,生成素數到數據 for(lower=0;lower < n; lower ) fprintf(wf, "%d ", res[lower]); // 從數組寫入指定數量的數據到文件 fprintf(wf, "\n"); // 寫入換行符号到文件 } fclose(rf); fclose(wf); } void main() { int lower, n, res[1000]; // 控制台輸入、數據處理、輸出 puts(" This program is to get n prime numbers which are larger than lower."); printf(" >> Please input two integers to lower and n : "); scanf("%d%d", &lower, &n ); generateNprimes(lower, n, res); printf(" >> The %d prime numbers which are larger than %d are:\n ",n,lower); for(lower = 0; lower < n; lower ) printf(" %d ", res[lower]); // 文件輸入、數據處理、文件輸出 generateInDat(); readWriteDAT(); system("in.dat"); // 文件(數據輸入部分)打開 system("out.dat"); // 文件(數據輸出部分)打開 printf("\n Press any key to quit..."); getchar();getchar(); return; } /* This program is to get n prime numbers which are larger than lower. >> Please input two integers to lower and n : 119 5 >> The 5 prime numbers which are larger than 119 are: 127 131 137 139 149 Press any key to quit... */

随機生成内容的in.dat:

41 13 6334 17 19169 12 11478 18 26962 16 5705 17 23281 12 9961 5 2995 10 4827 7 32391 11 3902 5 292 10 17421 13 19718 14

out.dat:

43 47 53 59 61 67 71 73 79 83 89 97 101 6337 6343 6353 6359 6361 6367 6373 6379 6389 6397 6421 6427 6449 6451 6469 6473 6481 19181 19183 19207 19211 19213 19219 19231 19237 19249 19259 19267 19273 11483 11489 11491 11497 11503 11519 11527 11549 11551 11579 11587 11593 11597 11617 11621 11633 11657 11677 26981 26987 26993 27011 27017 27031 27043 27059 27061 27067 27073 27077 27091 27103 27107 27109 5711 5717 5737 5741 5743 5749 5779 5783 5791 5801 5807 5813 5821 5827 5839 5843 5849 23291 23293 23297 23311 23321 23327 23333 23339 23357 23369 23371 23399 9967 9973 10007 10009 10037 2999 3001 3011 3019 3023 3037 3041 3049 3061 3067 4831 4861 4871 4877 4889 4903 4909

-End-

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved