C语言实验题目().doc_第1页
C语言实验题目().doc_第2页
C语言实验题目().doc_第3页
C语言实验题目().doc_第4页
C语言实验题目().doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

求两个数之和。在两种情况下完成:数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。数据通过scanf( )函数输入。静态输入:#include void main()int a=1,b=2,s;s=a+b;printf(这两个数的和是%dn,s);动态输入:#include void main()int a,b,s;printf(请您输入两个数:);scanf(%d,%d,&a,&b);s=a+b;printf(这两个数的和是%dn,s); 设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。要求用scanf 输入数据,输出计算结果。#include void main()float r,h,l,s,sq,vz;float pi=3.1415926;printf(请输入圆的半径r,圆柱高h:);scanf(%f,%f,&r,&h);l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vz=pi*r*r*h;printf(圆的周长为 l=%6.2fn,l);printf(圆的面积为 s=%6.2fn,s);printf(圆柱的表面积为 sq=%6.2fn,sq);printf(圆柱的体积为 vz=%6.2fn,vz);输入a、b、c三个整数,求出其中最大者,并连同三个源数据一起输出。#include int max(int x,int y,int z)int max;if(xy)if(xz)max=x;elsemax=z;elseif(yz)max=y;elsemax=z;return(max);void main()int max(int x,int y,int z); int a,b,c,w; printf(请您输入三个整数:); scanf(%d,%d,%d,&a,&b,&c); printf(您输入的三个数是:%d,%d,%dn,a,b,c); w=max(a,b,c); printf(这三个数中最大的是:%dn,w);给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。要求输入一个成绩并打印出对应的等级制成绩。要求用switch语句完成。#include void main()int grade,c;printf(请您输入一个成绩:);scanf(%d,&grade);while(grade100|gradelimit成立,输出n对应的sum(limit从键盘输入,要求用while、或do. while 语句,limit=10)。#include void main()float n=0,sum=0,limit=0;printf(请输入一个limit的值:);scanf(%f,&limit);while (sum=limit)n+;sum=sum+1/n;printf(此时sum的值是:%fn,sum);printf(此时n的值为%fn,n);计算M=11+ 22+ 33+ NN,直到N等于15为止,输出N和对应的M。(要求用for语句做)#include void main()int n;float M;M=0.0;for(n=1;n10;n+)M=M+(n+10*n);for(n=10;n=15;n+)M=M+(n+100*n);n-;printf(当n是%d时,M的值为%fn,n,M);100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马一匹驮0.5担,计算大、中、小马数目并输出。#include void main()int big,mid,small,sum=0;for(big=0;big33;big+)for(small=0;small100;small+=2)for(mid=0;mid50;mid+)if(3*big+2*mid+small/2=100&big+mid+small=100)printf(big:%dt,mid:%dt,small:%dn,big,mid,small);sum+;printf(一共有%d种组合方式n,sum);求 sum=1!+2!+3!+.+10! ,并输出结果。#include void main()float s=0,t=1;int n;for(n=1;n=10;n+)t=t*n;s=s+t;printf(1!+2!+3!+.+10!的和是:%en,s);注意该程序的结果为:1!+2!+3!+.+10!的和是:4.037913e+006是以科学计数法表示的结果,因为int的定义范围只能以此表示,如果用long int来输出,则可以得到正常表示的结果#include void main()long s=0,t=1;int n;for(n=1;n=10;n+)t=t*n;s=s+t;printf(1!+2!+3!+.+10!的和是:%ldn,s);1!+2!+3!+.+10!的和是:4037913设数列为1,3,5,7,9,11,13,15,17,19,动态输入在数组array中,然后顺序打印输出该数列,再逆序打印输出该数列。#include #define N 10void main()int array10;printf(请您输入10个整数:n);int i=0;for(i=0;iN;i+)scanf(%d,&arrayi);printf(您输入的10个整数的顺序排列是:n);for(i=0;i=0;i-)printf(%-4d,arrayi);printf(n);将3x3阶二维数组的关于主对角线对称的元素互换。二维数组的第1至3行元素分别为1、2、3、4、5、6、7、8、9。用矩阵形式分别输出互换前、后的数组元素值。#include void main()int i,j,t,array33=1,2,3,4,5,6,7,8,9;printf(Before Exchanged:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%5d,arrayij);printf(n);for(i=1;i3;i+)for(j=0;ji;j+)t=arrayij;arrayij=arrayji;arrayji=t;printf(After Exchanged:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%5d,arrayij);printf(n); 定义两个字符数组s1、s2,并用赋初值的方法把两个字符串Computer和Language” 分别存放到s1、s2中,要求不用库函数strcat( ),把s2连接到s1的尾部,然后以%s格式输出连接后的字符串s1。#include void main() char s180,s240; int i=0,j=0; printf(input string1:); scanf(%s,&s1); printf(input string2:); scanf(%s,&s2); while(s1i!=0) i+; s1i= ; i+; while(s2j!=0) s1i+=s2j+; s1i = 0; printf(The new string is:%sn,s1);用赋初值的方法把字符串C is a general purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.存放到字符数组s中,编程统计其中的大写字母、小写字母、数字、空格、逗号的个数。#include void main() char s512 = C is a general purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.;int upper=0,lower=0,digit=0,space=0,comma=0;int i=0;while (si) if(si=A&si=a&si=0&si=9)digit+; if(si= )space+; if(si=,)comma+; i+; printf(这串字符串有大写字母%d个,小写字母%d个,数字%d个,空格%d个,逗号%d个n,upper,lower,digit,space,comma);试从主函数输入10个数据到数组中,编写对偶数项求和的子函数,它将计算结果返回给主函数,由主函数输出。#include int oqh(int a, int x) int i,s;s=0; for(i=1;ix;i+=2)s=s+ai; return(s); void main() int a10;int i,s;printf(请您在数组内输入10个数:);for(i=0;i10;i+) scanf(%d,&ai);s=oqh(a,10);printf(这个数组的偶数项的和是:%dn,s); 注意:oqh并无其他含义,是本人定义的一个函数名,偶数项求和的缩写。编写一个判断素数的程序,其中主函数用于完成输入一个整数并给出判断结果,单独编写一个函数用于判断其参数是否为素数,其返回值为1表示为素数,为0表示为非素数。#include #include int prime(int n)int m,i=2,t;t=(int)sqrt(n);for(;it)m=1;elsecontinue;return(m);void main()int n;int i;printf(请输入你要判断的数:n);scanf(%d,&n);while(n=1)printf(您输入了一个错误的数据,请重新输入:n);scanf(%d,&n);if(prime(n)printf(您输入的是一个素数n);elseprintf(您输入的不是一个素数n);输入三个整数,按由小到大的顺序输出。(要求使用指针来排序输出)#include void sort(int *a,int *b,int *c)int t=0;if(*a*b)t=*a;*a=*b;*b=t;if(*a*c)t=*a;*a=*c;*c=t;if(*b*c)t=*b;*b=*c;*c=t;void main()int a,b,c;printf(请您输入三个整数:);scanf(%d %d %d,&a,&b,&c);sort(&a,&b,&c);printf(它们由小到大的排列顺序是:%d %d %dn,a,b,c);或者是#include void main() void swap(int *p1,int *p2); int a,b,c; int *p1,*p2,*p3; printf(请您输入三个整数:); scanf(%d %d %d,&a,&b,&c); p1=&a; p2=&b; p3=&c; if(ab)swap(p1,p2); if(ac)swap(p1,p3); if(bc)swap(p2,p3); printf(它们由小到大的排列顺序是:%d %d %dn,a,b,c);void swap(int *p1,int *p2) int p; p=*p1; *p1=*p2; *p2=p;输入十个整数,放在数组list中,然后用指针法从后向前输出该数组中的整数。#include void main() int list10,i,*p=list; printf(请您输入10个整数:n); for(i=0;i=0;i-) printf(%-4d,*(p+i);如果输入的数字个数不定的情况,下面的代码可行#include void main()void sort(char *p,int m);int i,n;char *p,list30;printf(请您输入n的值:);scanf(%d,&n);printf(请您输入%d个整数:n,n);for(i=0;in;i+)scanf(%d,&listi);p=&list0;sort(p,n);printf(这%d个整数的逆序序列是:n,n);for(i=0;in;i+)printf(%-4d,listi);printf(n);void sort(char *p,int m)int i;char t,*p1,*p2;for(i=0;im/2;i+)p1=p+i;p2=p+(m-1-i);t=*p1;*p1=*p2;*p2=t;编写一个函数,它能对一个字符串(“I am a student”)测出长度,要求函数的形参是一个指针变量,函数返回值是字符串的长度。#include void main()int length(char *p);int len;char str20;printf(input string:);gets(str);len=length(str);printf(The length of string is %d.n,len);int length(char *p)int n;n=0;while(*p!=0)n+;p+;/*p=0;/n+;return(n);若要统计结果包含结束符,则启用*p=0;n+;两条语句编一个函数cstrcmp实现两个字符串的比较,具体为: int cstrcmp(char *p1, char *p2)p1,p2分别指向字符串s1,s2;若s1=s2则函数返回0;若s1s2,则函数返回1;若s1s2,则函数返回-1。声明字符串s1,s2时对其进行初始化。#include #include char s120;char s220;void input()printf(输入第1个字符串:n);scanf(%s,s1);printf(输入第2个字符串:n);scanf(%s,s2);int cstrcmp(char *p1,char *p2)p1=s1;p2=s2;if(strcmp(p1,p2)=0)return 0;if(strcmp(p1,p2)0)return 1;if(strcmp(p1,p2)0)return -1;void main()char *a;char *b;input();printf(这两个字符串比较的结果是:%dn,cstrcmp(a,b);如果要求返回的是不相同字母的ASCII码值:#include void main()int cstrcmp(char *p1,char *p2);int m;char str120,char str220,*p1,*p2;printf(请在下面输入两个字符串:n);gets(str1);gets(str2);p1=&str10;p2=&str20;m=cstrcmp(p1,p2);printf(这两个字符串比较的结果是:%dn,m);int cstrcmp(char *p1,char *p2)int i;i=0;while(*(p1+i)=*(p2+i)if(*(p1+i+)=0)return(0);return(*(p1+i)-*(p2+i);有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,用赋初值的方法输入5个学生的数据到结构体数组中,输出每个学生3门课的平均成绩。#include struct student char num6; char name8;int score3;float avr;stu5=101,Zhou,93,89,87,102,Yang,85,80,78,103,Chen, 77,70,83,104,Qian,70,67,60,105,Li,72,70,69; void main() int i,j,sum;for(i=0;i5;i+) sum=0;

温馨提示

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

评论

0/150

提交评论