




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
main()int i,j,k,n;printf(water flowernumber is:);for(n=100;n1000;n+)i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位*/if(i*100+j*10+k=i*i*i+j*j*j+k*k*k)printf(%-5d,n);printf(n);题目:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数都是多少1.程序分析:可填在百位,十位,个位的数字都是1,2,3,4.组成所有的排列后再去掉不满足条件的排列.2.程序源代码:main()int i,j,k;printf();for(i=1;i5;i+) /*以下为三重循环*/for(j=1;j5;j+)for (k=1;k5;k+)if (i!=k&i!=j&j!=k) /*确保i,j,k三位互不相同*/printf(%d,%d,%d,i,j,k);=【程序2】题目:企业发放的奖金根据利润提成.利润(i)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数1.程序分析:请利用数轴来分界,定位.注意定义时需把奖金定义成长整型.2.程序源代码:main()long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(%ld,&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i=100000)bonus=i*0.1;else if(i=200000)bonus=bonus1+(i-100000)*0.075;else if(i=400000)bonus=bonus2+(i-200000)*0.05;else if(i=600000)bonus=bonus4+(i-400000)*0.03;else if(i2)/*如果是闰年且月份大于2,总天数应该加一天*/sum+;printf(It is the %dth day.,sum);=【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出.1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小.2.程序源代码:main()int x,y,z,t;scanf(%d%d%d,&x,&y,&z);if (xy)t=x;x=y;y=t; /*交换x,y的值*/if(xz)t=z;z=x;x=t;/*交换x,z的值*/if(yz)t=y;y=z;z=t;/*交换z,y的值*/printf(small to big: %d %d %d,x,y,z);=【程序6】题目:用*号输出字母c的图案.1.程序分析:可先用*号在纸上写出字母c,再分行输出.2.程序源代码:#include stdio.hmain()printf(hello c-world!);printf( *);printf( *);printf( * );printf( *);=【程序7】题目:输出特殊图案,请在c环境中运行,看一看,very beautiful!1.程序分析:字符共有256个.不同字符,图形不一样.2.程序源代码:#include stdio.hmain()char a=176,b=219;printf(%c%c%c%c%c,b,a,a,a,b);printf(%c%c%c%c%c,a,b,a,b,a);printf(%c%c%c%c%c,a,a,b,a,a);printf(%c%c%c%c%c,a,b,a,b,a);printf(%c%c%c%c%c,b,a,a,a,b);=【程序8】题目:输出9*9口诀.1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列.2.程序源代码:#include stdio.hmain()int i,j,result;printf();for (i=1;i10;i+) for(j=1;j10;j+)result=i*j;printf(%d*%d=%-3d,i,j,result);/*-3d表示左对齐,占3位*/printf();/*每一行后换行*/=【程序9】题目:要求输出国际象棋棋盘.1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格.2.程序源代码:#include stdio.hmain()int i,j;for(i=0;i8;i+)for(j=0;j8;j+)if(i+j)%2=0)printf(%c%c,219,219);elseprintf( );printf();=【程序10】题目:打印楼梯,同时在楼梯上方打印两个笑脸.1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数.2.程序源代码:#include stdio.hmain()int i,j;printf(11);/*输出两个笑脸*/for(i=1;i11;i+)for(j=1;j=i;j+)printf(%c%c,219,219);printf();=【程序11】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.2.程序源代码:main()long f1,f2;int i;f1=f2=1;for(i=1;i=20;i+) printf(%12ld %12ld,f1,f2);if(i%2=0) printf();/*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第三个月*/=【程序12】题目:判断101-200之间有多少个素数,并输出所有素数.1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数.2.程序源代码:#include math.hmain()int m,i,k,h=0,leap=1;printf();for(m=101;m=200;m+) k=sqrt(m+1);for(i=2;i=k;i+)if(m%i=0)leap=0;break;if(leap) printf(%-4d,m);h+;if(h%10=0)printf();leap=1;printf(the total is %d,h);=【程序13】题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方.1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位.2.程序源代码:main()int i,j,k,n;printf(water flowernumber is:);for(n=100;nb) a:b这是条件运算符的基本例子.2.程序源代码:main()int score;char grade;printf(please input a score);scanf(%d,&score);grade=score=90 a:(score=60 b:c);printf(%d belongs to %c,score,grade);=【程序15】题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。1.程序分析:(ab)?a:b这是条件运算符的基本例子。2.程序源代码:main()int score;char grade;printf(please input a score);scanf(%d,&score);grade=score=90?A:(score=60?B:C);printf(%d belongs to %c,score,grade);=【程序16】题目:输入两个正整数m和n,求其最大公约数和最小公倍数.1.程序分析:利用辗除法.2.程序源代码:main()int a,b,num1,num2,temp;printf(please input two numbers:);scanf(%d,%d,&num1,&num2);if(num1 temp=num1;num1=num2;num2=temp;a=num1;b=num2;while(b!=0)/*利用辗除法,直到b为0为止*/temp=a%b;a=b;b=temp;printf(gongyueshu:%d,a);printf(gongbeishu:%d,num1*num2/a);=【程序17】题目:输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数.1.程序分析:利用while语句,条件为输入的字符不为.2.程序源代码:#include stdio.hmain()char c;int letters=0,space=0,digit=0,others=0;printf(please input some characters);while(c=getchar()!=)if(c=a&c=a&c=0&c=9)digit+;elseothers+;printf(all in all:char=%d space=%d digit=%d others=%d,letters,space,digit,others);=【程序18】题目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制.1.程序分析:关键是计算出每一项的值.2.程序源代码:main()int a,n,count=1;long int sn=0,tn=0;printf(please input a and n);scanf(%d,%d,&a,&n);printf(a=%d,n=%d,a,n);while(count=n)tn=tn+a;sn=sn+tn;a=a*10;+count;printf(a+aa+.=%ld,sn);=【程序19】题目:一个数如果恰好等于它的因子之和,这个数就称为完数.例如6=1+2+3.编程找出1000以内的所有完数.1. 程序分析:请参照程序-上页程序14.2.程序源代码:main()static int k10;int i,j,n,s;for(j=2;j1000;j+)n=-1;s=j;for(i=1;i if(j%i)=0) n+;s=s-i;kn=i;if(s=0)printf(%d is a wanshu,j);for(i=0;i printf(%d,ki);printf(%d,kn);=【程序20】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米 第10次反弹多高1.程序分析:见下面注释2.程序源代码:main()float sn=100.0,hn=sn/2;int n;for(n=2;n0)x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/x2=x1;day-;printf(the total is %d,x1);1. m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 1.int fun(int score,int m,int below) int i,k=0,aver=0; for(i-0;im;i+) aver+=scorei; aver/=m; for(i=0,im;i+) if(scoreiaver) belowk=scorei; k+; return k; 2.请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。 2.void fun(int *a,int *n) int i,j=0; for(i=2;i1000;i+) if(i%7=0i%110)&i%77!=0) aj+=i; *n=j; 3.请编写函数void fun(int x,int pp,int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 3. void fun(int x, int pp,int *n) int i=1,j=0,k=0,*t=pp; for(i=0;i=x;i+) if(i%2!=0) tj=i; j+; for(i=0;ij;i+) if(x%ti=0) ppk=ti; k+; *n=k; 4.请编写一个函数void fun(char *tt,int pp),统计在tt字符中a到z26各字母各自出现的次数,并依次放在pp所指的数组中。 4. void fun(char *tt,int pp) int i; for(i=0;i26;i+) ppi=0; while (*tt) switch(*tt) casea:pp0+;break; caseb:pp1+;break; casec:pp2+;break; cased:pp3+;break; casee:pp4+;break; casef:pp5+;break; caseg:pp6+;break; caseh:pp7+;break; casei:pp8+;break; casej:pp9+;break; casek:pp10+;break; casel:pp11+;break; casem:pp12+;break; casen:pp13+;break; caseo:pp14+;break; casep:pp15+;break; caseq:pp16+;break; caser:pp17+;break; cases:pp18+;break; caset:pp19+;break; caseu:pp20+;break; casev:pp21+;break; casew:pp22+;break; casex:pp23+;break; casey:pp24+;break; casez:pp25+;break; tt+; 5.请编写一个函数void fun(int m,int k,int xx),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。 5. void fun(int m,int k,int xx) int g=0,i,j,flag=1; for(i=m+1;im*m;i+) for(j=2;j=i) if (k0) xxg+=i; k-; else break; 6.请编写一个函数void fun(char a,char,int n),其功能是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。 6. void fun(char a,char b,int n) int i,j=0; for (i=0;iLEN;i+) if(i!=n) bj=ai; j+; bj=0; 7.请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。 7. void fun(int *s,int t,int*k) int i,max; max=s0; for (i=0;imax) max=si; *k=i; 8.编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。s=1+1/(1+2)+1/(1+2+3)+.+1/(1+2+3+4+.+n) 8. float fun(int n) int i; float s=1.0,t=1.0; for (i=2;in。 p=m!/n!(m-n)! 9. p=m!/n!(m-n)! float fun(int m,int n) float p,t=1.0; int i; for (i=1;i=m;i+) t=t*i; p=t; for (t=1.0,i=1;i=n;i+) t=t*i; p=p/t; for(t=1.0,i=1;i=1e-6); return x1; 11.下列程序定义了NN的二维数组,并在主函数中自动赋值。请编写函数 fun(int aN),该函数的功能是:使数组左下半三角元素中的值全部置成0。 11. int fun(int aN) int i,j; for(i=0;iN;i+) for(j=0;ji;j+) aij=0; 12.下列程序定义了NN的二维数组,并在主函数中赋值。请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。 12.double fun (int wN) int i,j,k=0; double s=0.0; for (j=0;jN;j+) s+=w0j; k+; for (j=0;jN;j+) s+=wN-1j; k+; for (i=1;i=N-2;i+) s+=wi0; k+; return s/=k; 13.请编写一个函数void fun(int ttMN,int ppN),tt指向一个M行N列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予。 13. void fun(int ttMN,int ppN) int i,j,min; for (j=0;jN;j+) min=tt0j; for (i=0;iM;i+) if (ttijmin) min=ttij; ppj=min; 14.请别写函数fun,函数的功能使求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 14. int fun (int aMN) int i,j,s=0; for (j=0;jN;j+) s+=a0j; s+=aM-1j; for (i=1;i10) if(t/10) p=t%10; s=s+p*s1; s1=s1*10; t=t/10; return s; 16.请编写一个函数float fun(double h),函数的功能使对变量h中的值保留2位小树,并对第三位进行四舍五入(规定h中的值位正数)。 16. float fun (float h) long t; float s; h=h*1000; t=(h+5)/10; s=(float)t/100.0; return s; 17.请编写一个函数fun(char *s),该函数的功能使把字符串中的内容拟置。 17. void fun(char *s) char ch; int i,m,n; i=0; m=n=strlen(s)-1; while(i(n+1)/2) ch=si; si=sm; sm=ch; i+; m-; 18.编写程序,实现矩阵(3行3列)的转置(即行列互换)。 18. void fun(int array33) int i,j,temp; for (i=0;i1;i-) for(j=2;j=i) aak=i; k+; return k+; 21.请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ASCII码降序排列。 21.void fun(char *s,int num) char t; int i,j; for (i=1;inum-2;i+) for (j=i+1;jnum-1;j+) if(sis; do if(q-smax) max=q-s; q=q-next; while(q!=0); return max; 23.请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都是一样的字符串。 23. int fun(char *str) int i,n=0,fg=1; char *p=str; while (*p) n+; p+; for (i=0;in/2;i+) if (stri=strn-1-i); else fg=0; break; return fg; 24.请编写一个函数fun,它的功能是:将一个字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。 24. 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-0; s1=10; for (k=j;k=m) p=s; else p=t; return p; 26.请编写一个函数fun,它的功能是:根据以下公式求X的值(要求满足精度0.0005,即某项小于0.0005时停止迭代): X/2=1+1/3+12/35+123/357+1234/3579+.+123.n/357(2n+1) 程序运行后,如果输入精度0.0005,则程序输出为3.14.。 26. double fun(double eps) double s; float n,t,pi; t=1;pi=0;n=1.0;s=1.0; while(fabs(s)=eps) pi+=s; t=n/(2*n+1); s*=t; n+; pi=pi*2; return pi; 27.请编写一个函数fun,它的功能是:求除1到m之内(含m)能北7或11整除的所有整数放在数组a中,通过n返回这些数的个数。 27.void fun(int m,int *a,int *n) int i,j;*n=0; for(i=1;i=m;i+) if(i%7=0/i%11=0) aj=i; j+; *n=j; 28.请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 28. void fun(int a,int n, int *max,int *d) int i; *max=a0; *d=0; for(i=0;i*max) *max=ai; *d=i; 29.请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。 29. void fun(char *ss) int i,n; n=strlen(ss); for(i=1;i=a&ssi=z) ssi=ssi-32; 30.请编写一个函数fun,它的功能是:求除一个2M整型二维数组中最大元素的值,并将此值返回调用函数。 30. int fun(int aM) int i,j,max; max=a00; for(i=0;i2;i+) for(j=0;jmax) max=aij; return max; 31.请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。 31. void fun(char *s,char t) int i,j,n; n=strlen(s); for(i=0;in;i+) if(i%2=0&si%2=0) tj=sj; j+; tj=0; 32.请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的一个数组中。 32. void fun(char *s,char t) int i,j=0,n; n=strlen(s); for(i=0;in) while(*p&pt+n) ai=*p; i+; p+; ai=0; 34.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能使:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。 34. int fun(STREC*a,STREC *b) int i,j=0,max; max=a0.s; for(i=0;iN;i+) if(ai.s=max) *(b+j)=ai; j+; n+; return n; 35.请编写一个函数,用来删除字符串中的所有空格。 35. void fun(char *str) int i=0; char *p=str; while(*p) if(*p!=) stri=*p; i+; p+; stri=0; 36.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。 36. void fun(char *a) int i=0,n=0; char *p; p=a; while (*p=*) n+; p+; while (*p) ai=*p; i+; p+; while(n!=0) ai=*; i+; i-; ai=0; 37.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。 37. void fun(STREC *p) double av=0.0; int i; for(i=0;isi; av/=N; p-ave=av; 38.请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 38. int fun(char *ss,char c) int n=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-广西-广西殡葬服务工二级(技师)历年参考题库典型考点含答案解析
- 焊工基础知识培训课件看板
- 2025年中级卫生职称-主管技师-核医学技术(中级)代码:377历年参考题库典型考点含答案解析
- 2025年药学职称考试-辽宁省-辽宁省药学(初级药师)历年参考题库含答案解析(5套)
- 热网安全知识培训内容课件
- 2025年职业技能鉴定-冷作工-冷作工职业技能监定(初级)历年参考题库含答案解析(5套)
- 2025年综合评标专家-湖北-湖北综合评标专家(工程施工类)历年参考题库含答案解析(5套)
- 2025年综合评标专家-新疆-新疆综合评标专家(交通运输厅)历年参考题库含答案解析(5套)
- 热水壶消防安全知识培训课件
- 烧结厂安全知识培训课件
- 急腹症的诊断及治疗(吴慧锋)
- GB/T 4666-2009纺织品织物长度和幅宽的测定
- GB/T 13912-2020金属覆盖层钢铁制件热浸镀锌层技术要求及试验方法
- 水轮发电机的基本结构课件
- 《空气动力学》配套教学课件
- 2023年西安陕鼓动力股份有限公司招聘笔试模拟试题及答案解析
- 送达地址确认书(完整版)
- 水泵设备单机试运转记录
- 完整版医院体检报告范本
- 速成意大利语(上)
- Q∕SY 1535-2012 海底管道混凝土配重层技术规范
评论
0/150
提交评论