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

上传人:b****4 文档编号:6534982 上传时间:2023-05-06 格式:DOCX 页数:14 大小:20.17KB
下载 相关 举报
C语言程序设计期末考试及答案文档格式.docx_第1页
第1页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第2页
第2页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第3页
第3页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第4页
第4页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第5页
第5页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第6页
第6页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第7页
第7页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第8页
第8页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第9页
第9页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第10页
第10页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第11页
第11页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第12页
第12页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第13页
第13页 / 共14页
C语言程序设计期末考试及答案文档格式.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

iNum);

switch(iNum/10)

{

case10:

case9:

学生成绩A\n"

break;

case8:

学生成绩B\n"

case7:

学生成绩C\n"

case6:

学生成绩D\n"

default:

学生成绩E\n"

}

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

intmain()

intp,r,n,m,temp;

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

//请用空格隔开

%d%d,"

n,&

m);

if(n<

m)

temp=n;

n=m;

m=temp;

p=n*m;

while(m!

=0)

r=n%m;

m=r;

它们的最大公约数为:

%d\n"

n);

它们的最小公约数为:

p/n);

return0;

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

#include<

stdlib.h>

string.h>

inti,a[4];

chart;

intmain()

{

请输入字符串"

for(i=0;

;

i++)

%c"

t);

if(t=='

\n'

)break;

elseif(t>

='

A'

&

t<

Z'

)a[0]++;

a'

z'

)a[0]++;

elseif(t=='

'

)a[1]++;

0'

9'

)a[2]++;

elsea[3]++;

i<

4;

if(i==0)

printf("

字母的个数是"

elseif(i==1)

printf("

空格的个数是"

elseif(i==2)

数字的个数是"

elseif(i==3)

其它字符的个数是"

a[i]);

system("

pause"

return0;

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

例如:

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

intmain(void)

intsum=0;

intsun=0;

inta;

intn;

inti=0;

printf("

请入入a值(整数):

a="

scanf("

a);

请入入n值:

n="

n);

while(i<

n)

sum=a+sum*10;

sun+=sum;

++i;

sun=%d\n"

sun);

第二次试验

1.有一分数序列:

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

main()

{inti,x,y,a;

floatsum=0;

x=2;

y=1;

for(i=1;

20;

i++)

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

//printf("

%d/%d\n"

x,y);

a=x;

x=x+y;

y=a;

%7.5f\n"

sum);

2.求一个3

3矩阵对角线元素之和。

voidmain()

inta[3][3];

inti,j;

intsum=0;

intsum1=0;

//input

for(i=0;

i<

=2;

i++)

for(j=0;

j<

j++)

printf("

a[%d][%d]:

i+1,j+1);

scanf("

a[i][j]);

}

//sum

if(i==j)

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

if(i+j==2)

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

//output

DuiJIao1:

%d\n"

DuiJIao2:

sum1);

//outputmatrix

%d"

a[i][j]);

依次输入9个数

输出两对角线和

 

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

8,6,5,4,1。

要求改为:

1,4,5,6,8。

{inti,b[10];

10;

b[i]);

for(i=9;

i>

-1;

i--)

%5d"

b[i]);

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

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

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

chartext[3][80];

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

for(i=0;

3;

{printf("

pleaseinputline%d:

i+1);

gets(text[i]);

for(j=0;

j<

80&

text[i][j]!

\0'

j++)

{if(text[i][j]>

text[i][j]<

upp++;

elseif(text[i][j]>

&

low++;

dig++;

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

spa++;

else

oth++;

\nuppercase:

upp);

lowercase:

low);

digit:

dig);

space:

spa);

other:

oth);

第三次实验

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

请用指针实现。

#defineMAX_LENGTH32

charstr[MAX_LENGTH]={0};

char*pStr=(char*)&

str;

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

strcpy(str,"

computer"

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

while(*pStr!

='

%c\n"

*pStr);

pStr++;

return1;

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

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

用指针实现。

{char*p,s[6];

intn=0;

p=s;

gets(p);

while(*p!

{n=n*8;

n=n+(*p-'

p++;

%d\n"

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

ctype.h>

charstr[100];

intnum1,num2,num3,num4;

num1=num2=num3=num4=0;

gets(str);

for(inti=0;

strlen(str);

if(islower(str[i]))

num1++;

elseif(isupper(str[i]))

num2++;

elseif(isdigit(str[i]))

num3++;

elseif(str[i]=='

num4++;

小写字母:

num1);

大写字母:

num2);

数字:

num3);

空格:

num4);

第四次实验

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

math.h>

intprime(intx)

inttemp,i,k;

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

for(i=2;

=temp;

++i)

if(x%i==0)

{k=0;

break;

if(i>

temp)

k=1;

returnk;

intx;

intk;

x);

k=prime(x);

if(k)

%disprime\n"

x);

%disnotprime\n"

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

#include<

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

inti,j,t;

charstr2[100];

strcpy(str2,str1);

t=strlen(str1);

for(i=0,j=t-1;

j>

i++,j--)

str1[i]=str2[j];

returnstr2;

intmain(intargc,char*argv[])

charstr0[100];

gets(str0);

fanxu(str0);

puts(str0);

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

intalph,digit,space,others;

voidcount(charstr[]);

voidmain(void)

chartext[80];

\n输入字符串:

gets(text);

字符串是:

puts(text);

strcat(text,"

alph=0;

digit=0;

space=0;

others=0;

count(text);

\n%d字母,%d数字,%d空格,%d其它字符\n"

alph,digit,space,others);

voidcount(charstr[])

inti;

str[i]!

if((str[i]>

str[i]<

)||(str[i]>

))

alph++;

elseif(str[i]>

digit++;

elseif(str[i]=='

space++;

others++;

4.写一函数,使给定的一个二维数组(3×

3)转置,即行列互换。

voidx(inta[3][3])//x是行列互换的函数名

行列互换后:

for(i=0;

for(j=0;

%d\t"

a[j][i]);

intsum[3][3],i,j;

请输入3*3的矩阵数:

sum[i][j]);

x(sum);

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2