作业1
目标:了解循环的嵌套
提示:参考 C语言循环的嵌套 了解更多信息
作业1题,自拟题,要求应用循环的嵌套语句,并说明程序循环执行的过程
#include<stdio.h>
int main(void)
{
int a,b;
for(a=1;a<=100;a++)
{
for(b=2;b<a;b++)
if(a%b==0)break;
if (b==a)
printf("%d\t",a);
}
printf("\n");
return 0;
}
运行结果:
此程序是求1-100的素数:
1、循环第1轮,a=1,a<=100,成立,a=a+1=2进入内循环
2、循环第2轮,b=2,b!<a,进入循环体,b=a条件成立,输出b=2.
3、循环第3轮,b++,b=3=a,条件成立,输出b=3.
4、循环第4轮,b=4,a%b==0,循环结束,进入第五轮循环…………
*****************************************************************************************************************************作业2
目标:了解函数的嵌套与递归
提示:参考 函数的嵌套与递归 了解更多信息
作业2题,自拟题,要求应用递归,并说明程序执行的过程.
嵌套调用:
求三个数字中最大数和最小数的差值:
#include<stdio.h>
int dif(int x,int y,int z);
int max(int x,int y,int z);
int min(int x,int y,int z);
void main()
{
int a,b,c,d;
scanf_s("%d%d%d",&a,&b,&c);
d=dif(a,b,c);
printf("Max-Min=%d\n",d);
}
int dif(int x,int y,int z)
{
return max(x,y,z)-min(x,y,z);
}
int max(int x,int y,int z)
{
int r;
r=x>y?x:y;
return(r>z?r:z);
}
int min(int x,int y,int z)
{
int r;
r=x<y?x:y;
return(r<z?r:z);
}
递归调用:
求年龄age={10 (n=1); age(n-1)+2 (n>1)}
#include<stdio.h>
int age(int n)
{
int c;
if(n==1)
c=10;
else
c=age(n-1)+2;
return c;
}
int main()
{
int x;
x=age(5);
printf("%d\n",x);
}
------------------------------------题目分割线------------------------------------
作业3
目标:了解位运算
提示:参考 位运算 了解更多信息
作业3题,自拟题,要求运用位运算符,并说明程序执行的过程.
位运算:
计算绝对值
int abs(int x)
{
int y;
y=x>>31;
return (x^y)-y;
}
------------------------------------题目分割线------------------------------------
作业4:博客阅读,请放慢浮躁的脚步
在大学生活中,我们都应该放慢脚步,一路上风景独好,在学习的过程中,体会的也不仅仅是知识,还有很多的道理。