




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*函数void fun(int a,int n,int *small,int *big),该函数的功能是分别求出一维数组a中所有奇数项中的最小值与所有偶数项中的最大值,形参n给出数组中数据的个数;利用指针small返回奇数项中的最小值,利用指针big返回偶数项中的最大值。要求:在主调函数中初始化一个一维数组,并在主调函数中调用函数fun后,在主调函数中输出结果。*/#include void fun(int a,int n,int *small,int *big);main()int a8=1,2,3,4,5,6,7,8,*small=a,*big=a+1;fun(a,8,small,big);printf(奇数项中的最小值为%d与所有偶数项中的最大值为%d,*small,*big);void fun(int a,int n,int *small,int *big)int i;for(i=0;iai)*small=*(a+i);for(i=1;i=n;i=i+2)if(*bigai)*big=*(a+i);/*编写函数void new(char str ),该函数将字符串str中ASCII值为偶数的字符删除,串中剩余字符形成一个新串。编写函数void stringcat(char str1,char str2)将原字符串str链接在新串的后面。编写一个程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str。要求:不允许使用字符串库函数。*/#includevoid new(char str);void stringcat(char str1,char str2);main()char str40=0elloworld,str220,*s=str,*p=str2;while(*s!=0)*p=*s;s+;p+;*p=0;new(str);stringcat(str,str2);puts(str);void new(char str)char*p=str,*q=str;while(*q!=0)p=q;if(int)*p%2=0)while(*p!=0)*p=*(p+1); p+;elseq+;void stringcat(char str1,char str2)char*m=str1,*n=str2;while(*m!=0)m+;while(*n!=0)*m=*n;m+;n+;*m=0;/*编写函数void strfun(char str, int n,int k,int m),此函数的功能是:对一个长度为n的字符串str从其第k个字符起,删除m个字符,组成长度为n-m的新串(其中:n、m=80,k=n)。要求在main()函数中初始化字符串str并输出原字符串str,调用函数后,在main()函数输出处理后的新串。在输入字符串“we are all students.”,利用此函数进行删除“all”的处理,并输出处理后的字符串。*/#include void strfun(char str, int n,int k,int m);main()char str=student;int k,m;puts(str);printf(k,m=);scanf(%d%d,&k,&m);strfun(str,7,k,m);printf(%s,str);void strfun(char str, int n,int k,int m)char*p=str;int i;for(p=p+k-1;pstr+n-m;p+)*p=*(p+m);*p=0;/*编写函数int strfun(char str, char a),其功能是计算str所指定字符串中,出现指定字符的个数,并返回此值。例如:若字符串:123412132,输入字符为:1,则返回:3。要求在main()函数中初始化字符串str并输出原字符串str,调用函数strfun()后在主函数中输出处理后的返回值。要求:不允许使用字符串库函数。*/#includeint strfun(char str, char a);main()char str=hello world,a;int d;puts(str);printf(输入一个字符a:n);a=getchar();d=strfun(str,a);printf(共有%d个n,d);int strfun(char str, char a)int i=0;char*p=str;while(*p!=0)if(*p=a)i+;p+;return i;/*编写函数void revstr (char *str),其功能是把字符串str反序。例如字符串str为”abcde”时,则处理后为”edcba”, 要求:在main()函数中初始化字符串str并输出原字符串str,调用函数后在主函数中输出处理后的新字符串str。要求:不允许使用字符串库函数。*/#includevoid revstr (char *str);main()char str20;printf(输入一个字符串);gets(str);revstr(str);puts(str);void revstr (char *str)char t,*p=str,*q=str;int d,i;while(*q!=0)q+; d=q-p;for(i=0;id/2;i+)t=*(p+i);*(p+i)=*(p+d-1-i);*(p+d-1-i)=t;/*编写函数void strfun(char str ),该函数功能是把str字符串中的所有字符左移一个位置,串中的第一个字符移到最后。编写主程序,要求在main()函数中初始化字符串str并输出原字符串str,调用函数完成字符串移位后在主函数中输出处理后的新串。要求:不允许使用字符串库函数。*/#includevoid strfun(char str);main()char str=abcde;puts(str);printf(n);strfun(str);puts(str);void strfun(char str)char t,*p=str;t=*p;for(p=str;*(p+1)!=0;p+)*p=*(p+1);*p=t;/*编写函数void new(char str),该函数将字符串str中下标值为奇数的字符删除,串中剩余字符形成一个新串。编写函数void strstoc(char str)将新字符串中的大写字母转换为小写字母。编写程序,调用上述各个函数。要求:在main()函数中初始化字符串str并输出原字符串str,调用各个函数后在主函数中输出处理后的新字符串str。要求:不允许使用字符串库函数。*/#includevoid new(char str);void strstoc(char str);main()char str=01234567mnj;puts(str);new(str);strstoc(str);puts(str);void new(char str)int i,j;for(i=1;stri!=0;i+)j=i;while(strj!=0)strj=strj+1;j+;void strstoc(char str)char*p=str;while(*p!=0)if(*p=a&*p=z)*p=*p-32;p+;/*将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。*/#includemain()int n,i,a10,j=0;printf(输入一个数n:);scanf(%d,&n);printf(%d=,n);for(i=2;i=n;i+)while(i!=n)if(n%i=0)printf(%d*,i);n=n/i;elsebreak;printf(%d,n);/*设有一分数列:2/1,3/2,5/3,8/5,13/8,21/13, 试编程求出这个数列的前十项之和。*/#includemain()float i=2.0,j=1.0,k,t;float sum=0;for(k=1;k3;k+)sum+=(i/j);t=i;i=i+j;j=t;printf(sum=%.2f,sum);/*编写程序:找出不超过1000的十位数字为1,个位数字为3或7的所有数。例如:13、17、113、317等。*/#includemain()int n;for(n=13;n=1000;n+)if(n%10=3|n%10=7)if(n%100-n%10)/10=1)printf(%4d,n);/*输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。*/#includemain()char str100,*p=str;int i=0,j=0,m=0,n=0;printf(输入一行字符n);gets(str);for(;*p!=0;p+)if(*p=a&*p=A&*p=0&*p=9)m+;elsen+;printf(%s其中英文字母%d、空格%d、数字%d和其它字符的个数%dn,str,i,j,m,n);/*编程将一个数组中的最大的元素与第一个元素交换,最小的元素与最后一个元素交换,输出数组。要求初始化数组。*/#includemain()int a33=2,5,1,5,4,7,3,4,5,i,j,max=a00,min=a00,t;int e,b,c,d;for(i=0;i3;i+)for(j=0;j3;j+)if(maxaij)min=aij;c=i;d=j;t=a00;a00=max;aeb=t;t=a22;a22=min;acd=t;for(i=0;i3;i+)for(j=0;j6)总能表示为两个素数之和。*/#includeint spir(int m);main()int x,m,n,q;printf(输入一个偶数x:);scanf(%d,&x);for(m=2;mx;m+)q=spir(m);if(q)n=x-m;q=spir(n);if(q)printf(%d=%d+%dn,x,m,n);break;int spir(int m)int i;for(i=2;i=m)return 1;elsereturn 0;/*编写一个函数myatol,该函数的功能是:输入一个数字字符串,返回对应的long型整数。在main函数中写出调用的语句。例如,调用myatol(“678”),函数返回long型整数678。*/#includelong myatol(char str);main()char str20;long l,m;gets(str);l=myatol(str);printf(数字字符串为数字%ldn,l);long myatol(char str)char*p=str,*q=str;int i=0,k;long l=0;while(*(p+i)!=0) k=*(p+i)-48;l=l*10+k;i+;return l;/*编写一个函数myatol,该函数的功能是:输入long型整数,返回对应的一个字符串。在main函数中写出调用的语句。例如,调用myatol(678),函数返回数字字符串678。*/#includevoid myatol(long l,char*p);main()long l;char str20;printf(输入一个数l:);scanf(%ld,&l);myatol(l,str);puts(str);void myatol(long l,char*p)int k,i=0,j;char t;while(l!=0)k=l%10;*(p+i)=k+48;l=l/10;i+;*(p+i)=0;for(j=0;ji/2;j+)t=*(p+i-j-1);*(p+i-j-1)=*(p+j);*(p+j)=t;/*编写一个函数substring,其功能是计算字符串中子串出现的次数。要求在主函数中初始化字符串和子串,调用函数substring后,在主函数中输出计算的结果。*/#includeint substring(char str1,char str2);main()char str140,str210;int n;printf(输入字符串和子串n);gets(str1);gets(str2);n=substring(str1,str2);printf(共有%d个n,n);int substring(char str1,char str2) int i=0;char *p=str1,*q;while(*p!=0)q=str2;while(*p=*q)&(*q!=0)&(*p!=0)p+; q+;if(*q=0)i+;p-;p+;return i;/*编写函数void sort(char str ),该函数把str字符串按照ASCII码从小到大排序。在main()函数中初始化字符串str,调用函数后输出处理后的字符串str。例如:如果str为”main”, 则函数调用后str为”aimn”。*/#includevoid sort(char str);main()char str10;gets(str);sort(str);puts(str);void sort(char str)int i,j;char t;for(i=0;stri!=0;i+)for(j=i;strj+1!=0;j+)if(strjstrj+1)t=strj;strj=strj+1;strj+1=t;/*将一维数组中的10个元素对调。即第一个元素变为最后一个元素,最后一个元素变为第一个元素,第二个元素和第八个元素对调。*/#includemain()int a10=0,1,2,3,4,5,6,7,8,9,i,t;for(i=0;i5;i+)t=ai; ai=a9-i;a9-i=t;for(i=0;i10;i+)printf(%4d,ai);/*实现两个数的#法和$法运算。如输入3,4,#,输出25;输入3,4,$,输出34;提示:#法和$法运算是自己定义的一种运算,a#b=a*a+b*b,a$b=a*10+b。*/#includemain()int a,b,y;char c;printf(输入两个数和运算符:);scanf(%d%d%c,&a,&b,&c);if(c=#)y=a*a+b*b;if(c=$)y=a*10+b;printf(%d%c%d=%d,a,c,b,y);/*编写函数mystr(char *str),函数将字符串str中的所有大写字母删除,剩余的字符串仍由str描述,计算删除后str的长度。要求:在主函数main中初始化str并输出,调用函数mystr(char *str)后输出str和str的长度。不允许使用字符处理库函数。*/#includeint mystr(char*str);main()char str20;int d;printf(输入一个字符串:);gets(str);d=mystr(str);printf(输出改动过的字符串和字符串长度n);puts(str);printf(%dn,d);int mystr(char*str)char*p=str,*q;int i=0,j;while(*(p+i)!=0)j=i;if(*(p+j)=A&*(p+j)=Z)while(*(p+j)!=0)*(p+j)=*(p+j+1);j+;elsei+;p=q=str;while(*p!=0)p+;return p-q;/*求矩阵的所有靠内侧的各元素值之和。要求初始化矩阵(4行5列),输出原始的矩阵和内侧的各元素值之和,必须用循环实现。 例如,矩阵为: 3 1 2 3 2 5 7 3 1 1 4 2 则所有靠内侧的各元素值之和为57=12。提示:相当于循环计算时,数组aij中的i,j不为0或n1。*/#includemain()int a45,i,j,sum=0;for(i=0;i4;i+)for(j=0;j5;j+)scanf(%d,&aij);for(i=1;i3;i+)for(j=1;j4;j+)printf(%4d,aij);sum+=aij;printf(n);printf(sum=%d,sum);0-9可以组成多少个不重复三位奇数#include main()int i,j,k,s=0;for(i=1;i=9;i+)for(j=0;j=9;j+)for(k=1;k=9;k=k+2)if(i!=j&j!=k&i!=k)s+;printf(%d,s);1,1+2.,1+2+.+9各项值的积#include main()int i; int j; int x=0; double y=1; for (i=1;i=9;i+) for(j=1;j=i;j+) x=x+j; y=y*x; x=0;printf(nvalue is %.0lf,y);1-1000之间所有完数#include main()int i,j,sum=0,s;for(i=1;i=1000;i+)s=0;for(j=1;j=i/2;j+) if(i%j=0)s+=j;if(i=s)sum+;printf(%4d,i);printf(一共有%d个完数n,sum);/*将3X3的二维数组的最大元素所在的行与第一行(下标为0)交换。要求:输出原始数据和交换后的数据。*/#include stdio.hmain()int a33,i,j,max,p,t;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j3;j+)printf(%3d,aij); printf(n);max=a00;for(i=0;i3;i+)for(j=0;j3;j+)if(maxaij)p=i;for(i=0;i3;i+)t=a0i; a0i=api; api=t;for(i=0;i3;i+)for(j=0;j3;j+)printf(%3d,aij);printf(n);/*计算3X3的二维数组最小元素所在的列,并与最后一列交换。要求:输出原始数据和交换后的数据。*/#include stdio.hmain()int a33,i,j,min,p=0,t;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j3;j+)printf(%3d,aij); printf(n);min=a00;for(i=0;i3;i+)for(j=0;jaij)p=j;for(i=0;i3;i+)t=ai2; ai2=aip; aip=t;for(i=0;i3;i+)for(j=0;j3;j+)printf(%3d,aij);printf(n);/*从键盘读入一整数,查找是否在整数数组1,23,-7,8,9,10中存在。若存在,则删除此数;否则,提示此数不存在。要求:输出原始数据和删除后的数据。*/.#include stdio.hint cancle(int*p,int n);main()int n,a=1,23,-7,8,9,10,i,k,*q=a;printf(input a n:);scanf(%d/n,&n);for(i=0;i6;i+)printf(%3d,ai);printf(n); k=cancle(q,n);if(k)for(q=a;qa+5;q+)printf(%3d,*q);elseprintf(此数不存在);int cancle(int*p,int m)int i=0;while(m!=*(p+i)i+;if(i=6)return 0;elsefor(;i5;i+)*(p+i)=*(p+i+1);return 1;.#include main()int a=1,23,-7,8,9,10,n,i;printf(请输入一个数n:);scanf(%d,&n);for(i=0;i=6)printf(没有该数n);elsewhile(i5)ai=ai+1;i+;for(i=0;i5;i+)printf(%4d,ai);100-200素数#include #include int f(int m);void main()int i,j=0,n;for(i=101;i=200;i=i+2)n=f(i);if(n)printf(%5d,i);j+; if(j%5=0)printf(n);printf(n);int f(int m)int i,k;k=sqrt(m);for(i=2;ik)return 1;elsereturn 0;100-1000间各位数字之和为5的数#include main()int i,k,s=0;for(i=100;i=1000;i+)k=i;s=0; /*注意*/while(k)s+=k%10;k=k/10;if(s=5)printf(%4d,i);Fibonacci数列的前20个数#include main()int a20=1,1,i;for(i=2;i20;i+)ai=ai-1+ai-2;for(i=0;i20;i+)printf(%7d,ai);if(i+1)%5=0)printf(n);n!#include float f(int n);void main ()int m;float y;printf(input a m:);scanf(%d,&m);y=f(m);printf(%d!=%.0fn,m,y);float f(int n)float ny;if(n=1|n=0)ny=1;elseny=n*f(n-1);return ny; Pi/*根据如下无穷级数计算公式计算圆周率pipi=4-4/3+4/5-4/7+4/9-4/11+要求:计算前100项的和,输出结果中,小数点后保留3位。*/#include stdio.hfloat sum();main()float pi;pi=sum();printf(%.3fn,pi);float sum()float s=0;int i;for(i=1;i=100;i+)if(i%2)s+=4.0/(2*i-1);elses-=4.0/(2*i-1);return s;/*3.从键盘读取变量x的值,按照如下公式计算y的值当x3时y=3sin(x)+7cos(x)当x为其它值时,y=0;要求:按格式输出x和y的值,要求小数点后保留3位*/#include stdio.h#include math.h main()float x,y;printf(输入一个x=);scanf(%f,&x);if(x3)y=3*sin(x)+7*cos(x);else if(x=2&x=3)y=0;printf(x=%.3f,y=%.3fn,x,y);不大于三位数的正整数各位数字之和#include main()int n,k,s=0;printf(输入一个不大于三位数的正整数:);scanf(%d,&n);k=n;while(k)s=s+k%10;k=k/10;printf(%d各项数字之和为%dn,n,s);插入#include main()int a7=1,3,5,67,98,99,i,x,j;printf(before:n);for(i=0;iai&ij;i-)ai=ai-1;aj=x;printf(result:n);for(i=0;i7;i+)printf(%4d,ai);插入利用指针#include main()int a6=1,3,6,8,15,56,i,b7,n,*p=a,*q=b;for(i=0;i6;i+)printf(%4d,*(p+i);printf(输入一个数n);scanf(%d,&n);p=a;while(*pn)*q=*p;p+;q+;*q=n;q+;for(;qb+7;q+,p+)*q=*p;for(q=b;qb+7;q+)printf(%4d,*q);成绩最高最低和平均#include main()int a10,i,max,min,sum=0;float ave;for(i=0;i10;i+)scanf(%d,&ai);max=min=a0;for(i=1;i10;i+)sum+=ai;if(maxai)min=ai;ave=sum/10.0;printf(max=%d,min=%d,ave=%.2f,max,min,ave);输入一个同学的C语言成绩,要求输出成绩等级A, B, C, D, E。等级划分原则是:90分以上者为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。#include main()int score,num;char grade;printf(输入成绩);scanf(%d,&score);if(score=100)num=9;elsenum=score/10;switch(num)case 9:grade=A;break;case 8:grade=B;break;case 7:grade=C;break;case 6:grade=D;break;case 5:case 4:case 3:case 2:case 1:case 0:grade=E;break;printf(score=%d,grade=%cn,score,grade);对多个字符串进行排序#include #include void sort(char*a,int n);void main ()char*a=my,name,is,li,xi;int i;sort(a,5);for(i=0;i5;i+)printf(%s,ai);void sort(char*a,int n)int i,j;char *t;for(i=0;i5;i+)for(j=0;j0)t=aj;aj=aj+1;aj+1=t;五个同学三门成绩,每个人的平均分和各科大的平均分#include main()int a53,i,j,sum3=0,sum25=0; float ave5,ave23;printf(输入成绩n);for(i=0;i5;i+)for(j=0;j3;j+)scanf(%d,&aij);for(j=0;j3;j+)for(i=0;i5;i+)sumj+=aij;sum2i+=aij;for(i=0;i3;i+)avei=sumi/5.0; printf(%7.2f,avei);printf(n);for(i=0;i5;i+)ave2i=sum2i/3;printf(%7.2f,ave2i);/*2.从键盘输入一个小于10000的正整数,计算其各权位数字之和,并输入结果。提示:例如123的各权位数字之和为1+2+3=6。*/#include stdio.hmain()int n,s=0,i;printf(input a n(=1;i=i/10)s+=n/i;n=n%i;printf(各权位数字之和为%dn,s);/*在跳水比赛中,有7个评委共同打分,评分规则是去除最高分和最低分,然后计算剩余5个评委分数的平均分作为最终成绩。要求编制程序,输入一次跳水动作中,7个评委打出的成绩,并计算此动作的最终成绩。*/#include stdio.hmain()int a7,i,max,min,s=0;float ave;for(i=0;i7;i+)scanf(%d,&ai);max=min=a0;for(i=1;imax)max=ai;else if(aimin)min=ai;for(i=0;i7;i+)s+=ai;s=s-max-min; ave=s/5.0;printf(ave=%.3f,ave);/*pscore(double*p)*/#include double pscore(double*p);main()int i;double a10,ave;printf(input scores:);for(i=0;i10;i+)scanf(%lf,&ai);ave=pscore(a);printf(平均值为%.3lf,ave);double pscore(double*p)int i,min,max,sum=0;max=min=*p;for(i=0;i10;i+)if(max*(p+i)min=*(p+i);sum+=*(p+i);return (sum-max-min)/8.0);计算字符串长度#include main ()char *p=hello,*q=p;while(*p)p+;printf(%d,p-q);实现strcmp功能#include main()char str120,str220,*s1=str1,*s2=str2;int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农业农村行业农业物联网技术应用状况研究报告
- 2025年老年养护行业老年养护与老年服务研究报告
- 2025年互联网金融行业数字货币在金融行业的应用前景研究报告
- 2025年麻醉科麻醉后并发症处理模拟考试答案及解析
- 2025年急救医学实际操作技能模拟考试答案及解析
- 2025辽宁鞍山市铁西区事业单位面向社会招聘工作人员138人笔试模拟试题及答案解析
- 2025年山东大学齐鲁第二医院招聘(劳务派遣)笔试备考试题及答案解析
- 2025陕西省西安市新城区公益性岗位人员招聘(16人)笔试模拟试题及答案解析
- 2025年心理学在临床医学中的应用模拟考试答案及解析
- 2025四川雅安市雨城区卫生健康局考核招聘事业单位工作人员10人笔试模拟试题及答案解析
- 输变电工程质量通病防治手册
- 居民公约工作总结
- 骨科疾病的深度学习研究
- 绿植租摆服务投标方案(完整技术标)
- 矿山安全培训课件-地下矿山开采安全技术
- 汪小兰版有机化学答案全
- DB32∕T 3751-2020 公共建筑能源审计标准
- DB51T 2975-2022气凝胶复合保温隔热材料及系统通用技术条件
- 高中音乐《学会聆听音乐》第三课时《联想与想象》 课件
- 实验,双子叶植物根类药材的鉴定课件
- GB/T 40302-2021塑料立式软薄试样与小火焰源接触的燃烧性能测定
评论
0/150
提交评论