版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. 第一周作业1输入两个正整数m和n, 求其最大公约数和最小公倍数. 用辗转相除法求最大公约数 算法描述: m对n求余为a, 若a不等于0 则 m - n, n - a, 继续求余 否则 n 为最大公约数 最小公倍数 = 两个数的积 / 最大公约数 #include int main() int m, n; int m_cup, n_cup, res; /*被除数, 除数, 余数*/ printf(Enter two integer:n); scanf(%d %d, &m, &n); if (m 0 & n 0) m_cup = m; n_cup = n; res = m_cup % n_cu
2、p; while (res != 0) m_cup = n_cup; n_cup = res; res = m_cup % n_cup; 2、分别用三种循环语句(while语句、do-while语句、for语句),实现求1100的累加和。第2周的题目:(要求用数组做)printf(Greatest common divisor: %dn, n_cup); printf(Lease common multiple : %dn, m * n / n_cup); else printf(Error!n); return 0; 2int sum = 0;int i=0;while(i100) sum
3、+= (i+1); i+;printf(%d , sum);i=0;do sum += (i+1); i+;while(i =100)printf(%d , sum);for(i = 1 ; i =100 ; i+) sum += i;printf(%d , sum); 第二周作业1用冒泡法对输入的10个整数排序。#include#includevoid print(int *a,int n);void paixu(int *a,int n);void main()int a10;int i;printf(请输入10个整数:);for(i=0;i10;i+)scanf(%d,&ai);paix
4、u(a,i);/排序print(a,i);/输出int s *a,int *b)/交换int t;t=*a;*a=*b;*b=t;/冒泡排序,从大到小void paixu(int *a,int n)int i,j=0,k;printf(=从大到小排序后=n);for(i=0;in-1;i+)for(j=1;jn-i;j+)if(aj-1aj)sj,&aj-1);void print(int *a,int n)int i;for(i=0;in;i+)printf(%d ,*(a+i);printf(n);2、用数组求Fibonacci数列前20个数。#includevoid main() int
5、 i; int f20=1,1; for(i=2;i20;i+) fi=fi-2+fi-1; for(i=0;i20;i+) if(i%5=0) printf(n); printf(%10d,fi); printf(n); 第三周作业11、求两个正整数的最大公约数和最小公倍数,用一个函数求最大公约数。用另一个函数根据求出的最大公约数求最小公倍数。#includeusing namespace std;int greatest_c_divisor(int x,int y); /求最大公约数 int least_c_multiple(int x,int y,int gcd); /求最小公倍数 in
6、t main() int x,y,gcd,lcm; cout请输入两个正整数xy; gcd=greatest_c_divisor(x,y); lcm=least_c_multiple(x,y,gcd); cout这两个数的最大公约数是gcdn这两个数的最小公倍数是lcmy?gcd=y:gcd=x; /两个数中的最小值 for(;x%gcd!=0|y%gcd!=0;gcd-); return gcd; int least_c_multiple(int x,int y,int gcd) int lcm; lcm=x*y/gcd; return lcm;2写一函数,用起泡法对输入的10个字符按从小到
7、大顺序排列。#include void main() int i, j, temp; int element10; int *start, *end; printf(n请输入10个数:n ); for(i = 0;i 10;i+) scanf(%d, &elementi); start = element; /* start 指针指向数组的第一个元素 */ end = element + 10; /* end 指针指向数组的最后一个元素 */ printf(n原始数组:n); /* 输出原始数组 */ for(;start 0;i-) for(j = 10 - i;j 0;j-) if(*(s
8、tart + j-1) *(start+j) temp = *(start + j-1); *(start + j-1) = *(start+j); *(start+j) = temp; for(start = element;start end;start+) printf(%d , *start); printf(n); 第四周作业1、将数组a中的n个整数按相反顺序存放。(要求用指针做)void inv(int *a, int n) int tmp; int i, j = n - 1; for (i = 0; i j; i+) tmp = *(a+i); *(a+i) = *(a+j);
9、*(a+j) = tmp; j-; 2输入3个学生各学4门课,计算总平均分,并查找一门以上课程不及格的学生, 输出其各门课成绩。(要求用指针做)#include stdio.h#include stdlib.hstruct student char name10; int chinese; int english; int shuxue; int lishi; int sum; float avg;void main() struct student a3; int i,j,k; for(i=0;i3;i+) scanf(%s%d%d%d%d,,&ai.chinese,&ai.e
10、nglish,&ai.shuxue,&ai.lishi); ai.sum=ai.chinese+ai.english+ai.shuxue+ai.lishi; ai.avg=(ai.chinese+ai.english+ai.shuxue+ai.lishi)/3; printf(n); for(i=0;i3;i+) if(ai.chinese60|ai.english60|ai.shuxue60|ai.lishi60) printf(%s chinese:%d english:%d shuxue:%d lishi:%d sum:%d avf%.2fn,,ai.chinese,ai.
11、english,ai.shuxue,ai.lishi,ai.sum,ai.avg); 第五周作业1、编写一个函数input,用来输入5个学生的数据记录,再编写一个函数output,用来输出5个学生的数据记录,每个记录包括学号、姓名和3门课成绩。下周1之前把写好的程序文件传回来给我(要求用结构体做)#includestruct men int num; char name8; char sex8; float score;boy5;void input() int i; for(i=0;i5;i+) printf(Input the number:n); scanf(%d,&boyi.num); printf(Input the name:n); scanf(%s,); printf(Input the sex:n); scanf(%s,boyi.sex); printf(Input the score:n); scanf(%f,&boyi.score); void output() int i; for(i=0;i5;i+) printf(NUMtttNAMEtttSE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论