




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上程序题程序设计/*-【程序设计】-功能:编写函数fun(str,i,n),从字符串str中删除第i个 字符开始的连续n个字符(注意:str0代表字符串 的第一个字符)。-*/#include "stdio.h"#include "string.h"main() char str81; int i,n; void fun(char str,int i,int n); void TestFunc(); printf("请输入字符串str的值:n"); scanf("%s",str); prin
2、tf("你输入的字符串str是:%sn",str); printf("请输入删除位置i和待删字符个数n的值:n"); scanf("%d%d",&i,&n); while (i+n-1>strlen(str) printf("删除位置i和待删字符个数n的值错!请重新输入i和n的值n"); scanf("%d%d",&i,&n); fun(str,i,n); printf("删除后的字符串str是:%sn",str); TestFunc()
3、;void fun(char str,int i,int n) /*Begin*/while(stri+n-1) stri-1=stri+n-1; i+; stri-1='0'/* 或int j=i-1,k=i+n-1; while(strj+=strk+)!='0');*/ /* End */void TestFunc() FILE *IN,*OUT; char i200; /*char o200;*/ IN=fopen("in.dat","r"); if(IN=NULL) printf("Read File
4、Error"); OUT=fopen("out.dat","w"); if(OUT=NULL) printf("Write File Error"); fscanf(IN,"%s",i); fun(i,2,8); fprintf(OUT,"%sn",i); fclose(IN); fclose(OUT);/*-【程序设计】-功能:请编一个函数void fun(int ttMN,int ppN), tt指向一个M行N列的二维数组,求出二维数组每列 中最小元素,并依次放入pp所指一维数组中
5、。二维 数组中的数已在主函数中赋予。-*/#include "conio.h"#include "stdio.h"#define M 3#define N 4void fun(int ttMN,int ppN) /*Begin*/int i,j; for(j=0;j<N;j+) ppj=tt0j; for(i=1;i<M;i+) if(ttij<ppj) ppj=ttij; /* End */main() int tMN=22,45,56,30,19,33,45,38,20,22,66,40; void NONO(); int pN,i
6、,j,k; printf("The original data is:n"); for(i=0;i<M;i+) for(j=0;j<N;j+) printf("%6d",tij); printf("n"); fun(t,p); printf("nThe result is:n"); for(k=0;k<N;k+) printf("%4d",pk); printf("n"); NONO();/*-【程序设计】1685-功能:能计算从1开始到n的自然数的和,n由
7、键盘输入, 并在main()函数中输出。-*/#include "stdio.h" int fun(int n) /*Begin*/ int sum=0,i;for(i=1;i<=n;i+) sum=sum+i;return(sum); /* End */main() int m; void TestFunc(); printf("Enter m: "); scanf("%d", &m); printf("nThe result is %dn", fun(m); TestFunc(); /*-【程序设
8、计】1599-功能:调用函数fun判断一个三位数是否"水仙花数"。 在main函数中从键盘输入一个三位数,并输 出判断结果。请编写fun函数。说明:所谓"水仙花数"是指一3位数,其各位数字立方和 等于该数本身。例如:153是一个水仙花数,因为153=1+125+27。-*/#include "stdio.h"int fun(int n) /*Begin*/ int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10; if(n=bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;
9、 else return 0; /* End */main() int n,flag; scanf("%d",&n); flag=fun(n); if(flag) printf("%d 是水仙花数n",n); else printf("%d 不是水仙花数n",n); TestFunc();/*-【程序设计】-功能:编写函数sum(int m,int n),求出mn之间(包括m和n,m<n)能同时 被3和5整除的数的和,并将这些数的和作为返回值。-*/#include "stdio.h"int sum(
10、int m,int n) /*Begin*/ int i, s=0; for(i=m;i<=n;i+) if(i%3=0 && i%5=0)s+=i; return s; /* End */main() void TestFunc(); int m=15,n=300; printf("sum=%dn",sum(m,n); TestFunc();/*-【程序设计】-功能:求5行5列矩阵的主、副对角线上元素之和。注意, 两条对角线相交的元素只加一次。例如:主函数中给出的矩阵的两条对角线的和为45。-*/#include "stdio.h"
11、;#define M 5int fun(int aMM) /*Begin*/ int i, s=0; for(i=0;i<M;i+) s+=aii+aiM-i-1; s-=a(M-1)/2(M-1)/2; return s; /* End */main() int aMM=1,3,5,7,9,2,4,6,8,10,2,3,4,5,6,4,5,6,7,8,1,3,4,5,6; int y; y=fun(a); printf("s=%dn",y); TestFunc();/*-【程序设计】-功能:根据整型形参m,计算如下公式的值: y=1/5+1/61/71/81/9+1
12、/10.1/(m+5)例如:若m=9,则应输出:1.-*/#include "stdio.h"double fun(int m) /*Begin*/ int i; double y=0; for(i=0;i<=m;i+) y+=1./(i+5); return y; /* End */main() int n; void TestFunc(); printf("Enter n: "); scanf("%d", &n); printf("nThe result is %1fn", fun(n); Tes
13、tFunc(); /*-【程序设计】-功能:求一批数中最大值和最小值的积。-*/#define N 30#include "stdlib.h"#include "stdio.h"int max_min(int a,int n) /*Begin*/ int i, max, min; max=min=a0; for(i=1;i<n;i+) if(ai>max) max=ai; if(ai<min) min=ai; return max*min; /* End */main() int aN,i,k; void TestFunc(); for
14、(i=0;i<N;i+) ai=rand()%51+10; for(i=0;i<N;i+) printf("%5d",ai); if(i+1)%5=0) printf("n"); k=max_min(a,N); printf("the result is:%dn",k); /TestFunc();/*-【程序设计】-功能:把20个随机数存入一个数组,然后输出该数组中的 最小值。其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。-*/#include "stdio.h"#include
15、"stdlib.h"#define VSIZE 20 int vectorVSIZE ; int fun(int list,int size) /*Begin*/int i,min=0; for(i=1; i <size; i+) if(listmin>listi) min=i; return min; /* End */ main() int i; void NONO(); for (i=0;i<VSIZE;i+) vectori=rand(); printf("Vector%d=%6dn",i,vectori); i=fun(vec
16、tor,VSIZE); printf("nMininum: Vector%d=%6dn",i,vectori); NONO(); /*-【程序设计】-功能:求k!(k13),所求阶乘的值作为函数值返回。 (要求使用递归)-*/#include "stdio.h"#include "conio.h"long fun(int k) /*Begin*/if (k>0) return(k*fun(k-1);else if(k=0)return 1L; /* End */main() int m; void TestFunc(); pri
17、ntf("Enter m: "); scanf("%d", &m); printf("nThe result is %ldn", fun(m); TestFunc(); /*-【程序设计】-功能:用do-while语句求1100的累计和。-*/#include "stdio.h"long int fun(int n) /*Begin*/ int i =1, sum =0; do sum = sum + i; i+; while ( i <= n ); return sum; /* End */main
18、 () int i=100; void TestFunc(); printf("1100的累加和为:%ldn",fun(i); TestFunc();/*-【程序设计】-功能:编写程序,实现矩阵(3行3列)的转置(即行列互换) 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 -*/#include "stdio.h"void fun(int array33) /*Begin*/ int i,j,t; for(i=0; i &
19、lt; 3; i+) for(j=0; j < i; j+) t=arrayij; arrayij=arrayji; arrayji=t; /*【或】 int i, j, t; for (i=0; i < 3; i+) for (j=i+1; j < 3; j+) t=arrayij; arrayij=arrayji; arrayji = t;*/ /* End */ main() int i,j; void NONO(); int array33=100,200,300, 400,500,600, 700,800,900; for (i=0; i < 3; i+) f
20、or (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"); NONO(); /*-【程序设计】-功能:将字符串中的小写字母转换为对应的大写字母, 其它字符不变。-*/#include &quo
21、t;string.h"#include "stdio.h"void change(char str) /*Begin*/int i; for(i=0;stri!='0'i+) if(stri>='a' && stri<='z') stri=stri-32; /* End */main() void change(); char str40; void TestFunc(); gets(str); change(str); puts(str); TestFunc(); /*-【程序设计】-功
22、能:从低位开始取出长整型变量s中偶数位上的数,依次 构成一个新数放在t中。 例如:当s中的数为:时,t中的数为:642。-*/#include "stdio.h"long fun (long s,long t) /*Begin*/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,m; void TestFunc(); printf("nPlease enter s:&q
23、uot;); scanf("%ld", &s); m=fun(s,t); printf("The result is: %ldn", m); TestFunc();/*-【程序设计】-功能:求出二维数组外围元素之和,作为函数值返回。二 维数组的值在主函数中赋予。-*/#define M 4#define N 5#include "stdio.h"int fun(int aMN)/*Begin*/int s=0; int i,j; for(i=0;i<M;i+) s=s+ai0+aiN-1; for(j=1;j<N-
24、1;j+) s=s+a0j+aM-1j; return s;/* End */main() int aMN=1,3,5,7,9,2,4,6,8,10,2,3,4,5,6,4,5,6,7,8; void TestFunc(); int y; y=fun(a); printf("s=%dn",y); TestFunc();/*-【程序设计】-功能:找出一个大于给定整数且紧随这个整数的素数,并 作为函数值返回。-*/#include "stdio.h"#include"conio.h"int fun(int n) /*Begin*/int
25、i,k;for(i=n+1;i+)for(k=2;k<i;k+)if(i%k=0)break;if(k=i)return(i); /* End */main() int m; printf("Enter m: "); scanf("%d", &m); printf("nThe result is %dn", fun(m); TestFunc(); /*-【程序设计】-功能:计算并输出给定整数n的所有因子之和(不包括1与自身)。注意:n的值不大于1000。例如:n的值为855时,应输出704。-*/#include &qu
26、ot;stdio.h"int fun(int n) /*Begin*/ int s=0,i; for(i=2;i<n;i+) if(n%i=0)s=s+i; return s; /* End */main() printf("s=%dn",fun(855); TestFunc();/*-【程序设计】-功能:删去一维数组中所有重复的数,只保留不同的数。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如:一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是: 2 3
27、 4 5 6 7 8 9 10。注意:请勿改动主函数main和其它函数中的任何内容。-*/#include "stdio.h"#define N 80int fun(int a,int n) /*Begin*/int i,j=1,k=a0; for(i=1;i<n;i+) if(k!=ai) aj+=ai; k=ai; return j; /* End */main() void TestFunc(); int aN=2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10,i,n=20; printf("The origina
28、l data:n"); for(i=0;i<n;i+) printf("%3d",ai); n=fun(a,n); printf("nnThe data after deleted:n"); for(i=0;i<n;i+) printf("%3d",ai); printf("nn"); TestFunc();/*-【程序设计】-功能:用函数求N个10,60上的整数中能被5整除的最大 的数,如存在则返回这个最大值,如果不存在则 返回0。-*/#include "stdio.h"
29、;#include "stdlib.h"#define N 30int find(int arr,int n) int m=0; /*Begin*/ int i; for(i=0;i<n;i+) if(arri%5=0 && arri>m) m=arri; if(m=0) return 0; /* End */ return(m);main() int aN,i,k; void TestFunc(); for(i=0;i<N;i+) ai=rand()%50+10; for(i=0;i<N;i+) printf("%5d&q
30、uot;,ai); if(i+1)%5=0) printf("n"); k=find(a,N); if(k=0) printf("NO FOUNDn"); else printf("the max is:%dn",k); TestFunc();/*-【程序设计】-a1=1,a2=1/(1+a1),a3=1/(1+a2),an=1/(1+a(n-1)功能:根据整型参数n,计算如图公式的值。-*/#include "stdio.h"#include "conio.h"double fun(int n) /*Begin*/ int i; double a=0; for (i=1;i<=n;i+) a=1./(1+a); return a; /* End */main() int m; void TestFunc(); printf("Enter m: "); scanf(&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冥想课件介绍语
- 2025年广西贺州市平桂管理区平桂高级中学物理高一下期末监测模拟试题含解析
- 二零二五年IDC数据中心区块链技术服务合同
- 二零二五年度安全标准鸡苗运输安全管理合同
- 二零二五版车床租赁与设备租赁期内的维护责任协议
- 二零二五版专业旅游包车服务合同规范
- 2025年度餐饮连锁品牌合作协议
- 二零二五年环境监测与污染防控技术咨询合同
- 二零二五年度能源审计EMC合同能源管理服务协议
- 二零二五年度安全生产信息化建设责任合同书范本
- 2025新疆新型储能发展概述与展望报告-国网新疆经研院
- 2025年高考四川卷物理高考真题+解析(参考版)
- 轻型卒中临床诊疗中国专家共识(2024版)解读
- 2025年新高考1卷(新课标Ⅰ卷)英语试卷(含答案解析)+听力音频+听力原文
- 语文●全国甲卷丨2021年普通高等学校招生全国统一考试语文试卷及答案
- 铁路换枕合同协议书
- 我国生命教育二十年的发展回顾与未来展望
- 江苏省南通市区直属中学2025年七下数学期末学业水平测试试题含解析
- 2025年微生物学基础与应用试题及答案
- 中储粮入围协议书
- 2025年日本无杆锚项目可行性研究报告
评论
0/150
提交评论