C语言程序设计期末考试及答案_第1页
C语言程序设计期末考试及答案_第2页
C语言程序设计期末考试及答案_第3页
C语言程序设计期末考试及答案_第4页
C语言程序设计期末考试及答案_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计期末考试及答案C语言程序设计期末考试及答案C语言程序设计期末考试及答案V:1.0精细整理,仅供参考C语言程序设计期末考试及答案日期:20xx年X月第一次试验编写一个程序,求出给定半径r的圆的面积和周长,并且输出计算结果。其中:r的值由用户输入,用浮点型数据处理。#include<stdio.h>voidmain(){ floatPI=3.1415; floatr,area,perim; printf("请输入圆的半径:\n"); printf("r="); scanf("%f",&r);//输入半径r perim=2*PI*r;//周长=2πr area=PI*r*r;//面积=πr^2 printf("周长:%f\n面积:%f\n",perim,area);//输出周长和面积..}给一百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。#include<stdio.h>voidmain(){intiNum; printf("请输入分数:");scanf("%d",&iNum);switch(iNum/10){case10:case9:printf("学生成绩A\n");break;case8:printf("学生成绩B\n");break;case7:printf("学生成绩C\n");break;case6:printf("学生成绩D\n");break;default:printf("学生成绩E\n");break;}}输入两个正整数m和n,求其最大公约数和最小公倍数。#include<stdio.h>intmain(){intp,r,n,m,temp;printf("请输入两个正整数n,m:");//请用空格隔开scanf("%d%d,",&n,&m);if(n<m){temp=n;n=m;m=temp;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf("它们的最大公约数为:%d\n",n);printf("它们的最小公约数为:%d\n",p/n);return0;}输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include<stdio.h>#include<stdlib.h>#include<string.h>inti,a[4];chart;intmain(){ printf("请输入字符串");for(i=0;;i++){scanf("%c",&t);if(t=='\n')break;elseif(t>='A'&&t<='Z')a[0]++;elseif(t>='a'&&t<='z')a[0]++;elseif(t=='')a[1]++;elseif(t>='0'&&t<='9')a[2]++;elsea[3]++;}for(i=0;i<4;i++){ if(i==0) printf("字母的个数是"); elseif(i==1) printf("空格的个数是"); elseif(i==2) printf("数字的个数是"); elseif(i==3) printf("其它字符的个数是"); printf("%d\n",a[i]);}system("pause");return0;}求sn=a+aa+aaa+…+aa...a(n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n由键盘输入。#include<stdio.h>

intmain(void)

{

intsum=0;

intsun=0;

inta;

intn;

inti=0;

printf("请入入a值(整数):\n");

printf("a=");

scanf("%d",&a);

printf("请入入n值:\n");

printf("n=");

scanf("%d",&n);

while(i<n)

{

sum=a+sum*10;

sun+=sum;

++i;

}

printf("sun=%d\n",sun);

return0;

}第二次试验有一分数序列:求出这个数列的前20项之和。#include<stdio.h>

main()

{inti,x,y,a;

floatsum=0;

x=2;

y=1;

for(i=1;i<20;i++)

{

sum+=(float)(x)/y;

//printf("%d/%d\n",x,y);

a=x;

x=x+y;

y=a;

}

printf("%7.5f\n",sum);

}求一个33矩阵对角线元素之和。#include<stdio.h>

voidmain()

{

inta[3][3];

inti,j;

intsum=0;

intsum1=0;

//input

for(i=0;i<=2;i++)

{

for(j=0;j<=2;j++)

{

printf("a[%d][%d]:",i+1,j+1);

scanf("%d",&a[i][j]);

}

printf("\n");

}

//sum

for(i=0;i<=2;i++)

{

for(j=0;j<=2;j++)

{

if(i==j)

sum=sum+a[i][j];

if(i+j==2)

sum1=sum1+a[i][j];

}

}

//output

printf("DuiJIao1:%d\n",sum);

printf("DuiJIao2:%d\n",sum1);

//outputmatrix

printf("\n");

for(i=0;i<=2;i++)

{

for(j=0;j<=2;j++)

{

printf("%d",a[i][j]);

}

printf("\n");

}

}依次输入9个数

输出两对角线和将一个数组中的值按逆序重新存放,例如原来的顺序为:8,6,5,4,1。要求改为:1,4,5,6,8。#include<stdio.h>voidmain(){inti,b[10];for(i=0;i<10;i++) scanf("%d",&b[i]);for(i=9;i>-1;i--) printf("%5d",b[i]);printf("\n");}有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格、以及其他字符的个数。#include<stdio.h>

intmain()

{inti,j,upp,low,dig,spa,oth;

chartext[3][80];

upp=low=dig=spa=oth=0;

for(i=0;i<3;i++)

{printf("pleaseinputline%d:\n",i+1);

gets(text[i]);

for(j=0;j<80&&text[i][j]!='\0';j++)

{if(text[i][j]>='A'&&text[i][j]<='Z')

upp++;

elseif(text[i][j]>='a'&&text[i][j]<='z')

low++;

elseif(text[i][j]>='0'&&text[i][j]<='9')

dig++;

elseif(text[i][j]=='')

spa++;

else

oth++;

}

}

printf("\nuppercase:%d\n",upp);

printf("lowercase:%d\n",low);

printf("digit:%d\n",dig);

printf("space:%d\n",spa);

printf("other:%d\n",oth);

return0;

}第三次实验将字符串computer赋给一个字符数组,然后从第一个字母开始输出该串。请用指针实现。#include<stdio.h>

#include<string.h>

#defineMAX_LENGTH32

intmain()

{

charstr[MAX_LENGTH]={0};

char*pStr=(char*)&str;

//1.将字符串computer赋给一个字符数组

strcpy(str,"computer");

//2.然后从第一个字母开始间隔地输出该串

while(*pStr!='\0')

{

printf("%c\n",*pStr);

pStr++;

}

return1;

}将无符号八进制数字字符串转换为十进制整数。例如,输入的字符串为556,则输出十进制整数366。用指针实现。#include<stdio.h>voidmain(){char*p,s[6];intn=0;p=s;gets(p);while(*p!='\0'){n=n*8;n=n+(*p-'0');p++;}printf("%d\n",n);}编程输入一行文字,找出其中的大写字母,小写字母,空格,数字,及其他字符的个数,用指针实现。#include<stdio.h>#include<string.h>#include<ctype.h>intmain(){charstr[100];intnum1,num2,num3,num4;num1=num2=num3=num4=0;gets(str);for(inti=0;i<strlen(str);i++){if(islower(str[i]))num1++;elseif(isupper(str[i]))num2++;elseif(isdigit(str[i]))num3++;elseif(str[i]=='')num4++;}printf("小写字母:%d\n",num1);printf("大写字母:%d\n",num2);printf("数字:%d\n",num3);printf("空格:%d\n",num4);return0;}第四次实验写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。#include<stdio.h>

#include<math.h>

intprime(intx)

{

inttemp,i,k;

temp=(int)(sqrt(x));

for(i=2;i<=temp;++i)

if(x%i==0)

{k=0;break;}

if(i>temp)

k=1;

returnk;

}

voidmain()

{

intx;

intk;

scanf("%d",&x);

k=prime(x);

if(k)

printf("%disprime\n",x);

else

printf("%disnotprime\n",x);

}写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。

#include<stdio.h>

#include<string.h>

char*fanxu(charstr1[100])//返回类型

{

inti,j,t;

charstr2[100];

strcpy(str2,str1);

t=strlen(str1);

for(i=0,j=t-1;j>-1;i++,j--)

str1[i]=str2[j];

returnstr2;

}

intmain(intargc,char*argv[])

{

charstr0[100];

gets(str0);

fanxu(str0);

puts(str0);

return0;

}写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串及输出上述的结果。#include<stdio.h>

#include<string.h>

intalph,digit,space,others;

voidcount(charstr[]);

voidmain(void)

{

chartext[80];

printf("\n输入字符串:\n");

gets(text);

printf("字符串是:");

puts(text);

strcat(text,"\n");

alph=0;

digit=0;

space=0;

others=0;

count(text);

printf("\n%d字母,%

温馨提示

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

评论

0/150

提交评论