計(jì)算500-800區(qū)間內(nèi)素?cái)?shù)的個(gè)數(shù)cnt,并按所求素?cái)?shù)的值從大到小的順序,再計(jì)算其間隔減、加之和,即第1個(gè)素?cái)?shù)-第2個(gè)素?cái)?shù)+第三個(gè)素?cái)?shù)-第4個(gè)素?cái)?shù)+第5個(gè)素?cái)?shù)。。。的值sum。請(qǐng)編寫(xiě)函數(shù)countvalue()實(shí)現(xiàn)程序的要求;最后main()函數(shù)調(diào)用函數(shù)writeDAT()把結(jié)果cnt和sum,輸出到文件OUT11.DAT中。
注意:部分源程序存放在prog1.c中請(qǐng)勿改動(dòng)主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDAT()的內(nèi)容。
#include
int cnt,sum;
void countvalue()
{
}
void main()
{cnt=sum=0;
countvalue();
printf("素?cái)?shù)的個(gè)數(shù)=%d\n",cnt);
printf("按要求計(jì)算的值=%d\n",sum);
writeDAT();}
writeDAT()
{FILE *fp;
fp=fopen("OUT11.DAT","w");
fprintf(fp,"%d\n%d\n",cnt,sum);
fclose(fp);
}
--------------------------------------------------------------------------------------
這是答案:
void countvalue()
{
int i,j,k,l;
k=0;
l=1;
for (i=800;i>=500;i--)
{
for (j=2;j<=i/2;j++)
{
if ((i%j)==0)
{
k=1;
break;
}
}
if ((k==0)&&(l==1))
{
sum=sum+i;
l=2;
cnt++;
continue;
}
if ((k==0)&&(l==2))
{sum=sum-i;
l=1;
cnt++;
}
k=0;
}
}
---------------------------------------------
void countvalue()
{int i,j;
for(i=800;i>=500;i--)
{for(j=2;j
if(!(i%j)) break;
if(j==i)
{ cnt++;
if(cnt%2) sum+=i;
else sum-=i;
}
}
}
相關(guān)推薦:2010年全國(guó)計(jì)算機(jī)等考二級(jí)C:程序設(shè)計(jì)實(shí)戰(zhàn)匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |