プログラムのまちがいを教えてください
Posted: 2011年7月26日(火) 18:21
宿題でC言語でエラトステネスの篩を使って1000万までにいくつあるかを数えるソースプログラムを作成してるのですが、エラーが出て進めることができません。
ソースプログラムは
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
int *a,sum,i;
int main(){
a = malloc(sizeof (int) * 10000000);
for(i=2;i<=10000000;i++){
a=i;
}
for(i=2;i<=10000000;i++){
if(a!=2&&a%2==0)
a=0;
else if(a!=3&&a%3==0)
a=0;
else if(a!=5&&a%5==0)
a=0;
else if(a[i]!=7&&a[i]%7==0)
a[i]=0;
}
for(i=2;i<=10000000;i++){
if(a[i]!=1&&a[i]!=0){
sum+=a[i];
printf("%d",sum);
return 0;
}
}
です。
エラーメッセージは
In fuction `main’:
error: parse error at end of input
です。
どこを直せばいいかおしえてください。
ソースプログラムは
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
int *a,sum,i;
int main(){
a = malloc(sizeof (int) * 10000000);
for(i=2;i<=10000000;i++){
a=i;
}
for(i=2;i<=10000000;i++){
if(a!=2&&a%2==0)
a=0;
else if(a!=3&&a%3==0)
a=0;
else if(a!=5&&a%5==0)
a=0;
else if(a[i]!=7&&a[i]%7==0)
a[i]=0;
}
for(i=2;i<=10000000;i++){
if(a[i]!=1&&a[i]!=0){
sum+=a[i];
printf("%d",sum);
return 0;
}
}
です。
エラーメッセージは
In fuction `main’:
error: parse error at end of input
です。
どこを直せばいいかおしえてください。