C语言上机经典题目.doc_第1页
C语言上机经典题目.doc_第2页
C语言上机经典题目.doc_第3页
C语言上机经典题目.doc_第4页
C语言上机经典题目.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

C程序设计2实验内容实验一:循环控制(一)1、编程计算 S=1*2+2*3+39*40#include stdio.hmain() int a,b,S=0;for(a=1;a39;a+) b=a+a+1;S=S+b; printf(S=%dn,S); getch();2、编程计算 S=1!+2!+7!#include stdio.h main() float n,s=0,t=1; for(n=1;n=7;n+) t*=n; s+=t; printf(1+2!+3!.+20!=%.0fn,s); getch(); 3、编写程序,计算如果每年按照年利率I(例如2%),投资S(例如5000),在第Y(例如10)年得到的总钱数M。公式:M=S*(1+I)Y#include stdio.h main() float i,s,y,j,m,c=1; printf(please input I,S,Y:n); scanf(%f,%f,%f,&i,&s,&y); m=s; for(j=1;j=y;i+) c=1+i; m=m*c; printf(m=%fn,m); getch(); 4、编程输出九九乘法表。#include stdio.hmain() int i,j; for(i=1;i10;i+) for(j=1;j=i;j+) printf(%d*%d=%-5d,i,j,(i*j); printf(n); getch();实验二:循环控制(二)1、编写程序,输入一组字符(以#号结尾),对该组字符做一个统计,统计字母、数字和其它字符的个数,输出统计结果。#includestdio.hmain() int i=0,j=0,k=0; char ch; for(;ch!=#;) scanf(%c,&ch); if(0=ch&ch=9) i=i+1; else if(a=ch|A=ch) j=j+1; else k=k+1; printf(shuzi=%dtzimu=%dtqita=%dn,i,j,k); getch(); 2、编写程序,用循环语句输出下列图形: *#include stdio.h main() int i,j,k; for(i=0;i=4;i+) for(j=0;j=3-i;j+) printf( ); for(k=0;k=2*i;k+) printf(*); printf(n); for(i=0;i=3;i+) for(j=0;j=i;j+) printf( ); for(k=0;k=6-2*i;k+) printf(*); printf(n); getch(); 3、请为“百鸡问题”编写程序。百鸡问题:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏一,值钱一。百元买百鸡,问鸡翁、母、雏各几只”#include stdio.h main() int i,j,k; for(i=0;i20;i+) for(j=0;j=33;j+) for(k=0;k100;k+) while(k+i+j=100)&(5*i+3*j+k/3=100)&(k%3=0) printf(chocks:%dthens:%dtchicks:%dtzongshu:%dn,i,j,k,i+j+k); break; getch(); 实验三:数组(一)1、 由键盘对10个数组元素初始化,求它们的平均值并输出。#includestdio.hmain() float a10=0; int i; float t,m; t=0; printf(please input ten numbers:n); for(i=0;i9;i+) scanf(%f,&ai); t=t+ai; m=t/10; printf(pinjunshu =%f,m); getch();2、 输入一个十进制整数,输出与其相等的二进制形式。将二进制保存在一个数组中,然后按相反的顺序输出。#include main() int shi,n=99; int i,a100;printf(please input a number:n);scanf(%d,&shi); while(shi 0) an- = shi % 2; shi = shi/2; printf(answer is: );for(i=99;in;i-)printf(%d,ai);getch();3.编程对10个数组元素的排序。#includestdio.hmain() int a10=0; int i,j,t; printf(please input ten numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(j=1;j10;j+) for(i=0;iai+1) t=ai; ai=ai+1; ai+1=t ; ; printf(the answer is:); for(i=0;i10;i+) printf(%d,ai); getch();实验四:数组(二)1、 由键盘对44的二维数组初始化,计算其两条对角线元素之和并输出。#includestdio.hmain()int m,n,j,k,b44;printf(please input 16 numbers:n);for(m=0;m4;m+)for(n=0;n4;n+)scanf(%d,&bmn);j=b00+b11+b22+b33;k=b30+b21+b12+b03;printf( the answers are :%d %d,j,k);getch();2通过二维数组实现杨辉三角的前10行并输出。杨辉三角形式请参考教材P153。#includestdio.hmain() static int m,n,b1010; b01=1; for(m=1;m11;m+) for(n=1;n=m;n+) bmn=bm-1n-1+bm-1n; printf(%-8d,bmn); printf(n); getch();3将MN的矩阵转置成NM的矩阵并输出.#includestdio.hmain() int m,n,i,j;int b43,a34;printf(please input 12 numbers:n);for(i=0;i4;i+) for(j=0;j3;j+) scanf(%d,&bij); printf(shuzu b43:n); for(m=0;m=3;m+) for(n=0;n=2;n+) printf(%5d,bmn); anm=bmn; printf(n); printf(n); printf(shuzu a34:n); for(i=0;i3;i+) for(j=0;jb?a:b; return(t);void main() int max(int x,int y); int m,x,y,z; printf(please input three numbers:n); scanf(%d,%d,%d,&x,&y,&z); m=max(x,max(y,z); printf(zuidazhi is:%d,m); getch();2、编写一个判断一个整数是否为素数的函数,并求出在2000以内的所有素数。#include stdio.h#include math.h int SU(int x) int i,k; k=sqrt(x); for(i=0;ik+1) return(x); main() int m;for(m=2;m0) yishigen(a,b.q); else if(q=0) denggen(a,b); else xugen(a,b,q); getch() 实验六:函数(二)1、编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述统计结果。void tongji(str0,b)char str010;int b4;int i; for(i=0;i10;i+) if (str0i=a|str0i=A) b0+; else if(str0i=0) b1+; else if(str0i= ) b2+; else b3+; #include string.hvoid main() char str110; int a4=0,i; printf(please input a string:n); for(i=0;i10;i+) scanf(%c,&str1i); tongji(str1,a);printf(zimu numbers is %-3dn,a0);printf(shuzi numbers is %-3dn,a1);printf(kongge numbers is %-3dn,a2);printf(qita numbers is %-3dn,a3);getch();2、 定义一个函数replace(),其中包含三个形参:两个是字符型,一个是字符串型。该函数返回一个整数。函数的功能是在字符串中查找第一个字符,如果找到,用第二个字符替换该字符,并将替换的次数作为返回值。编写主函数调用该函数。#includestdio.h#includestring.hint replace(char a,char b,char c50)int i=0,t=0;while(ci !=0)if(ci=a) ci=b;t+;i+; return(t); main() int a; char str50; char s1,s2; printf(please input str:n); gets(str); printf(nplease input s1:n); scanf(%c,&s1);getchar(); printf(nplease input s2:n); scanf(%c,&s2);getchar(); a=replace(s1,s2,str); printf(the replaced str is :n); puts(str); printf(n %d,a); getch(); 实验七:编译预处理1、 输入输入两整数,求它们相除的余数,用带参数的宏来实现。#define MOD(x,y) x%ymain()int a,b,c;printf(please input two numbers:n);scanf(%d,%d,&a,&b);printf(%dn,MOD(a,b);getch();2、 三角的面积为area=,其中s=。a、b、c为三角形的三边。定义两个带参数的宏,一个用来求s,另一个用来求area。写程序,在主程序中用带实参的宏名来求面积area。#includemath.h#def

温馨提示

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

最新文档

评论

0/150

提交评论