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
同学,第一个答案确是是"y=0"原因如下,首先我们要说自增和自减运算符“++”和“--”,如果该运算符的位置在 *** 作数之前,则 *** 作数在进行任何计算之前就已经发生改变,如果运算符在 *** 作数后面,则 *** 作数在完成表达式的计算之后才发生改变,例如inta=5,b=8,cc=a++*b
//"++"在 *** 作数a后面,先计算a*b=40,赋值给c,然后a++,a值为6,c的值为40c=++a*b
//"++"在 *** 作数a前面,先a++,a=7,再a*b,c=56然后我们来看你给的程序,因为是y--,"--"在y后面,则先判断while的条件,此时银纤y=1,即true,为真,然后y--,y=0,然后输出y:y=0;然后再判断while,因为此时y=0,为假,跳出循环,结束。要注意顺序,先判断whlie,然后y--,若while条件为真,则执行while的语句。
若改成"--y"的话,则先计算"--y",y=0,再判断while的条件,此时y=0,即false,为假,直接跳出循环,即什么都不做,结束。
第二题,你要注意的是while的条件不是"k==1"而是"锋晌仿k=1",不是一个判断语句,而是一个赋值语句。即while的条谨高件永远都是“k被赋值为1,然后k作为条件”进行判断,此时k是1,即true,为真会永远进行下去。
#include<stdio.h>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个数,每输入一次,就输出一个比它大的最小质数。
不懂可以追问我哦,谢谢。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)