C语⾔基础第五次作业7-1,判断素数
1.实验代码:
#include<stdio.h>
#include<math.h>
int main()
{
int i, N, m, q;
scanf("%d", &N);
for(q=1; q<=N; q++){
scanf("%d", &m);
for(i=2; i<=sqrt(m); i++)
if(m % i == 0)
break;
if(i>sqrt(m) && m !=1)
printf("Yes\n");
else
printf("No\n");
}
return0;
}
2.设计思路:
c++判断素数(1)⽂字描述:
第⼀步:定义变量i,i,n,m,q
第⼆步:⽤q控制连续输⼊N个值,⽤i来判断输⼊值m是否为素数
第三步:输出yes或no 结束程序
(2)流程图:
3.本题调试过程遇到的问题及解决办法
遇到的问题:两个“=”号之间有空格,另外本题⽤i到m/2来的数判断m是否是素数会运⾏超时
解决办法:去掉两个等于号之间的空格;改⽤到根号m来判断则能解决这⼀问题
7-3 交换最⼤值最⼩值
1.实验代码
#include <stdio.h>
main()
{
int N,i,x,d,min,max,q;
int a[10];
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
min=max=a[0];
for(i=0;i<N;i++)
{
if(a[i]<=min)
{
min=a[i];
q=i;
}
}
x=a[0];
a[0]=min;
a[q]=x;
for(i=0;i<N;i++)
{
if(a[i]>=max)
{
max=a[i];
q=i;
}
}
d=max;
a[q]=a[N-1];
a[N-1]=d;
for(i=0;i<N;i++)
printf("%d ",a[i]);
return0;
}
2.设计思路
(1)⽂字描述:
第⼀步:定义变量n,i,x,d,min,max,q,定义数组a[10]
第⼆步:⽤i来控制寻N个数的中的最⼤值最⼩值的下标,min和max分别作为最⼩值最⼤值的载体,⽤q作为中间变量来承载最⼤值最⼩值下标的转换
第三步:最⼩值,最⼤值,然后进⾏分别与第⼀个数和最后⼀个数的替换
第四步:⼀次按顺序输出N个数结束程序
总⽽⾔之整体思路就是先出最⼩值和最⼤值再分别与第⼀个数和最后⼀个数交换(2)流程图:
3.遇到的问题及解决办法
问题:在对最⼩值和最⼤值的载体min和max进⾏赋初值时习惯性赋值为0忽略了本题应从输⼊的数中选数赋值,相互⽐较才能出最⼩值和最⼤值
解决办法:将min和max的初值均赋值为数组的第⼀个数
⼆,总结学习进度条
1.本周我们主要学习了数组,了解了什么是数组以及学习了⼀维数组,⼆维数组的使⽤,对数字数组掌握得还可以,但对字符数组以及字符串有点迷迷糊糊还⽆法做到运⽤
2.
3.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论