C语言程序设计期末考试及答案.docx

上传人(卖家):刘殿科 文档编号:6054629 上传时间:2023-05-24 格式:DOCX 页数:11 大小:17.28KB
下载 相关 举报
C语言程序设计期末考试及答案.docx_第1页
第1页 / 共11页
C语言程序设计期末考试及答案.docx_第2页
第2页 / 共11页
C语言程序设计期末考试及答案.docx_第3页
第3页 / 共11页
C语言程序设计期末考试及答案.docx_第4页
第4页 / 共11页
C语言程序设计期末考试及答案.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、 第一次试验1. 编写一个程序,求出给定半径r的圆的面积和周长,并且输出计算结果。其中:r的值由用户输入,用浮点型数据处理。#include void main( )float PI=3.1415;float r,area,perim;printf(请输入圆的半径:n);printf(r=);scanf(%f,&r); /输入半径rperim=2*PI*r; /周长=2rarea=PI*r*r; /面积=r2printf(周长:%fn面积:%fn,perim,area); /输出周长和面积.2. 给一百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8089分为B,7079分为C

2、,6069分为D,60分以下为E。#include void main() int iNum;printf(请输入分数:); scanf(%d, &iNum); switch (iNum / 10) case 10: case 9 : printf(学生成绩An);break; case 8 : printf(学生成绩Bn);break; case 7 : printf(学生成绩Cn);break; case 6 : printf(学生成绩Dn);break; default: printf(学生成绩En);break; 3. 输入两个正整数m和n,求其最大公约数和最小公倍数。#include

3、 int main() int p,r,n,m,temp; printf(请输入两个正整数n,m:);/请用空格隔开 scanf(%d%d,&n,&m); if (nm) temp=n; n=m; m=temp; p=n*m; while(m!=0) r=n%m; n=m; m=r; printf(它们的最大公约数为:%dn,n); printf(它们的最小公约数为:%dn,p/n); return 0; 4. 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include#include#include int i,a4;char t;int main() printf(

4、请输入字符串); for(i=0;i+) scanf(%c,&t); if(t=n)break; else if(t=A&t=a&t=0&t=9)a2+; else a3+; for(i=0;i4;i+) if(i=0) printf(字母的个数是); else if(i=1) printf(空格的个数是); else if(i=2) printf(数字的个数是); else if(i=3) printf(其它字符的个数是); printf(%dn,ai); system(pause); return 0;5. 求sn=a+aa+aaa+aa.a(n个a)之值,其中a是一个数字。例如:2+22

5、+222+2222+22222(此时n=5),n由键盘输入。#includeint main(void) int sum = 0; int sun = 0; int a; int n; int i = 0;printf(请入入a值(整数):n);printf(a = );scanf(%d, &a);printf(请入入n值:n);printf(n = );scanf(%d, &n); while (in) sum = a + sum * 10; sun += sum; +i;printf(sun = %d n, sun );return 0; 第二次试验1. 有一分数序列:求出这个数列的前20

6、项之和。#includemain() int i,x,y,a; float sum=0; x=2; y=1; for(i=1;i20;i+) sum+=(float)(x)/y; / printf(%d/%dn,x,y); a=x; x=x+y; y=a; printf(%7.5fn,sum); 2. 求一个33矩阵对角线元素之和。#include void main() int a33; int i,j; int sum=0; int sum1=0; / input for( i=0; i=2; i+) for( j=0; j=2; j+) printf (a%d%d:, i+1, j+1)

7、; scanf (%d,&aij); printf(n); / sumfor( i=0; i=2; i+) for( j=0; j=2; j+) if(i=j) sum = sum+aij; if(i+j=2) sum1= sum1+aij; /outputprintf (DuiJIao 1: %dn,sum); printf(DuiJIao 2: %dn,sum1); /output matrixprintf(n); for( i=0; i=2; i+) for( j=0; j=2; j+) printf(%d ,aij); printf(n); 依次输入9个数输出两对角线和3. 将一个数组

8、中的值按逆序重新存放,例如原来的顺序为:8,6,5,4,1。要求改为:1,4,5,6,8。#includevoid main() int i,b10; for(i=0;i-1;i-) printf(%5d, bi); printf(n);4. 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格、以及其他字符的个数。#include int main() int i,j,upp,low,dig,spa,oth; char text380; upp=low=dig=spa=oth=0; for (i=0;i3;i+) printf(please inp

9、ut line %d:n,i+1); gets(texti); for (j=0;j=A& textij=a & textij=0 & textij=9) dig+; else if (textij= ) spa+; else oth+; printf(nupper case: %dn,upp); printf(lower case: %dn,low); printf(digit : %dn,dig); printf(space : %dn,spa); printf(other : %dn,oth); return 0; 第三次实验1. 将字符串computer赋给一个字符数组,然后从第一个字

10、母开始输出该串。请用指针实现。#include #include #define MAX_LENGTH 32int main() char strMAX_LENGTH = 0; char *pStr = (char*)&str; /1. 将字符串computer赋给一个字符数组 strcpy(str, computer); /2. 然后从第一个字母开始间隔地输出该串 while(*pStr != 0 ) printf(%cn, *pStr); pStr+; return 1;2. 将无符号八进制数字字符串转换为十进制整数。例如,输入的字符串为556,则输出十进制整数366。用指针实现。#inc

11、lude void main() char *p, s6;int n=0;p=s;gets(p);while(*p!=0)n=n*8;n=n+(*p-0);p+;printf(%d n,n);3. 编程输入一行文字,找出其中的大写字母,小写字母,空格,数字,及其他字符的个数,用指针实现。#include#include#includeint main()char str100;int num1,num2,num3,num4;num1=num2=num3=num4=0;gets(str);for(int i=0;istrlen(str);i+)if(islower(stri)num1+;else

12、 if(isupper(stri)num2+;else if(isdigit(stri)num3+;else if(stri= )num4+;printf(小写字母:%dn,num1);printf(大写字母:%dn,num2); printf(数字:%dn,num3);printf(空格:%dn,num4); return 0; 第四次实验1. 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。#include #include int prime(int x) int temp,i,k; temp=(int)(sqrt(x); for(i=2;itemp) k=1;retu

13、rn k; void main() int x; int k; scanf(%d,&x); k=prime(x); if(k) printf(%d is primen,x); else printf(%d is not primen,x);2. 写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。# include#include char *fanxu(char str1100) /返回类型int i,j,t;char str2100;strcpy(str2,str1);t=strlen(str1);for(i=0,j=t-1;j-1;i+,j-)str1i=str2j;re

14、turn str2; int main(int argc, char* argv) char str0100;gets(str0);fanxu(str0);puts(str0); return 0;3. 写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串及输出上述的结果。#include#includeint alph,digit,space,others;void count(char str);void main(void) char text80; printf(n输入字符串:n); gets(text); printf(字符串是:);

15、puts(text); strcat(text,n); alph=0; digit=0; space=0; others=0; count(text); printf(n%d字母,%d数字,%d空格,%d其它字符n,alph,digit,space,others);void count(char str) int i; for(i=0;stri!=n;i+) if(stri=a&stri=A&stri=0&stri=9) digit+; else if(stri= ) space+; else others+; 4. 写一函数,使给定的一个二维数组(33)转置,即行列互换。#include void x(int a33)/x是行列互换的函数名int i,j;printf(行列互换后:n);for(i=0;i3;i+) for(j=0;j3;j+) printf(%dt,aji); printf(n);void main()int sum33,i,j;printf(请输入3*3的矩阵数:);for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&sumij); x(sum);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 待归类文档
版权提示 | 免责声明

1,本文(C语言程序设计期末考试及答案.docx)为本站会员(刘殿科)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|