版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . 1、10个人的成绩存放在score数组中,编写函数fun,求出平均分,并作为函数值返回,且输出不及格人数。 #includefloat fun (int a10)int i,aver,sum=0;for(i=0;i10;i+)sum=sum+ai;aver=sum/10;return aver;void main()int i,j=0,a10=10,20,30,40,50,60,70,80,90,100;float aver; for(i=0;i10;i+) if(ai60) j+;aver=fun (a);printf(10个人的成绩平均分为:%5.2fn,aver);printf(n
2、);printf(不及格人数:%dn,j); 2、 求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整数,并将他们放在指定的数组a中。 #include void main() int i,n,a500; n = fun(a); for(i = 0; i n; i+) printf(%8d,ai); int fun (int a) int i = 7, j = 0; for(; i = 100; i+) if (i % 7 = 0 | i % 11 = 0)&( !(i % 7= 0 & i % 11 = 0) ) ) aj+ = i; return j ;3、求方程的解。
3、 #include#includevoid main()float a,b,c,d,x1,x2,m,n;printf(请输入方程的3个系数,a,b,c:);scanf(%f,%f,%f,&a,&b,&c);printf(该方程n);if(fabs(a)=1e-6)if(fabs(b)=1e-6) if(fabs(c)=1e-6)printf(有无穷多个解n); else printf(无解n); elseprintf(有一个根:%8.4fn,-c/b);elsed=b*b-4*a*c; if(fabs(d)1e-6) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(
4、2*a); printf(有两个不等的实根:%8.4f和%8.4fn,x1,x2); else m=-b/(2*a); n=sqrt(-d)/(2*a); printf(有两个复根:n); printf(%8.4f+%8.4fin,m,n); printf(%8.4f-%8.4fin,m,n); 4、给出一个百分制成绩,要求输出成绩等级A、B、C、D、E,90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。要求:当输入分数为负值,或大于100时,通知用户“输入数据错误,重新输入”。 #includevoid main()float x;char y; printf(
5、输入学生成绩:x=); scanf(%f,&x); while(x100|x=90) y=A; else if(x=80) y=B; else if(x=70) y=C; else if(x=60) y=D; else y=E; printf(n学生的等级为:y=%cn,y);5、 求数组中最大元素在数组中的下标并存放在指针k所指的储存单元中。 # include void fun(int *s, int t , int *k) int i ,max; max=s0; for (i=0;imax) max=si; *k=i; void main( ) int a10=876,675,896,1
6、01,301,401,980,431,451,777, k ; fun(a,10, &k); printf(最大值在a中的位置为:i=%dn最大值为:%dn, k, ak); 6、编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+4+n)。 #include float fun(int n)int i;float s=1.0,t=1.0;for(i=2;i=n;i+)t=t+i;s=s+1/t;return s;void main()float y;int n;printf(输入n的值:n);sca
7、nf(%d,&n);y=fun(n);printf(y=%fn,y);7、定义了77的二维数组,并在主函数中自动赋值。编写函数 fun(int a7),该函数的功能是:使数组左下半三角元素中的值全部置成0。 #include int fun(int a7) int i,j; for(i=0;i7;i+) for(j=0;jj) aij=0; void main() int a77,i,j; for(i=0;i7;i+) for(j=0;j7;j+) aij=i+j+1; printf(%3d,aij); printf(n); fun(a); printf(输出处理后的数组a:n); for(i
8、=0;i7;i+) for(j=0;j7;j+) printf(%3d,aij); printf(n); 8、 编写一个函数void fun(int tt56,int pp6),tt指向一个5行6列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中初始化。 #include void fun(int tt56,int pp6) int i,j,min; for(j = 0;j 6;j+) min = tt0j; for(i= 0;i 5;i+) if(ttij min) min = ttij; ppj = min; void main() i
9、nt t56=68,56,32,44,54,12,14,56,24,47,88,58,42,85,22,75,44,56,45,12,3,5,78,45,45,65,25,75,85,41; int p6,i,j,k; printf(The riginal data is:n); for(i = 0;i 5;i+) for(j = 0;j 6;j+) printf(%6d,tij); printf(n); fun(t,p); printf(n二维函数组每列中最小元素为:n); for(k = 0;k 6;k+) printf(%4d,pk); printf(n);9、求出4行5列的二维数组周边
10、元素之和。#include void main() int a45,i,j,sum=0,sum1=0,sum2=0; printf(请输入4*5矩阵数据:); for(i=0;i4;i+) for(j=0;j5;j+) scanf(%d,&aij); for(i=0;i4;i+) sum1=sum1+ai0+ai4; for(j=0;j5;j+) sum2=sum2+a0j+a3j; sum=sum1+sum2-a00-a04-a30-a34; printf(矩阵周边元素之和为:%dn,sum); 10、 编写程序,把字符串中的内容逆置(不准使用多个字符数组)。 #include void m
11、ain() char a80; char t; int i,n; printf(输入一行字符串:n); gets(a); n=strlen(a); for(i=0;i=n/2;i+) t=ai; ai=an-i-1; an-i-1=t; printf(字符串中的内容逆置为:n); puts(a); 11、 编写程序,从字符串中删除指定的字符,同一字母的大、小写按不同字符处理。并把删除好的字符以字符串的形式输出(不准使用多个字符数组)。 #include #include void main() char ch,str100; int i,j=0; printf(输入字符串:n); gets(s
12、tr); 无上限读取字符 printf(输入要删除的字符:); ch=getchar(); for(i=0;istrlen(str);i+) if(stri!=ch)strj+=stri; strj=0; printf(n字符串str为:%sn,str); #include#includevoid main()char a80;char ch;int i,j;int n;printf(输入一串字符字符:n);gets(a);printf(输入要删除的字符:);ch=getchar();i=0;while(ai!=0)while(ai!=0&ai!=ch)i+;n=strlen(a);for(j
13、=i;jn-1;j+)aj=aj+1;aj=0; printf(删除后的字符串:); puts(a);12、 编写程序,对长度为7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。 #include void main() char c8; char i,j,temp; printf(长度为7个字符的c字符串:); gets(c); for (i=1;i=5;i+) for (j=i+1;j=5;j+) if (cicj) temp=ci; ci=cj; cj=temp; printf(首尾字符外,将其余5个字符按ascii码降序排列为:%sn,c); 13、 编写函数fun
14、,它的功能是:比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。 #include #include char *fun(char *a,char *b) int i,j; for(i=0;*(a+i);i+); for(j=0;*(b+j);j+); if(i=j) return a; else return b; void main() char a100,b100,*c; printf(输入a字符串: ); gets(a); printf(输入b字符串 :); gets(b); c=fun(a,b); pri
15、ntf(输出较长的c字符串:); puts(c); 14、给一个不多于5位的正整数,要求求出它是几位数,打印出每一位数字,并按逆序打印出各位数字。 #include void main() long int num; int a,b,c,d,f,place; printf(输入num的数值:); scanf(%d,&num);if(num9999)place=5;elseif(num999)place=4;elseif(num99)place=3;elseif(num9)place=2;elseplace=1;printf(place=%dn,place); f=num/10000;d=num
16、/1000%10;c=num/100%10;b=num/10%10; a=num%10;switch(place) case 5: printf(%d,%d,%d,%d,%d,f,d,c,b,a);printf(n反序数为:);printf(%d,%d,%d,%d,%dn,a,b,c,d,f); break; case 4: printf(%d,%d,%d,%d,d,c,b,a);printf(n反序数为:);printf(%d,%d,%d,%dn,a,b,c,d); break; case 3: printf(%d,%d,%d,c,b,a);printf(n反序数为:);printf(%d,
17、%d,%dn,a,b,c); break; case 2: printf(%d,%d,b,a);printf(n反序数为:);printf(%d,%dn,a,b); break; case 1: printf(%d,a);printf(n反序数为:);printf(%dn,a); break; 15、 编写一个函数fun,它的功能是:求出一个68的整型二维数组中最大元素的值,并将此值返回调用函数。 数组在主函数中初始化,并最终输出结果。#include int fun(int a68) int i,j,max=a00; for(i=0;i6;i+)for(j=0;j8;j+) if(maxai
18、j)max=aij; return max; void main()int arr68=1,8,7,4,6,1,2,3,65,75,12,45,62,18,65,24,32,1,5,4,6,7,8,9,5,5,5,9,9,9,8,8,9,5,2,4,7,81,2,5,3,2,1,4,5,6,9,8;int i,j,max; printf(array a:n); for(i=0;i6;i+) for(j=0;j8;j+) printf(%4d,arrij); printf(n); max=fun(arr); printf(max=%dn,max); 16、将字符数组s中的字符串,除了下标为偶数、
19、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在新的字符数组t中。 #include #include void main() char s100, t100; int i,j=0,n; printf(n输入字符串 S:); gets(s);/scanf(%s, s); n=strlen(s); for(i=0;in;i+) if(i%2=0&si%2=0) tj=si; j+; tj=0; printf(nThe result is : %sn, t); #include #include void fun(char *s,char t) int i,j=0
20、,n; n=strlen(s); for(i=0;in;i+) if(i%2=0&si%2=0) tj=si; j+; tj=0; void main() char s100, t100; printf(nPlease enter string S:); gets(s);/scanf(%s, s); fun(s, t); printf(nThe result is : %sn, t);17、 假定输入的字符串中只包含字母和*号。则使字符串中的*号不得多于3个;若多于3个,则删除多于的*号;若少于或等于3个,则什么也不做。 #include#includevoid main()char str5
21、0,c50,b;int i,j,n,a50=0,k,l;gets(str);n=strlen(str);for(l=0,j=0,i=0;in;i+)if(stri=*)l+;if(l=3)aj=i;j+;elseaj=i;j+;for(i=0;ij;i+)k=ai;b=strk;stri=b;for(i=j;in;i+)stri=0;puts(str);18、编程计算1!+2!+3!+n!的值,其中,n值由键盘输入。 #includevoid main()int n; int i=1,t=1,sum=0; printf(输入n的数值:); scanf(%d,&n); do t=t*i; sum
22、=sum+t; i+; while(i=n); printf(sum=%dn,sum);19、 编写程序,删除字符串中的所有空格。 #include #include void main() char str100; int i,j=0; printf(输入字符串:n); gets(str); for(i=0;istrlen(str);i+) if(stri!= ) strj+=stri; strj=0; printf(n新字符串str为:%sn,str); 20、 求出字符数组ss中存储的字符串中指定字符的个数。 #includevoid main()int fun(char a,char
23、ch);char a100,ch;printf(nPlease enter a string:);gets(a);printf(nPlease enter a char:); ch=getchar();printf(The number is:%dn,fun(a,ch); int fun(char a,char ch) int i,j=0; for(i=0;ai!=0;i+) if(ai=ch) j+; return j; #includevoid main()char a100,ch; int i,j=0; printf(输入字符串:); gets(a); printf(n); printf
24、(输入要查找的字符:); ch=getchar(); for(i=0;ai!=0;i+) if(ai=ch) j+; printf(n);printf(字符串a中指定字符的个数:%dn,j);21、输入一行字符,分别统计出其中的大小写字母、空格、数字和其他字符的个数。 #include void main() int i=0,j=0,k=0,l=0; char c; printf(输入一行字符:n); while(c=getchar()!=n) if(c=A&c=a&c=0&c=9) j+; else if(c= ) k+; else l+; printf(大小写字母数:i=%3dn数字数:j
25、=%3dn空格数:k=%3dn其他符号数:l=%3dn,i,j,k,l); 22、 将5行6列的二维数组中的数据,按列的顺序依次放到一个一维数组中。 #include void main() int a56=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, 1,2,3,4,5,6,7,8,9,10; int b30; int i,j,k=0; for (j=0;j6;j+) for(i=0;i5;i+) bk+=aij; printf(二维数组:n); for (i = 0; i 5; i+) for(j=0;j6;j+) printf(%
26、3d,aij); printf(n); printf(n); printf(一维数组:n); for (i= 0;ik;i+) printf( %3d,bi); printf(n);#include void fun( int (*s)4, int *b) int i,j,k=0; for(j=0;j4;j+) for(i=0;i3;i+) bk=*(*(s+i)+j); k+; bk= 0;main() int a30,w34=1,2,3,4,4,5,6,7,6,7,8,9; int i,j; printf(输出数组w:n); for(i=0; i3; i+) for(j=0;j4; j+)
27、 printf(%3d,wij); printf(n); fun(w,a); printf(按列的顺序依次放到一个一维数组b:n); for(i=0;i12;i+) printf(%3d,ai); printf(nn);23、求两个23和32的矩阵之积,并把结果显示出来。 #include void main() int a23,b32,c22=0,i,j,x; printf(输入一个2行3列的矩阵a:n); for(i=0;i2;i+) for(j=0;j3;j+) scanf(%d,&aij); printf(%5d,aij); printf(n); printf(输入一个3行2列的矩阵b
28、:n); for(i=0;i3;i+) for(j=0;j2;j+) scanf(%d,&bij); printf(%5d,bij); printf(n); printf(a*b=:n); for(i=0;i2;i+) for(j=0;j2;j+) for(x=0;x3;x+) cij+=aix*bxj; printf(%5d,cij); printf(n); 24、 定义了一个66的二维数组,并进行初始化。将数组右上半三角元素中的值乘以10。 #include void fun(int a6); void main() int i,j;int a66;printf(array a:n);fo
29、r(i=0;i6;i+)for(j=0;j6;j+)aij=i+j+1;printf(%3d,aij);printf(n);fun(a);printf(经过处理后的数组元素array a:n);for(i=0;i6;i+)for(j=0;j6;j+)printf(%5d,aij);printf(n); void fun(int a6) int i,j; for(i=0;i6;i+)for(j=0;j6;j+)if(ij)aij=10*aij;#include void main() int i,j;int a66;printf(array a:n);for(i=0;i6;i+)for(j=0;
30、j6;j+)aij=i+j+1;printf(%3d,aij);printf(n);printf(经过处理后的数组元素array a:n);for(i=0;i6;i+)for(j=0;j6;j+)if(ij)aij=10*aij;printf(%4d,aij);printf(n); 25、编写程序,实现矩阵(5行6列)的转置(即行列互换)。 #include void main() int i,j; int a56=4,5,7,8,1,6,8,4,6,5,1,5,7,8,9,4,5,6,1,2,3,4,5,6,1,2,3,6,5,2; int b65; printf(array a:n); f
31、or(i=0;i5;i+) for(j=0;j6;j+) printf(%3d,aij); bji=aij; printf(n); printf(a的转置矩阵array b:n); for(i=0;i6;i+) for(j=0;j5;j+) printf(%3d,bij); printf(n); 26、将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。 #include void main() int a,b,c,i,j,k,l; printf(输入a,b的值:); scanf(%d%d,
32、&a,&b); i=a/10; j=a%10; k=b/10; l=b%10; c=1000*i+k*100+j*10+l; printf(两个两位数的正整数a,b合并成一个整数为: c=%dn,c); 27、 编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。主函数中仅仅输入和输出。 #include #include int fun(char a,char b)int i=0,j=0;while(ai+!=0);i-;while(ai+=bj+)!=0);return (ai);int main()char a1
33、00,b100;printf( 请输入一串字符a:);gets(a);printf(n);printf(请再输入一串字符b:);gets(b);printf(n);fun(a,b);printf( 新字符串为:);puts(a);printf(n); 28、请编写函数fun,该函数的功能是:实现b=a+aT,即把矩阵a加上a的转置,存放在矩阵b中。计算结果在main函数中输出(a为一个3行3列的整型数组)。 #include void fun( int a33, int b33) int i,j, at33; for(i=0;i=2;i+) for(j=0;j=2;j+) atij=aji;
34、for(i=0;i3;i+) for(j=0;j3;j+) bij=aij+atij; main( ) int a33=1, 2, 3, 4, 5, 6, 7, 8, 9, t33 ; int i, j,at33; printf(输出一个3*3的矩阵a:n); for(i=0;i3;i+) for(j=0;j3;j+) printf(%5d,aij); atij=aji; printf(n); printf(输出a的转置矩阵at:n); for(i=0;i3;i+) for(j=0;j3;j+) printf(%5d,atij); printf(n); printf(n a+at=n); fu
35、n(a, t) ; for (i = 0 ; i 3 ; i+) for (j = 0 ; j 3 ; j+) printf(%7d, tij) ; printf(n) ; 29、依次输出200以内(包含200)能被5整除但不能被15整除的自然数。 #include void main() int i; for(i=1;i=200;i+) if(i%5=0&i%15!=0) printf(i=%dn,i); 30、 编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 #include int fun(int a,int n)int i,j;for(i=1,j=0;in;i+)if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026辽宁丹东市实验小学部分学科教师选聘7人备考题库及答案详解(易错题)
- 2026福建泉州丰泽区城东街道社区卫生服务中心编外工作人员招聘备考题库含答案详解(a卷)
- 2026山西晋中市和顺县招聘青年就业见习人员10人备考题库附答案详解(精练)
- 2026商务部国际经济合作事务局劳动合同制职员招聘5人备考题库附答案详解(综合题)
- 2026四川南充市身心医院招聘86人备考题库及完整答案详解
- 2026安徽皖信人力资源管理有限公司池州分公司招聘1人备考题库附答案详解(模拟题)
- 2026江西吉安井冈山市市政园林环卫所面向社会招聘工作人员1人备考题库附答案详解(综合题)
- 2026黑龙江哈尔滨启航劳务派遣有限公司派遣到哈尔滨工业大学国际合作部(港澳台办公室)招聘备考题库及答案详解(名师系列)
- 2026四川攀枝花米易县考试招聘警务辅助人员30人备考题库及答案详解(名校卷)
- 2026浙江绍兴市消防救援支队政府专职消防员招聘152人备考题库附答案详解ab卷
- 广东省五年一贯制语文考试题目
- 我国企业的产业整合与收购兼并
- 风景画的构图
- 【公开课】花鼓戏
- GB/T 42062-2022医疗器械风险管理对医疗器械的应用
- 电子舌工作原理及应用课件
- 「题画诗」张祜《题王右丞山水障二首(其一)》阅读理解和答案解析(青岛期初)
- 南极洲地理介绍课件
- 油库安全管理规范
- 2022年天津注册会计师《审计》考试题库汇总(含典型题和真题)
- 功率场效应晶体管绝缘栅双极型晶体管课件
评论
0/150
提交评论