2

Linux で学校のプロジェクトがあり、100 から 999 までの 1000 個の乱数を含むユーザー定義のテキスト ファイルを作成する必要があります。

配列を使用してユーザー定義ファイルを作成できましたが、コードにエラーはありませんが、実行するとファイルに数字が 1 つしかありませんが、使用する数字を 1000 個にしたいのですが、うまくいきません助けてください?

#include<stdio.h>
#define MAX 100

int main()
{
    FILE *fp;
    char dosya[MAX];
    printf("\nLütfen dosya adı giriniz:");
    scanf("%s",dosya);
    fp=fopen(dosya,"w");
    int i;
    for (i=0;i<1000;i++);
    {

        int sayi;

        sayi=rand()%999-100;
        fprintf(fp,"\n");
        fprintf(fp,"%d\n",sayi);
        fprintf(fp,"\n");
    }
    fclose(fp);
    return 0;
}

ファイルでこれを実行すると、数字が1つしかないため、同じ行に1000回書き込み続けると思います(ただし、/ nがあります)forループとその動作をチェックした残りはどこですか?

4

3 に答える 3

1

for ループを作成した直後に終了しています。下の行のセミコロンを削除します。

for (i=0;i<1000;i++);

最終的なコード:

#include<stdio.h>
#define MAX 100

int main(){
FILE *fp;
char dosya[MAX];
printf("\nLütfen dosya adı giriniz:");
scanf("%s",dosya);
fp=fopen(dosya,"w");
int i;
for (i=0;i<1000;i++){ 
    int sayi;
    sayi=rand()%999;
    fprintf(fp,"\n");
    fprintf(fp,"%d\n",sayi);
    fprintf(fp,"\n");
}
fclose(fp);
return 0;

}

于 2013-11-12T19:20:34.670 に答える