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

上传人:b****3 文档编号:2173713 上传时间:2022-10-27 格式:DOCX 页数:11 大小:20.24KB
下载 相关 举报
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页
点击查看更多>>
下载资源
资源描述

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

《C语言程序设计期末考试及答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计期末考试及答案.docx(11页珍藏版)》请在冰豆网上搜索。

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

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

第一次试验

1.编写一个程序,求出给定半径r的圆的面积与周长,并且输出计算结果。

其中:

r的值由用户输入,用浮点型数据处理。

#include

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);//输出周长与面积、、

}

2.给一百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。

90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。

#include

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;

}

}

3.输入两个正整数m与n,求其最大公约数与最小公倍数。

#include

intmain()

{

intp,r,n,m,temp;

printf("请输入两个正整数n,m:

");//请用空格隔开

scanf("%d%d,",&n,&m);

if(n

{

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;

}

4.输入一行字符,分别统计出其中英文字母、空格、数字与其她字符的个数。

#include

#include

#include

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;

}

5.求sn=a+aa+aaa+…+aa、、、a(n个a)之值,其中a就是一个数字。

例如:

2+22+222+2222+22222(此时n=5),n由键盘输入。

#include

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

{

sum=a+sum*10;

sun+=sum;

++i;

}

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

return0;

}

第二次试验

1.有一分数序列:

求出这个数列的前20项之与。

#include

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);

}

2.求一个33矩阵对角线元素之与。

#include

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个数

输出两对角线与

3.将一个数组中的值按逆序重新存放,例如原来的顺序为:

8,6,5,4,1。

要求改为:

1,4,5,6,8。

#include

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");

}

4.有一篇文章,共有3行文字,每行有80个字符。

要求分别统计出其中英文大写字母、小写字母、数字、空格、以及其她字符的个数。

#include

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;

}

第三次实验

1.将字符串computer赋给一个字符数组,然后从第一个字母开始输出该串。

请用指针实现。

#include

#include

#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;

}

2.将无符号八进制数字字符串转换为十进制整数。

例如,输入的字符串为556,则输出十进制整数366。

用指针实现。

#include

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);

}

3.编程输入一行文字,找出其中的大写字母,小写字母,空格,数字,及其她字符的个数,用指针实现。

#include

#include

#include

intmain()

{

charstr[100];

intnum1,num2,num3,num4;

num1=num2=num3=num4=0;

gets(str);

for(inti=0;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;

}

第四次实验

1.写一个判断素数的函数,在主函数输入一个整数,输出就是否就是素数的信息。

#include

#include

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

当前位置:首页 > 工程科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1