码迷,mamicode.com
首页 > 其他好文 > 详细

局部变量和子函数的应用

时间:2014-11-15 23:08:57      阅读:424      评论:0      收藏:0      [点我收藏+]

标签:des   style   io   os   sp   for   strong   文件   div   

西南科技大学

ACM解题报告

 

 

 

姓名:张艺童

学号:5120142109

组号:3

班级:软件1402

 

1 题目来源:OJ 0615

2  题目描述:

Description

输出[m,n]间的所有素数,并且每5个换行,如果区间内不存在素数,输出0

Input
Output
Sample Input
1
3 17
Sample Ouput
1
2
3
3 5 7 11 13
17

3 题目分析及知识点:

知识点是判断一个数是否为素数;

重点在于怎样在判断了某个数是否为素数之后能够将其输出,建立动态数组来储存素数,然后在最后的部分一一输出,控制好换行即可。

4  AC源代码:

#include<stdio.h>
#include<malloc.h>
int main()
{

int sushu(int a);
int m,n,s;
int *a=(int*)malloc(10000000*sizeof(int));
while(scanf("%d%d",&m,&n)!=EOF)
{
if((m==0&&n==1)||(m==1&&n==2))
printf("2\n");
else
{
if(m==0&&n==2)
printf("3\n");
else
{
int j=0;
for(int i=m;i<=n;i++)
{
s=sushu(i);
if(s==0)
{
a[j]=i;
j=j+1;
}

}
if(j==0)
{
printf("0\n");
}
else
{
for(int k=0;k<j-1;k++)
{
printf("%d",a[k]);
if((k+1)%5==0)
{
printf("\n");
}
else
printf(" ");
}
printf("%d\n",a[j-1]);
}
}
}
}
return 0;
}




int sushu(int a)
{
int u=0;
for(int l=2;l<a;l++)
{
if(a%l==0)
{
u=u+1;
break;
}
}
return (u);
}

5 做题心得:

首先,做题过程中遇到的问题就是不知道该怎样用一个数组来储存素数;

在学习了建立动态数组之后,就顺利解决了这个问题。

建立动态数组:

头文件:#include<malloc.h>

int *a=(int*)malloc(100000*sizeof(int));

即建立了一个大小为100000的动态数组,当然这只是其中的一种方式。

局部变量和子函数的应用

标签:des   style   io   os   sp   for   strong   文件   div   

原文地址:http://www.cnblogs.com/try-my-best/p/4100385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!