c作业--.doc_第1页
c作业--.doc_第2页
c作业--.doc_第3页
c作业--.doc_第4页
c作业--.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/第四周作业/4-1 输入一个字符,若是小写字母,转换成大写字母输出;若是大写字母,则转换成小写字母输出。#include stdio.hmain() char c; c=getchar(); if(c=A&c=a&cA&cZ) printf(%c %cn,c-1,c+1);else if(c=A) printf(no character ahead !n);else if(c=Z) printf(no character behind!n); else printf(%c n,c);/4-3 :编写程序:求一元二次方程 x2+x-2=0 的两个实根,并输出。#include #include main() int a,b,d; double x1,x2; scanf(%d%d%d,&a,&b,&c ); x1=(-b+sqrt(b*b-4*a*b*c)/(2*a); x2=(-b-sqrt(b*b-4*a*b*c)/(2*a); printf(“x1=%f,x2=%f n,x1,x2);/第5周作业/5-1:输入一个百分成绩,输出对应的等级。#include /* P57 编程第3题 */main()int grade;float score;scanf(%f,&score);grade=(int)score/10;switch(grade) case 10: case 9: printf(90100: An); break; case 8: printf(8089: Bn);break; case 7: printf(7079: Cn);break; case 6: printf(6069: Dn);break; case 5: case 4: case 3: case 2: case 1: case 0: printf(60 : En); break; default : printf(error ); /5-2:输入今天的日期,输出明天的日期。main() /* 输入今天的日期,显示明天的日期。*/ int year,month,day; scanf(%d%d%d,&year,&month,&day); switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(day31) day=day+1; else if (month=12) year=year+1; month=1;day=1; else month=month+1;day=1;break; case 4: case 6: case 9: case 11: if(day30) day=day+1; else month=month+1;day=1;break; case 2: if(dayn)?m:n);a=m*n;a+) if(a%m=0&a%n=0) printf(time=%dn,a); break; /6-2: 如果一个正整数的所有因子之和等于该正整数,则称这个正整数为完全数。编写程序读入 n ,输出不超过n的全部完全数。 (一个数n的因子即是在1n-1范围内能被其整除的数)#include stdio.hmain() int i,j,n,sum; scanf(%d,&n); for(i=1;i=n;i+) sum=0; for(j=1;ji;j+) if(i%j=0) sum+=j; if(i=sum) printf(%dn,i); /6-3:已知 y=2x3 -3x4 +6x5 -4x+50 ,从 x=0 到 x=2 ,每隔 0.2 计算并输出 y 的值,然后输出 y 的最大值和最小值。 #include stdio.h#include math.hmain() double x,y,max=50,min=50; for(x=0;x=2;x=x+0.2) y=2*pow(x,3)-3*pow(x,4)+6*pow(x,5)-4*x+50; printf(x=%f,y=%fn,x,y); if(maxy) min=y; printf(max=%f,min=%fn,max,min);/6-4:利用while循环,求1+1/2+1/4+1/7+1/11+1/16+1/22+. 的值,直到最后一项的值小于 10的-5次方。 #include stdio.hmain() int t=1,i=1; double sum=0; while(1.0/t=1e-5) sum+=1.0/t; t+=i; i+; printf(%fn,sum);/第七周作业/1.求30以内素数之和。#include stdio.hmain() int j,i,sum=0; for(i=2;i=30;i+) for(j=2;j=i) sum+=i; printf(%dn,sum);/2.P77第4题#include stdio.hmain() double x,y=0,t; int i,j; for(j=1;j=4;j+) printf(input a number:n); scanf(%lf,&x); t=x; y+=x; for(i=2;i=10;i+) t*=x*x*(2*i-3)/(2*i-1)/(i-1); y=y+t; printf(%lfn,y); 附加题:/1.以每行5个输出300以内所有被整除,并能被整除的数。 #include stdio.hmain( ) int i,k=0; for( i=1; i=300; i+) if( i%3=0&i%5=0) k+; printf(%4d, i); if(k%5=0) printf(n ); printf(n);/2.求100 以内(包括 100 )的所有奇数之和。#include stdio.hmain( ) int i,s=0; for(i=1;i=100;i=i+2) s=s+i; printf(%dn,s);/3. 使用数组,打印斐波那契数列的前 20 个数,并以每行5个输出。 #include stdio.hmain( ) int i,f20= 1, 1 ; for( i=2; i20 ;i+) fi=fi-2+fi-1; for( i=0; i20; i+) if(i%5=0) printf(n); printf(%6d,fi ); printf(n);/第8周作业/* 第一题:求3*3 矩阵主对角线元素积与副对角线元素积的差 */ #include stdio.hmain() int i,j,p=1,q=1,a33; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) for(j=0;j3;j+) if(i=j) p=p*aij; if(i+j=2) q=q*aij; printf(差=%dn,p-q);/ 2.以直角三角形形式打印出杨辉三角的前10 项。 #includemain() int i,j,a1010; for(i=0;i10;i+) for(j=0;j=i;j+) if(j=0|j=i) aij=1; else aij=ai-1j-1+ai-1j; printf(%d ,aij); printf(n); 附加题:/编写程序,使二维数组周边元素为8,其余元素为1.#include main() int a33,i,j; for(i=0;i3;i+) for(j=0;j3;j+) if(i=0|i=2|j=0|j=2) aij=8; else aij=1; for(i=0;i3;i+) for(j=0;j3;j+) printf(%3d,aij); printf(n); 最后修改: 2011-04- 29 星期五 14:33第九周作业/*第1题:竞赛评分程序。假设有6位选手,5位评委*/#include stdio.h#include #include #define M 6#define N 5main() double aMN,dM,sum,max,min; int i,j,k,b=0,c=0; srand(time(NULL); printf(请按顺序输入N位评委对每位选手的评分并按回车:n); for(i=0;iM;i+) for(j=0;jN;j+) aij=rand()%90+10; for(i=0;iM;i+) for(j=0;jN;j+) printf(%5.2f ,aij); printf(n); for(k=0,i=0;iM;i+,k+) min=max=ai0; sum=b=c=0; for(j=0;jmax) max=aij; b=j; if(aijmin) min=aij; c=j; sum=sum+aij; dk=(sum-aib-aic)/3; for(k=0;kM;k+) printf(第%d名的成绩是:%.2fn,k+1,dk);/第2题:输入10个数存入数组中,将最小的数与第1个交换,最大的与最后一个交换。/注意:保存最大、最小值下标的变量要赋初值,否则没有交换时会出现下标越界。#include stdio.hmain() int a10,i,max,min,m=9,n=0; for(i=0 ; i10 ; i+) scanf(%d,&ai); max=min=a0; for(i=0 ; i10 ; i+) if(aimax) max=ai; m=i; an=a0; a0=min; am=a9; a9=max; for(i=0;i10;i+) printf(%3d,ai);printf(n);第十周作业/* 第1题:编写函数,求4*4 矩阵主对角线元素的最小值 */ #include stdio.hint zhu_min(int a44) int i,j,min=a00; for(i=0;i4;i+) for(j=0;j4;j+) if(i=j)&(aijmin) min=aij; return min;int main() int i,j,a44; for(i=0;i4;i+) for(j=0;j4;j+) scanf(%d,&aij); printf(最小值=%dn,zhu_min(a);/* 第2题:冒泡排序*/ #include stdio.hvoid maopao(int a,int n) int i,j,t; for( i=0;in-1;i+ ) for( j=1;jaj) t=aj-1; aj-1=aj; aj=t; main( ) int a10 ,i; for( i=0; i10; i+) scanf(%d, &ai); maopao(a,10); printf(%The sorted numbers: n); for( i=0; i10; i+) printf(%d , ai);第十一周作业/*第一题:编写求 x 的 n 次方的递归函数,并在主函数中调用、输出。*/ #include stdio.hfloat power(float x,int n) float m; if(n=0) m=1; else m=x*power(x,n-1); return m;int main() float x; int n; printf(请输入x和n的值:); scanf(%f%d,&x,&n); printf(x的n次方=%6.2fn,power(x,n); return 0;/*第二题: 编写从整型数组中检索给定数值的函数,若找到则输出该数值在数组中的位置。*/ #include stdio.hint loca(int b,int n,int x) int i; for(i=0;in;i+) if(bi=x) return i; return 0;int main() int a5,i,x,p; printf(请输入数组的值:); for(i=0;i5;i+) scanf(%d,&ai); printf(please input x: ); scanf(%d,&x); p=loca(a,5,x); if(p=0) printf(没有需要查找的数值!); else printf(该数值在数组中的位置:%dn,p+1); return 0;选做:/* 第三题: 输入 10 名学生 5 门课程的成绩,分别用函数求出: 每门课程的平均分; 找出最高分数所对应的学生和课程 (第一个最高分)*/#include stdio.h#include #include int n,k;int pmax(int b105) int i,j,m; m=b00; for(i=0;i10;i+) for(j=0;jm) m=bij;n=i;k=j; return m ;void sum(int b105,float w5) int i,j,s; for(i=0;i5;i+) s=0; for(j=0;j10;j+) s+=bji; wi=s/10.0; main() int a105,i,j,max; float p5; srand(time(NULL); for(i=0;i10;i+) for(j=0;j5;j+) aij=rand()%90+10; for(i=0;i10;i+) for(j=0;j5;j+) printf(%3d ,aij); printf(n); sum(a,p); for(i=0;i5;i+) printf(%5.2f ,pi); printf(n); max=pmax(a); printf(max=%3d,coure=%3d,student=%3dn,max,n+1,k+1);/*12周-1: 编写程序,输入10个整数,用指针法实现将最小的数与第1个数交换,最大的数与最后一个数交换。*/#include int main () int a10,i,t,*p=a,*min,*max; printf(请输入数组a:n); for(i=0;i10;i+) scanf(%d,&ai); min=max=a; for(;p*max) max=p; if(*p*min) min=p; if (max=&a0 & min=&a9) / 碰巧最小值在最后,最大值在最前边 t=a0; a0=a9; a9=t; else t=a0;a0=*min;*min=t; t=a9;a9=*max;*max=t; for(i=0;i10;i+) printf(%3d,ai); return 0; /* 第2题: 利用指针编写程序,删除字符串的所有尾部空格。 */#include stdio.hvoid del(char *p) for(; *p!=0; p+); for(p-; *p= ;p-); *+p=0; main() char s20; gets(s); del(s); printf(%s,s); /13周-1:编写函数,利用指针实现交换两个变量的值。#include void swap(int *p1,int *p2) int p; p=*p1; *p1=*p2; *p2=p;int main( ) int a,b; int *pa, *pb; printf(请输入a和b的值:); scanf(%d%d,&a,&b); pa=&a; pb=&b; if(ab) swap(pa,pb); printf(%d,%dn,a,b); /*13周-2-1 ,用指针编写函数 将string2插入到string1的pos位置,最终保存到string中。#include void exchange(char *string1, char *string2, int pos, char *string) int i; for (i=0; ipos; i+) *string+ = *string1+; while ( *string2 != 0) *string+ = *string2+; while (*string1!=0) *string+ = *string1+; *string = 0;int main() char s120 = I am a student.; char s210 = not; int position = 4; char s340; exchange(s1, s2, posit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论