




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z. 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);print
2、f(n);printf(不及格人数:%dn,j);求出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,*1,*2,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) *1=(-b+sqrt(d)/(2*a); *2=(-b-sqrt(d)/(2
4、*a); printf(有两个不等的实根:%8.4f和%8.4fn,*1,*2); 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 *;char y; printf(输入
5、学生成绩:*=); scanf(%f,&*); while(*100|*=90)y=A;else if(*=80) y=B; else if(*=70) y=C; else if(*=60) y=D; else y=E; printf(n学生的等级为:y=%cn,y);求数组中最大元素在数组中的下标并存放在指针k所指的储存单元中。 # include void fun(int *s, int t , int *k) int i ,ma*; ma*=s0; for (i=0;ima*) ma*=si; *k=i; void main( ) int a10=876,675,896,101,301,
6、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);scanf(%d,&n
7、);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=0;i7;i+
8、) for(j=0;j7;j+) printf(%3d,aij); printf(n); 编写一个函数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() int t56=68,5
9、6,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列的二维数组周边元素之和。#inclu
10、de 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); 编写程序,把字符串中的内容逆置不准使用多个字符数组。 #include void main() char a80; c
11、har 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); 编写程序,从字符串中删除指定的字符,同一字母的大、小写按不同字符处理。并把删除好的字符以字符串的形式输出不准使用多个字符数组。 #include #include void main() char ch,str100; int i,j=0; printf(输入字符串:n); gets(str); 无上限读取字符 printf(输入要
12、删除的字符:);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=i;jn-1;j+)aj=aj+1;aj=0;
13、 printf(删除后的字符串:); puts(a);编写程序,对长度为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); 编写函数fun,它的功能是:比拟两个字符串的长度,(不得调用c语言提供的求字符
14、串长度的函数),函数返回较长的字符串。假设两个字符串长度一样,则返回第一个字符串。 #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); printf(输出较长的c字符串:); puts(c); 14、给一个
15、不多于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/1000%10;c=num/100%10;b=num/10%10
16、; 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,%d,%dn,a,b,c); break; case 2: pri
17、ntf(%d,%d,b,a);printf(n反序数为:);printf(%d,%dn,a,b); break; case 1: printf(%d,a);printf(n反序数为:);printf(%dn,a); break; 编写一个函数fun,它的功能是:求出一个68的整型二维数组中最大元素的值,并将此值返回调用函数。 数组在主函数中初始化,并最终输出结果。#include int fun(int a68) int i,j,ma*=a00; for(i=0;i6;i+)for(j=0;j8;j+) if(ma*aij)ma*=aij; return ma*; void main()int
18、 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,ma*; printf(array a:n); for(i=0;i6;i+) for(j=0;j8;j+) printf(%4d,arrij); printf(n); ma*=fun(arr); printf(ma*=%dn,ma*); 16、将字符数组s中的字符串,除了下标为偶数、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个
19、新串放在新的字符数组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,n; n=strlen(s); for(i=0;in;i+) if(i%2=
20、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);假定输入的字符串中只包含字母和*号。则使字符串中的*号不得多于3个;假设多于3个,则删除多于的*号;假设少于或等于3个,则什么也不做。#include#includevoid main()char str50,c50,b;int i,j,n,a50=0,k,l;gets(str);n=st
21、rlen(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);dot=t*i;sum=sum+t;i+;while(i=n);printf(sum=%dn,sum);编写程序,删除
22、字符串中的所有空格。 #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); 求出字符数组ss中存储的字符串中指定字符的个数。 #includevoid main()int fun(char a,char ch);char a100,ch;printf(nPlease enter a string:);gets(a);pr
23、intf(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(输入要查找的字符:); ch=getchar(); for(i=0;ai!=0;i+) if(ai=ch) j+;
24、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=%3dn空格数:k=%3dn其他符号数:l=%3dn,i,j,k,l); 将5行6列的二维数组中的数据,按列的顺序依次
25、放到一个一维数组中。 #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(%3d,aij); printf(n); printf(n); printf(一维数组:n); for (i= 0;ik;i+)
26、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+) printf(%3d,wij); printf(n); fun(w,a); printf(按列的顺序依次放到一个一维数组b:n
27、); for(i=0;i12;i+) printf(%3d,ai); printf(nn);23、求两个23和32的矩阵之积,并把结果显示出来。#include void main() int a23,b32,c22=0,i,j,*; 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:n); for(i=0;i3;i+) for(j=0;j2;j+) scanf(%d,&bij); printf(%5d,bij
28、); printf(n); printf(a*b=:n); for(i=0;i2;i+) for(j=0;j2;j+) for(*=0;*3;*+) cij+=ai*b*j; printf(%5d,cij); printf(n); 定义了一个66的二维数组,并进展初始化。将数组右上半三角元素中的值乘以10。 #include void fun(int a6); void main() int i,j;int a66;printf(array a:n);for(i=0;i6;i+)for(j=0;j6;j+)aij=i+j+1;printf(%3d,aij);printf(n);fun(a);p
29、rintf(经过处理后的数组元素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;j6;j+)aij=i+j+1;printf(%3d,aij);printf(n);printf(经过处理后的数组元素array a:n);
30、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); for(i=0;i5;i+) for(j=0;j6;j+) printf(%3d,aij); bji=aij; printf(n); prin
31、tf(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,&a,&b); i=a/10; j=a%10; k=b/10; l=b%10; c=1000*i+k*100+j*10+l; printf(
32、两个两位数的正整数a,b合并成一个整数为: c=%dn,c); 编写一个函数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 a100,b100;printf( 请输入一串字符a:);gets(a);printf(n);printf(请再输入一串字符b:);gets(b);pr
33、intf(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; for(i=0;i3;i+) for(j=0;j3;j+) bij=aij+atij;main( ) int a33=1, 2, 3, 4, 5, 6,
34、 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); fun(a, t) ; for (i = 0 ; i 3 ; i+) for (j = 0 ; j 3 ; j+) printf(%7d, tij) ; pr
35、intf(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); 编写函数fun,该函数的功能是:删去一维数组中所有一样的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 #include int fun(int a,int n)int i,j;for(i=1,j=0;in;i+)if(ai!=aj)a+j=ai;return j+1;void main()int i,n,a
36、100;printf(输入数组大小:); scanf(%d,&n); printf(输入%d个从小到大的顺序排列的数n,n); for(i=0;in;i+) scanf(%d,&ai); printf(删除后数组中数据:);n=fun(a,n); for(i=0;in;i+) printf(%5d,ai); printf(n); printf(删除后数组中数据的个数%5dn,n);31、统计各年龄段的人数。30个年龄通过scanf函数获得,并放在age数组中。要求把0至9岁年龄段的人数放在d0中,把10至19岁年龄段的人数放在d1中,把20至29岁的人数放在d2中,其余以此类推,把100岁(含
37、100以上年龄的人数都放在d10中。 #include void fun( int a, int b) int i,j; for(j=0;j11;j+) bj=0; for(i=0;i=0&ai=10&ai=20&ai=30&ai=40&ai=50&ai=60&ai=70&ai=80&ai=90&ai=99) b9+=1; else b10+=1;void main() int i, d11;int age30=1,2,56,78,10,25,87,96,31,110,45,65,42,73,23, 118,90,1,10,23,34,45,56,67,68,78,89,91,46,97; p
38、rintf(输出30个年龄数 :n); for(i=0; i30; i+) printf(%4d,agei); printf(nn);printf(各年龄段的人数为:n); fun( age, d);for(i=0;i10;i+) printf(%3d-%3d: %2dn, i*10, i*10+9, di); printf(Over 100: %2dn, d10); #include void main() int age30,i,d11=0; printf(输入30个数据:); for(i=0;i30;i+) scanf(%d,&agei); for(i=0;i99)d10+;elseda
39、gei/10+;printf(额度按人数:n);for(i=0;i11;i+)printf(%3d,di); 编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由假设干个空格格开,一行的开场没有空格。 #include #include int fun(char *s) int i=1,c=0; while(si) if(si= &si-1!= ) c+; i+; return c;main() char b100; int num=0; printf(Enter a string :n); gets(b)
40、; num=fun( b ); printf(The number of word is : %dnn,num);33、计算并输出给定整数n的所有因子(不包括1与自身)之和。规定n的值不大于1000n由键盘输入。#includevoid main()int i,n,sum=0;printf(请输入:n=);scanf(%d,&n);while(n1000) printf(输入错误,请重新输入:n=); scanf(%d,&n); for(i=2;in;i+)if(n%i=0)sum=sum+i;printf(sum=%dn,sum);34、计算并输出以下级数和: s=1/1*2+1/2*3+1
41、/n(n+1) 。#includevoid main() float i,n,t,s=0; printf(输入n的数值:n); scanf(%f,&n); for(i=1;i=n;) t=1/(i*(i+1); s=s+t; i+; printf(s=%fn,s); 将字符数组s中字符串中下标为偶数的字符删除,并用字符串的形式输出结果。 #include #include void main() char str100; int i,j=0; printf(输入字符串:n); gets(str); for(i=0;istrlen(str);i+) if(i%2=1) strj+=stri; s
42、trj=0; printf(n新字符串str为:%sn,str); #include #include void fun(char *s,char t) int i,j=0,n; n=strlen(s); for(i=0;in;i+) if(i%2=1) 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);编程序:通过一个函数判断字符串是否为回文假设是则函数返
43、回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。 #include void main() char a100;printf(请输入字符串:n); scanf(%s,a); if(fun(a)=1) printf(Yesn); else printf(Non);int fun(char str)int i,n; n=strlen(str); /n表示字符串中字符的个数 for(i=0; i=n/2;i+) if(stri!=strn-i-1) /比拟字符串中相对称的字符是否一样 return 0; return 1;37、编程实现由主函数输入m,n并
44、输出最终结果,按下述公式计算的值:,其中函数f的功能是计算阶乘,函数g的功能是求的值。 #include void main()int g(int m, int n);int m,n,c;printf(输入m,n的值:n);scanf(%d%d,&m,&n);c=g(m,n);printf(c=%dn,c);int g(m,n)int f(n);int b;b=f(m)/f(n)/f(m-n);return b;int f(n)int a=1,i;for(i=1;i=n;i+)a*=i;return a;编写一个函数fun,它的功能是:将字符串a中所有下标为奇数位置上的字母转换为大写(假设该位
45、置上不是字母,则不转换)。主函数只能用来输入输出字符串。 #include #include void fun ( char *a) int i,n; n=strlen(a); for(i=1;i=a&ai=z) ai= ai-32; void main( ) char b81; printf(n 输入一行字符串a:n); gets( b ); fun( b ); printf( n将字符串a中所有下标为奇数位置上的字母转换为大写: n%sn, b );39、计算并输出给定数组(长度为5)中每相邻两个元素之平均值的平方根之和。 #include #include void main() int
46、 i; double s; double a5=1,7,11,21,29; for(i=0,s=0;i4;i+) s+=sqrt(ai+ai+1)/2); printf(每相邻两个元素之平均值的平方根之和为:s=%fn,s); 用指针方法编写程序,输入3个整数,将它们按由小到大的顺序排列输出。 #include void main() void fun(int *q1,int *q2,int *q3); int a,b,c,*p1,*p2,*p3; printf(请输入a,b,c的数值:); scanf(%d%d%d,&a,&b,&c); p1=&a; p2=&b; p3=&c; fun(p1
47、,p2,p3); printf(n); printf(由小到大的顺序排列为:%5d%5d%5dn,a,b,c); void fun(int *q1,int *q2,int *q3)void swap(int *pt1,int *pt2);if(*q1*q2) swap(q1,q2); if(*q1*q3) swap(q1,q3); if(*q2*q3) swap(q2,q3);void swap(int *pt1,int *pt2)int t;t=*pt1;*pt1=*pt2;*pt2=t;41、计算并输出100(包括100)以内能被3或4整除的所有自然数之和。#include void ma
48、in() int i,n=0,sum=0; for(i=1;i=100;i+) if(i%3=0)|(i%4=0) printf(i=%d ,i); n=n+1; sum=sum+i; if(n%10=0) printf(n); printf(n100以内所有可以整除3或4的自然数之和为:sum=%dn,sum); 42、有一函数用scanf函数输入*的值,求y值。#includevoid main() float *,y;printf(请输入*的数值:);scanf(%f,&*);if(*=10)y=3*-11;elsey=2*-1;printf(y=%fn,y);输入两个正整数m和n,求它
49、们的最大公约数和最小公倍数。 #include void main() int m,n,i,s,j; printf(请输入m,n的数值:); scanf(%d%d,&m,&n); for(i=1;i=m&i=n) j=m; else j=n; for(;!(j%m=0&j%n=0);j+); printf(n最大公约数为:s=%4dn最小公倍数为:j=%4dn,s,j); 44、求s=a+aa+aaa+aaa之值,其中a是一个数字,n表示a的位数。#include#include void main() int n,a,i=1,s,sum=0; printf(输入n,a的数值:); scanf
50、(%d,%d,&n,&a); s=a; while(i=n) sum=sum+s; s=s+a*pow(10,i); i+; printf(sum=%dn,sum);输出杨辉三角要求输出10行。#include void main() int a1010,i,j;for(i=0;i10;i+)for(j=0;j=i;j+)if(i=j|j=0)aij=1;elseaij=ai-1j+ai-1j-1;printf(%5d,aij);if(i=j)printf(n);46、输出所有的“水仙花数,所谓“水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如:153是一水仙花数,因为153=13+
51、53+33。 #include #include void main() int *,a,b,c; /*为水仙花数 for(*=100;*=999;*+) a=0.01*; b=10*(0.01*-a); c=*-100*a-10*b; if(*=(pow(a,3)+pow(b,3)+pow(c,3) printf( *=%5dn,*); 求一个33的整型矩阵主对角线元素之和。 #include void main() int a33,i,j,sum=0; printf(请输入3*3矩阵数据:); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); fo
52、r(i=0;i3;i+) sum+=aii; printf(矩阵对角线元素之和为:%dn,sum); #include void main() int a33,i,j,sum1=0,sum2=0; printf(请输入3*3矩阵数据:); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) sum1+=aii; for(j=0;j3;j+) sum2+=ajj; printf(矩阵两条对角线元素之和分别为为:%d %dn,sum1,sum2); 有一行电文,按下面规律译成密码。第i个字幕变成第(26-i+1)个字母i=1,2
53、26。非字母字符不变。要求原文输出一行,密码输出一行。 #include void main() int i;char a81,b81;printf(输入一行字符:);gets(a);printf(输出原文:);puts(a);for(i=0;ai;i+)if(ai=A & ai=a & ai=z)bi=219-ai;elsebi=ai;bi=0;printf(输出密码:);puts(b); 或#include void main() int i;char str1100,str2100; gets(str1);for(i=0;str1i!=0;i+)if(str1i=65&str1i=97&
54、str1i=122)str2i=219-str1i;elsestr2i=str1i;str2i=0;printf(%sn%sn,str1,str2);输入一个4位数字,要求输出这4个数字字符,但每两个数字之间空一个空格。比方输入1990,应输出“1 9 9 0。 #include void main()int i; char str80; printf(请输入含有四个数字的字符串:n); scanf(%s,str); for(i=strlen(str);i0;i-) str2*i=stri; str2*i-1= ; printf(n 结果是:n %sn,str); 50、对于给定的一个正整数,
55、判断其是否为素数。#include#includevoid main()int i,k,m;printf(输入m的数值:);scanf(%d,&m);k=sqrt(m);for(i=2;ik)printf(n %d是一个素数。n,m);elseprintf(n %d不是一个素数。n,m);将一个数字字符串转化为整数输出(不得调用c语言提供的将字符串转换为整数的函数)。 #include #include long fun ( char *p) long s=0,t; int i=0,j,n=strlen(p),k,s1; if(p0=-) i+; for(j=i;j=n-1;j+) t=pj-
56、0; s1=10; for(k=j;kn-1;k+) t*=s1; s+=t; if(p0=-) return -s; else return s;main() char s80; long n; printf(输入一行字符串::n); gets(s); n = fun(s); printf(%ldn,n);#includevoid main()char s100,*p;int i,m=1,n=0;p=s;printf(请输入数字字符串:);gets(s);if(*p=-)m=-1;p+;while(*p!=0)n=n*10+(*p-0);p+;n=m*n;printf(转换后为:%dn,n)
57、;52、求出一个45的矩阵中数值最小的元素的行号和列号。#include void main() int a45,i,j,min,colum=0,row=0; printf(请输入4*5矩阵数据:); for(i=0;i4;i+) for(j=0;j5;j+) scanf(%d,&aij); min=a00; for(i=0;i4;i+) for(j=0;jaij) min=aij; row=i; colum=j; printf(min=%dnrow=%dncolum=%dn,min,row,colum);编写函数fun,它的功能是:实现两个字符串的比拟,即实现 strcmp的功能(不得调用c
58、语言提供的求字符串比拟的函数),函数返回最终的比拟值。主函数里输出哪个字符串大。 #includeint fun(char a, char b) int i=0; while(ai=bi)&(ai!=0) i+; printf(a,b字符串中比拟大的为:); if(ai=0&bi=0)return a;else if(aibi)return a;elsereturn b;void main() char a100,b100,*c; printf(输入字符串a:n); gets(a); printf(输入字符串b:n); gets(b); c=fun(a,b); puts(c); 54、编写一个
59、函数void fun(int tt56,int pp6),tt指向一个5行6列的二维函数组,求出二维函数组每行中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中初始化。 #include void fun(int tt56,int pp6) int i,j,min; for(i = 0;i 5;i+) min = tti0; for(j = 0;j 6;j+) if(ttij min) min = ttij; ppi = min; void main() int t56=68,56,32,44,54,12,14,56,24,47,88,58,42,85,22,75,44,5
60、6,45,12,3,5,78,45,4,6,2,7,8,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(nThe result is:n); for(k = 0;k 5;k+) printf(%4d,pk); printf(n); 移动字符串中内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m1到最后的字符移到字符串的前部。 m由键盘输入。#include #incl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年软件技术资格考试实例试题及答案
- 妇幼保健员考试领导能力试题及答案
- 解析健康管理师考试的趋势及试题及答案
- 独家解析2024年人力资源管理师试题及答案
- 2025计算机技术与软件专业初级考试的网路协议试题及答案
- 全面剖析健康管理师考试试题及答案
- 妇幼保健员经验分享试题及答案
- 妇幼健康服务市场的需求分析试题及答案
- 2025年度智能电网建设与运维服务合同协议
- 2025年度智能安防合伙企业合伙人协议书
- 2023江西省公共资源交易集团有限公司校园招聘试题及答案解析
- 2025年高考数学热点题型突破:平面向量 重难点题型(含答案)
- 湖南长沙民政局离婚协议书范本
- 管道自动焊培训课件
- 房地产项目开发建设流程课件
- 医疗细胞公司介绍
- 全文图解九项准则《医疗机构工作人员廉洁从业九项准则》
- 数字华容道+课时2
- 部编版历史九年级上册第七单元 第20课《第一次 工业革命》说课稿
- 西泠印社出版社三年级下册《书法练习指导》完整教案
- 2024年21起典型火灾案例及消防安全知识专题培训(消防月)
评论
0/150
提交评论