复习资料程序设计设计部分_第1页
复习资料程序设计设计部分_第2页
复习资料程序设计设计部分_第3页
复习资料程序设计设计部分_第4页
复习资料程序设计设计部分_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、复习资料程序设计部分主要包括程序设计的三大结构、及数组、指针的应用及函数等。1、求和问题:功能:求给定正整数m以内的素数之和。例如:当m=20时,函数值为77。#include int fun(int m)/*Program*/ int i,k,s=0; for(i=2;i=m;i+) for(k=2;ki;k+) if(i%k=0)break; if(k=i)s=s+i; return s; /* End */main() int y; y=fun(20); printf(y=%dn,y); 2. 矩阵计算(二维数组)功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对

2、角线元素的平方和,并在fun()函数中输出。#include main() int i,j,s,a33; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); s=fun(a); printf(Sum=%dn,s);int fun(int a33) /*Program*/ int sum;int i;sum=0;for(i=0;i3;i+) sum=sum+aii*aii; return sum; /* End */3. 题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。 -*/#include #include #define N 3i

3、nt sum(int aN) /*Program*/ int i,j,k=0; for(i=0;iN;i+) for(j=N-1-i;jN;j+) k=k+aij; return(k); /* End */main() int aNN,i,j; for(i=0;iN;i+) for(j=0;jN;j+) aij=random(10)+10; printf(%3d,aij); printf(n); printf(=n); printf(sum=%5dn,sum(a); 4. 计数问题功能:求小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。-*/#include#include#

4、define MAX 100int fun(int lim,int aaMAX) /*Program*/ int n=0; int i,j; for(i=2;i=lim;i+) for(j=2;ji;j+) if(i%j=0) break; if(j=i) aan+=i; return n; /* End */main() int limit,i,sum; int aaMAX; printf(Please input ainteger:); scanf(%d,&limit); sum=fun(limit,aa); for(i=0;isum;i+) if(i%10=0&i!=0) printf(

5、n); printf(%5d,aai); 5. 功能:求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。#include int fun(int a,int n) /*Program*/ int i,k=0; float s=0,ave; for(i=0;in;i+) s+=ai; ave=s/n; printf(%f ,ave); for(i=0;iave)k+; return k; /* End */main()int a10=1,3,6,9,4,23,35,67,12,88; int y; y=fun(a,10); pri

6、ntf(y=%dn,y);6. 字符串排序题目:任输入十个国家的名字,按由小到大排序。#include #include void main( ) char a1020,b20; /用来保存国家的名字 b表示中间变量 int i,j; /循环变量/*Program*/for (i=0;i10;i+) gets(ai); for (i=0;i9;i+) for (j=i+1;j0) strcpy(b,ai); strcpy(ai,aj); strcpy(aj,b); /* End */ for (i=0;i10;i+) printf(%sn,ai);7. 最大值问题:功能:把20个随机数存入一个

7、数组,然后输出该数组中的最小值。其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义 #include #define VSIZE 20 int vectorVSIZE ; int fun(int list,int size) /*Program*/ int i,min=0; for(i=1; i listi) min=i; return min; /* End */ main() int i; for (i=0;iVSIZE;i+) vectori=rand(); printf(Vector%d=%6dn,i,vectori); i=fun(vector,VSIZE); prin

8、tf(nMininum: Vector%d=%6dn,i,vectori); 9. 字符串处理功能:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。例如:若程序执行时输入字符串为:turbocandborlandc+,从键盘上输入字符:n,则输出后变为:turbocadborladc+,如果输入的字符在字符串中不存在,则字符串照原样输出。 #include int fun(char s,int c) /*Program*/ char *q=s; for(; *q; q+) if(*q != c) *(s+)=*q; *s=0; /* End */ main() static cha

9、r str=turbocandborlandc+; char ch; printf(原始字符串:%sn, str); printf(输入一个字符:); scanf(%c,&ch); fun(str,ch); printf(str=%sn,str); 9. 功能:把20个随机数存入一个数组,然后输出该数组中的最大值。 #include #define VSIZE 20 int vectorVSIZE ; int fun(int list,int size) /*Program*/ int i,max=0; for(i=1; i size; i+)if(listmaxlisti) max=i; r

10、eturn max; /* End */ main() int i; for (i=0;iVSIZE;i+) vectori=rand(); printf(Vector%d=%6dn,i,vectori); i=fun(vector,VSIZE); printf(nMaxnum: Vector%d=%6dn,i,vectori); 10. 排序问题功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。例如:原来的字符串为CEAedca,排序后输出为CedcEAa。#include#include#includevoid fun(char *s,int num) /*Prog

11、ram*/ int i,j; char t; for(i=1;inum-1;i+) for(j=i+1;jnum-1;j+) if(sisj) t=si;si=sj;sj=t; /* End */main() char s10; printf(输入7个字符的字符串:); gets(s); fun(s,7); printf(n%s,s);11. 二维数组计算功能:请编一个函数void fun(int ttMN,int ppN), tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。-*/#include#include#def

12、ine M 3#define N 4void fun(int ttMN,int ppN) /*Program*/ int i,j; for(j=0;jN;j+) ppj=tt0j; for(i=1;iM;i+) if(ttijppj) ppj=ttij; /* End */main() int tMN=22,45,56,30, 19,33,45,38, 20,22,66,40; int pN,i,j,k; printf(The original data is:n); for(i=0;iM;i+) for(j=0;jN;j+) printf(%6d,tij); printf(n); fun(t

13、,p); printf(nThe result is:n); for(k=0;kN;k+) printf(%4d,pk); printf(n);12. 功能:编写程序, 求矩阵(3行3列)与2的乘积 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 200 400 600 800 1000 1200 1400 1600 1800 -*/#include void fun(int array33) /*Program*/ int i,j; for(i=0; i 3; i+) for(j=0; j 3; j+) arrayij=arrayi

14、j*2; /* End */ main() int i,j; int array33=100,200,300, 400,500,600, 700,800,900; for (i=0; i 3; i+) for (j=0; j 3; j+) printf(%7d,arrayij); printf(n); fun(array); printf(Converted array:n); for (i=0; i 3; i+) for (j=0; j 3; j+) printf(%7d,arrayij); printf(n); 13. 函数功能:编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整

15、除则返回1,否则返回0。调用该函数找出 100200之间满足条件的所有数。#include int sub(int m) /*Program*/ int k,s=0; do s=s+m%10; m=m/10; while(m!=0); if(s%7=0)k=1; else k=0; return(k); /* End */main()int i; for(i=100;i=200;i+) if(sub(i)=1) printf(%4d,i);14. 分段函数功能:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数

16、依次放在 c数的个位和百位上。 例如:当a45,b=12。调用该函数后,c=4251。 #include void fun(int a, int b, long *c) /*Program*/ *c=a/10*1000+a%10*10+b/10+b%10*100; /* End */main() int a,b; long c; printf(input a, b:); scanf(%d%d, &a, &b); fun(a, b, &c); printf(The result is: %ldn, c); 15. 与正整数的各位数字分离相关的问题功能:从低位开始取出长整型变量s中偶数位上的数,依

17、次构成一个新数放在t中。 例如:当s中的数为:7654321时,t中的数为:642。#include long fun (long s,long t) /*Program*/long sl=10;s /= 10; t = s % 10;while(s 0) s = s/100; t = s%10*sl + t;sl = sl * 10; /* End */ return t; main() long s, t=0,m; printf(nPlease enter s:); scanf(%ld, &s); m=fun(s,t); printf(The result is: %ldn, m); 16. 题目:已知某班5名学生的三门课成绩。试编写程序,输入这5个学生的三门课成绩 a53,输出每门课成绩的平均分vag3。#include v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论