ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:261.98KB ,
资源ID:5731896      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5731896.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基础知识.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基础知识.docx

1、基础知识1,判断一个正整数是否为质数。#include int main(void) int a,i; printf(please input a number:n); scanf(%d,&a); for (i=2;ia;i+) if(a%i=0) break; if(i=a|1=a) printf(%d is a prime numbern,a); else printf(%d is not a prime numbern,a); getchar(); return 0;2循环的嵌套,计算式子的值。#include int main(void) int i,j; long t=5,sum=0

2、; for(i=1;i=10;i+) for(j=1;ji;j+) t=t*5; sum=sum+t; t=5; printf(The result is n%ld,sum); getchar(); return 0;解析:这是一个典型的二重循环的例子,内层循环用来求解,n=1,2,.10;外层循环用来求解总和。本程序运行结果为:122070303.打印出“水仙花数” 所谓“水仙花数”就是指1个三位数,各位数字的立方和等于该数本身。例如。#include int main(void) int i,a,b,c; for(i=100;i1000;i+) a=i/100; b=i%100/10; c

3、=i%100%10; if(i=a*a*a+b*b*b+c*c*c) printf( %d ,i); getchar(); return 0;本程序运行结果为:153 370 371 4074.计算式子的和。分析:这也是一个典型的二重循环的问题,玄幻嵌套。#include int main(void) int i,j; long t,sum=0; for(i=1;i=10;i+) for(j=1,t=1;j=i;j+) t=t*j; sum=sum+t; printf(The result is: %ld,sum); getchar(); return 0;本程序运行结果为:The resul

4、t is: 40379135.找出50-100内的全部质数。分析:同样为二重的循环嵌套问题,内层循环用于判断质数,外城循环的作用是筛选出50-100的所有质数。#include int main(void) int i,j; for(i=50;i=100;i+) for(j=2;ji;j+) if(i%j=0) break; if(i=j) printf( %d ,i); /表明内层循环顺利结束,也就表明i为质数 getchar(); return 0;本程序运行结果为:53 59 61 67 71 73 79 83 89 976.函数的嵌套调用。(计算式子的值)解析:本题目可以直接用循环嵌套

5、调用即可,但是用函数嵌套的话可读性更强。#include int POW(int n) int i,j=1; for (i=1;i=n;i+) j=j*n; return j;int sum(int n) int i,s=0; for(i=1;i=n;i+) s=s+POW(i); return s;int main(void) int S; S=sum(5); printf(The result is: %d,S); getchar(); return 0;程序运行结果为: The result is:34137.求得阶乘采用递归调用实现。#include long Fact(int n)

6、if(n=0) return 1; else return n*Fact(n-1);int main(void) int n; long f; printf(Please input a number:n); scanf(%d,&n); f=Fact(n); printf(Fact(%d)=%ld,n,f); getchar(); return 0;8.选择排序演示。(一维数组的应用)从小到大排列。#include #define MAX 10int main(void) int i,j,t,sortMAX,min; printf(Please input ten interger:n); f

7、or(i=0;iMAX;i+) scanf(%d,&sorti); for(i=0;iMAX-1;i+) min=sorti; for(j=i+1;jMAX;j+) if(sortjmin) t=min; min=sortj; sortj=t; sorti=min; 比较结束,将min值放在第一个位置上。 printf(The result of sort is:n); for(i=0;iMAX;i+) printf( %d ,sorti); getchar(); return 0;9、应用二维数组实现矩阵的转置运算。#include int main(void) int i,j,a34,b4

8、3; printf(Please input 3x4 matrixn); for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,aij); for(i=0;i4;i+) for(j=0;j3;j+) bij=aji; printf(The revier matrix isn); for(i=0;i4;i+) for(j=0;j3;j+) printf(%d,bij); printf(n); getchar(); return 0;10、矩阵的乘法#include int main(void) int A33=(1,2,0),(2,3,5),(1,1,1); int B3

9、3=(2,2,3),(1,3,1),(0,0,1); int C33/*=(0,0,0),(0,0,0),(0,0,0)*/; int i,j,k; for(i=0;i3;i+) for(j=0;j3;j+) for(k=0;k3;k+) Cij=/*Cij+*/Aik*Bkj; printf(The result isn); for(i=0;i3;i+) for(j=0;j3;j+) printf( %d ,Cij); printf(n); getchar(); return 0;11、用指针变量作为函数的参数解决两个变量的内容对调问题。#include int swap(int *x,in

10、t *y) int t; t=*x; *x=*y; *y=t;int main(void) int a=1,b=10; printf(a=%d,b=%dn,a,b); swap(&a,&b); printf(a=%d,b=%dn,a,b); getchar(); return 0;11.输入X,Y,Z三个整数,编写一个程序使它们按照从小到大的顺序输出。#include void swap(int *x,int *y) int t; t=*x;*x=*y;*y=t;void exchange(int *p1,int *p2,int *p3) if(*p1*p2) swap(p1,p2); if(

11、*p2*p3) swap(p2,p3); if(*p1*p2) swap(p1,p2);int main(void) int x,y,z; scanf(%d,%d,%d,&x,&y,&z); exchange(&x,&y,&z); printf(%d,%d,%dn,x,y,z); getchar(); return 0;12、用指针引用数组元素的方法输出一个数组中的元素。#include int main(void) int a5,i,*p; p=a; for(i=0;i5;i+) scanf(%d,p+); p=a; for(i=0;i5;i+) printf( %d ,*(p+); get

12、char(); return 0;13,编写函数,实现“从10个数中找出最大值和最小值”,并给出测试函数。#include int max,min;void max_min_value(int array,int n) int *p,*array_end; array_end=array+n; max=min=*array; for(p=array+1;pmax) max=*p; else if(*pmin) min=*p; int main(void) int i,number10; printf(Input 10 interger numbers:n); for(i=0;i10;i+) s

13、canf(%d,&numberi); max_min_value(number,10); printf(nmax=%d,min=%dn,max,min); getch(); return 0;14.编写一个函数实现矩阵的转置运算。#include void inputmatrix(int (*a)4,int,int);void outputmatrix(int (*b)4,int ,int);void reverse(int (*a)4,int (*b)3);int main(void) int a34,b43; printf(Please input 3x4 matrix:n); input

14、matrix(a,3,4); reverse(a,b); printf(The revier matrix is:n); outputmatrix(b,4,3); getch(); return 0;void inputmatrix(int (*a)4,int n,int m) int i,j; for(i=0;in;i+) for(j=0;jm;j+) scanf(%d,*(a+i)+j); void outputmatrix(int (*b)4,int n,int m) int i,j; for(i=0;in;i+) for(j=0;jm;j+) printf( %d ,*(b+i)+j)

15、; printf(n); void reverse(int (*a)4,int (*b)3) int i,j; for(i=0;i4;i+) for(j=0;j3;j+) bij=aji; 15、采用一次性输入输出的方法进行字符串操作。#include int main() char str20; scanf(%s,str); printf(%s,str); getch(); return 0;16、编写一个函数,要求把一个字符串的内容复制到另一个字符串中。#include copy(char *s,char *q);int main() char *str,strcp20,*p; str=h

16、ello world!; p=strcp; copy(str,p); printf(%s,strcp); getch(); return 0;copy(char *s,char *q) int i=0; while(*(s+i) *q=*(s+i); i+; q+; *q=0;17、指向函数的指针演示。#include int main() int max(int a,int b); int (*pmax)(); int x,y,z; pmax=max; printf(input 2 interger:n); scanf(%d %d,&x,&y); z=(*pmax)(x,y); printf

17、(max=%d,z); getch(); return 1;int max(int a,int b) if(ab) return a; else return b;18、返回指针的函数。(返回值为指针的函数演示)#include int main() int maxp(int *p,int n); int a10,*max,i; printf(input 10 interger:n); for(i=0;i10;i+) scanf(%d,&ai); max=maxp(a,10); printf(The maxnum is: %d ,*max); getch(); return 1;int max

18、p(int *p,int n) int i,*max; max=p; for(i=0;i*max) max=p+i; return max;19、对学生信息记录按照学号从小到大顺序排序。(结构体应用) 对一般的数据类型数组,可以选用“冒泡排序”,也可以选择排序的算法。这些算法对于结构体数组同样适用。记住在结构体应用中定义后“;“必不可少啊。#include #define MAX 6struct stu int num; char name5;int main(void) int i,j; struct stu sortMAX,min,t; printf(Please input six st

19、udents records:n); for(i=0;iMAX;i+) printf(number:); scanf(%d,&sorti.num); printf(name:); scanf(%s,&sorti.name); for(i=0;iMAX-1;i+) min=sorti; for(j=i+1;jMAX;j+) if(sortj.nummin.num) t=min;min=sortj;sortj=t; sorti=min; printf(The result of sort is:n); for(i=0;iMAX;i+) printf(%d,%sn,sorti.num,sorti.n

20、ame); getch(); return 0;20、顺序表的应用。(插入,删除,初始化顺序表)#include #include conio.h#define maxsize 10typedef int elemtype;typedef struct int *elem; int length; int listsize;Sqlist;void iniSqlist(Sqlist *L) L-elem=(int *)malloc(maxsize*sizeof(elemtype); if(!L-elem) exit(0); L-length=0; L-listsize=maxsize;void

21、insertelem(Sqlist *L,int i,elemtype item) elemtype *base,*insertptr,*p; if(iL-length+1) exit(0); if(L-length=L-listsize) base=(elemtype*)realloc(L-elem,(L-listsize+10)*sizeof(elemtype); L-elem=base; L-listsize=L-listsize+100; insertptr=&(L-elemi-1); for(p=&(L-elemL-length-1);plength+;void delelem(Sq

22、list *L,int i) elemtype *delitem,*q; if(iL-length) exit(0); delitem=&(L-elemi-1); q=L-elem+L-length-1; for(+delitem;delitemlength-;int main(void) Sqlist l; int i; iniSqlist(&l); for(i=0;i15;i+) insertelem(&l,i+1,i+1); printf(nThe content of the list isn); for(i=0;il.length;i+) printf(%d,l.elemi); de

23、lelem(&l,5); printf(nDelete the fifth elementn); for(i=0;il.length;i+) printf(%d,l.elemi); getch(); return 0; 21、将一个数插入到有序的数列中,要求插入后仍然保持数列的有序性。完整的实验程序:#include stdafx.h#include #include #include #include using namespace std;#define N 10void selectsort(int b,int n) int i,j,k,temp; for (i=0;i=n-2;i+)

24、k=i; for(j=i+1;j=n-1;j+) if(bjbk) k=j; if(k!=i) temp=bi;bi=bk;bk=temp; void output(int b,int n) int i; coutendl; for(i=0;in;i+) coutbi ; coutendl;void main() int i,x,n,aN; coutplease input the number of intergers: n; coutplease input n intergers: endl; for(i=0;iai; selectsort(a,n); output(a,n); cout

25、please input the number which you want to sort:x; i=n-1; while(i=0)&(xai) ai+1=ai; i-; ai+1=x; output(a,n+1);实验结果如下:22、猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上,将剩下的桃子吃掉了一半又多吃了一个;以后每天早上都吃了前一天的剩下的一半零一个;到第10天早上就只剩下一个桃子了。编写程序,求第一天共摘了多少个桃子?分析:设第一天的桃子数为x1,第二天的桃子树为x2.即前一天的桃子树是后一天桃子树加1后的2倍。由此可得:第9天得桃子数是第10天得桃子数加1后的2倍。 第8天得桃子数是第9天得桃子数加1后的2倍。 .

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1