今、学校の授業でファイルの入出力をやっています。
"rand.dat"には0~1の乱数が入っています。0.5未満の時には"T"が表示されそれ以外は"H"が表示されるようにするよう指示されました。そこまではできていると思うのですが。。。
最後にTがいくつ表示されたかをカウントするプログラムを入れなければならないのですができません。
何が間違っているのか教えてください。お願いします。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 100
int main(void)
{
int i,b=0;
double y,a[N];
FILE *fp1,*fp2;
fp1=fopen("rand.dat","r");
fp2=fopen("dice.dat","w");
for(i=0;i<=N-1;i++){
fscanf(fp1,"%lf",&a);
}
for(i=0;i<=N-1;i++){
// printf("\n%d,%f",i,a);
if(a<0.5){
fprintf(fp2,"H");
printf("H");
}
else{
fprintf(fp2,"T");
printf("T");
}
}
printf("\n");
/* ここから先がつまづいてる部分です。 */
for(i=0;a!='\0';i++){
if("a=='T'"){
b++;
}
}
fprintf(fp2,"Tは%d個あります。\n",b);
printf("Tは%d個あります。\n",b);
fclose(fp1);
fclose(fp2);
return 0;
}
Tの個数
Re:Tの個数
#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 100 int main(void) { int i,b=0; double y,a[N]; FILE *fp1,*fp2; fp1=fopen("rand.dat","r"); fp2=fopen("dice.dat","w"); for(i=0;i<=N-1;i++){ fscanf(fp1,"%lf",&a); } for(i=0;i<=N-1;i++){ // printf("\n%d,%f",i,a); if(a<0.5){ fprintf(fp2,"H"); printf("H"); } else{ fprintf(fp2,"T"); printf("T"); b++; } } printf("\n"); fprintf(fp2,"Tは%d個あります。\n",b); printf("Tは%d個あります。\n",b); fclose(fp1); fclose(fp2); return 0; }