第七堂课后作业
2013-05-31 13:46
162 查看
预习1
目标:了解循环的嵌套
提示:参考 C语言循环的嵌套 了解更多信息
预习1题,自拟题,要求应用循环的嵌套语句,并说明程序循环执行的过程
此程序是求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)}
------------------------------------题目分割线------------------------------------
预习3
目标:了解位运算
提示:参考 位运算 了解更多信息
预习3题,自拟题,要求运用位运算符,并说明程序执行的过程
位运算:
计算绝对值
大学的生活不再像是以前一样,远离了父母,没有了老师的束缚,渐渐地我们越来越浮躁,开始懒惰,但是我们应该有自己的追求,应该放慢浮躁的脚步。
目标:了解循环的嵌套
提示:参考 C语言循环的嵌套 了解更多信息
预习1题,自拟题,要求应用循环的嵌套语句,并说明程序循环执行的过程
include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int i,j,sum1,sum2=0; for(i=1;i<=10;i++) { sum1=1; for(j=1;j<=i;j++) sum1=sum1*j; sum2=sum2+sum1; } printf("%d\n",sum2); 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 "stdafx.h" int main() { int m,a; long fact(int n); printf("请输入一个整数:"); scanf_s("%d",&m); a=fact(m); printf("%d\n",a); } long fact(int n) { long result; if(n==1||n==0) result=1; else result= n*fact(n-1); return result; }
嵌套调用:
求三个数字中最大数和最小数的差值:
#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题,自拟题,要求运用位运算符,并说明程序执行的过程
viod main() { int a,b; a= 4; b = 5; printf("%d",a&b); }
位运算:
计算绝对值
int abs(int x) { int y; y=x>>31; return (x^y)-y; }博客阅读,请放慢浮躁的脚步
大学的生活不再像是以前一样,远离了父母,没有了老师的束缚,渐渐地我们越来越浮躁,开始懒惰,但是我们应该有自己的追求,应该放慢浮躁的脚步。