bool
visited[1005]
=
{
0
}//定义一个有1006个元素的bool数组变量
int
prime[1000]//定义一个有1001个元素的int数组变量
int
isPrime(int
n){//定义一个判断质数的函数,其中的n是参数
if(n
<
2)
return
0//如果n<2,该数不是质数
int
i//定义一个变量i
for
(i
=
2
i*i
<=
n
i++)
if
(n
%
i
==
0)
return
0//判断是否是质数
return
1
}
int
main(){
int
n
scanf("%d",
&n)//输入n
while
(n--){//当n自减1,这时若n不是0时,执行以下循环
int
m//定义一个变量m(在循环过程中是重置变量m)
scanf("%d",
&m)//输出m
if
(m
==
0)//如果m=0
printf("6\n")//输出6并且换行
else{//如果m不等于0
for
(int
i
=
m
i++)//进入循环定义i=m,每一次循环i自增1
if
(isPrime(i)){//如果i是质数
printf("%d\n",
i)//输出i
break//退出循环
}
}
}
return
0//程序结束
}
总的来说,这个程序先输入一个数n,然后输入n个数,每输入一次,就输出一个比它大的最小质数。
不懂可以追问我哦,谢谢。
1.
#include "stdio.h"
main()
{
printf("\n\n%d,%d\n",20/7,-20/7)
printf("%f,%f\n",20.0/7,-20.0/7)
}
运行截图
分析:
\n 表示换行
%d 表示以十进制形式输出带符号整数(正数不输出符号)
%f 表示以小数形式输出单、双精度实数
2.
#include "stdio.h"
main()
{
int x
char y
x=65
y='B'
printf("x=%c\n",x)
printf("y=%c\n",y)
printf("y=%d\n",y)
}
运行截图
分析:
%c 表示输出单个字符
3.
#include "stdio.h"
main()
{
int i=7,j=7,p,q
p=(i++)+(i++)+(i++)
q=(++j)+(++j)+(++j)
printf("%d,%d,%d,%d",p,q,i,j)
}
运行截图
分析:
i++ 表示先使用i,然后i的值加1
++i 表示先把i的值加1,再使用i
这个程序应该是把十进制数
转换成
二进制数
输出
#include
//
头文件
void
main()
{
int
a,b[10],c,i=0
//
a存储待转换的十进制数,b[10]存储转换后的二进制位,
//
c
是存储
,
printf("输入一个整数\n")
scanf("%d",&a)
//
输入需转换的十进制数
while(a!=0)
//
只要a不为零,就继续转换
{
c=a%2
//
把a除以2
的余数赋值给c
a=a/2
//
把商存入a进行下一次循环
b[i]=c
//
把余数存到数组中作为二进制中的一位
i++
}
for(i>0i--)
printf("%d",
b[i-1])
//反向输出余数,即得到二进制
例如输入4
因为4
!=
0
4
/
2
=
2((商=a)...........0(余数=c=b[0])
因为2
!=
0
2
/
2
=
1((商=a)...........0(余数=c=b[1])
因为1
!=
0
1
/
2
=
0((商=a)...........1(余数=c=b[2])
因为
0
=
0
结束循环输出
b[2]
b[1]
b[0]
即
100,也就是二进制的
4