计算机作业Word格式文档下载.docx

上传人:b****5 文档编号:19641202 上传时间:2023-01-08 格式:DOCX 页数:30 大小:27.10KB
下载 相关 举报
计算机作业Word格式文档下载.docx_第1页
第1页 / 共30页
计算机作业Word格式文档下载.docx_第2页
第2页 / 共30页
计算机作业Word格式文档下载.docx_第3页
第3页 / 共30页
计算机作业Word格式文档下载.docx_第4页
第4页 / 共30页
计算机作业Word格式文档下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

计算机作业Word格式文档下载.docx

《计算机作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机作业Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。

计算机作业Word格式文档下载.docx

}

1请改错,并运行程序。

(i<

101改为i<

=101)

②分别用do……while语句和while语句改写以上程序。

{inti=1,t=1,s=0;

do/*error*/

i=i+2;

}while(i<

=101);

while(i<

=101)/*error*/

题目2:

分析程序,运行时输入:

24579<

CR>

(注:

<

表示回车换行)。

{intc;

while((c=getchar())!

='

\n'

{switch(c-'

2'

{case0:

case1:

putchar(c+4);

case2:

break;

case3:

putchar(c+3);

case4:

putchar(c+2);

default:

putchar(c);

}

\n"

);

题目3:

下面程序的功能是打印100以内个位数为3且能被3整除的所有数,选择合适的语句填入该空格中。

{

inti,j;

for(i=0;

10;

i++)

{j=i*10+3;

if(j%3!

=0)

continue;

printf("

%4d"

j);

题目4:

编程输出:

用0~4任意组成无重复数字的三位数?

都是多少?

每行输出10个数。

inti,j,k,count=0;

for(i=1;

5;

i++)/*以下为三重循环*/

for(j=0;

j<

j++)

for(k=0;

k<

k++)

{

if(i!

=j&

&

j!

=k&

i!

=k)/*确保i、j、k三位互不相同*/

printf("

%6d"

i*100+j*10+k);

count++;

if(count%10==0)

题目5:

根据公式

求e的近似值,精度要求为10-6。

题目6:

输入一行字符,将小写字母转换为大写字母显示,其它字符原样输出。

2.选择内容

题目7:

打印出如下图案

*

#include<

{inti,j;

=4;

i++)

{for(j=1;

=8-i;

j++)//理解数字8的作用

"

for(j=1;

=2*i-1;

*"

}/*上面的程序输出上三角形*/

/*下面的程序输出下三角形*/

for(i=3;

i>

=1;

i--)

{for(j=1;

①运行以上程序,验证实验结果。

②模仿上面程序,打印出如下图案

1

222

33333

三、实验结果(用截图说明)

四、调试心得(选作)

实验6数组实验

(1)理解数组的特点及其与普通变量的区别及特点;

(2)掌握一维数组的定义、赋值和输入输出的方法;

(3)掌握二维数组的定义、赋值和输入输出的方法;

(4)掌握字符数组和字符串函数的使用;

(5)掌握与一维数组和字符数组有关的程序与算法;

(6)理解与二维数组有关的程序与算法。

二、实验任务

【题目1】读程序,写结果。

(18)

inti,s=0,a[10]={1,2,3,4,5,6,7,8,9,10};

for(i=4;

7;

s=s+a[i];

【题目2】下面程序给数组a输入数据,以每行4个数据形式输出,请填空。

##include<

#defineN8

{

inti,a[N];

i<

N;

i++)

scanf("

%d"

&

a[i]);

{

if(i%4==0)

printf("

%11d"

a[i]);

【题目3】用简单选择法对10个整数排序,将程序补充完整。

#defineN10

inti,j,min,temp,a[N]={1,5,4,3,7,0,9,8,2,6};

for(i=0;

N-1;

min=i;

for(j=i+1;

10;

if(a[min]>

a[j])

min=j;

if(min!

=i)

{temp=a[i];

a[i]=a[min];

a[min]=temp;

\n排序结果为:

%5d"

【题目4】下面的程序用冒泡法对10个数排序(从小到大),将程序补充完整。

i++)/*i=0错了,改为i=1*/

N-i;

j++)

if(a[j]>

a[j+1])

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

【题目5】任意输入20个数到一维数组a中,求这20个数的平均值。

intmain()

inta[20],i,j=0;

20;

scanf("

j=j+a[i];

j=j/20;

%d\n"

【题目6】编程:

任意输入10个数,判断该哪些是素数,并输出这些素数。

【题目7】以下程序是求二维数组中的最小数及其下标(设最小数是唯一的),请填空完成程序,并上机验证。

inti,j,row,col,min;

inta[3][4]={{1,2,3,4},{9,8,7,6},{-1,-2,0,5}};

min=a[0][0];

3;

for(j=0;

4;

if(min>

a[i][j])

min=a[i][j];

row=i;

col=j;

min=%d,row=%d,col=%d\n"

min,row,col);

【题目8】以下程序是实现输出杨辉三角(最多十行),请将程序补充补充完整。

11

121

1331

14641

15101051

#defineN11

inti,j,a[N][N];

a[i][1]=1;

a[i][i]=1;

for(i=3;

for(j=2;

i;

a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=1;

for(j=1;

=i;

a[i][j]);

【题目9】从键盘上任意键入n阶方阵,求它的两条对角线元素之和。

【题目10】分析以下读程序,写的运行结果,并上机验证。

(?

#*&

#)

charc,s[]="

BABCDCBA"

;

intk;

for(k=1;

(c=s[k])!

\0'

switch(c)

{

case'

A'

:

putchar('

?

'

continue;

B'

++k;

*'

C'

putchar('

#'

putchar('

【题目11】输入一串字符,计算其中字母的个数。

string.h>

#defineN81

charch[N];

inti,count=0;

puts("

请输入一串字符:

"

gets(ch);

/*提示:

使用字符串输入函数*/

strlen(ch);

if(ch[i]>

a'

ch[i]<

z'

||ch[i]>

Z'

count++;

字母个数为:

%d\n"

count);

【题目12】编程:

输入一串字符,要求逆序输出。

#include"

stdio.h"

voidreverse()

charch;

ch=getchar();

if(ch=='

printf("

%c"

ch);

else

reverse();

printf("

voidmain()

reverse();

【题目13】将两个字符串连接起来,不使用strcat字符函数

#defineN80

chars1[2*N],s2[N];

inti=0,j=0;

\n请输入两个字符串,以空格或回车键作字符串结束标志:

%s"

s1);

s2);

while(s1[i]!

i++;

while(s2[j]!

s1[i++]=s2[j++];

s1[i]='

\n连接后的两个字符串为:

\n%s\n"

s1);

【题目14】在字符串str中查找字符ch首次出现的位置,若str字符串中不包含字符ch,则输出0。

【题目15】有4位学生,考4门功课。

求出每位学生的总分和平均分,及所有学生每门功课平均分和所有功课的平均分。

inta[4][4];

ints[4]={0,0,0,0};

intb[4]={0,0,0,0};

intc[4];

intd=0,i,j;

请分别输入四个学生的四科成绩:

for(i=0;

for(j=0;

a[i][j]);

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

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

c[i]=b[i]/4;

d=d+s[i];

d=d/4;

每位学生的总分和平均分,所有学生每门功课平均分分别为:

{printf("

%d"

s[i]);

{printf("

s[i]/4);

c[i]);

所有功课的平均分:

d);

【题目16】找出一个二维数组的”鞍点”,即该位置上的元素在该行上最大,在该列上最小,如无”鞍点”,则给出提示。

15题图:

实验7函数实验

(1)理解函数定义的方法。

(2)掌握函数实参与形参的对应关系,以及函数”参数传递”的方式。

(3)掌握函数的嵌套调用和递归调用的方法;

(4)掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。

【题目1】以下程序是求3个数中的最大值,请完善程序并上机验证。

inta,b,c,m;

intmax(intx,inty);

/*函数声明*/

inputa,b,c="

%d,%d,%d"

a,&

b,&

c);

m=max(a,b);

m=max(m,c);

最大值是:

m);

intmax(intx,inty)/*函数定义*/

intz;

z=(x>

y)?

x:

y;

/*如果x>

y为真,那么把x的值赋给Z,否则把Y的值赋给Z。

*/

returnz;

【题目2】程序填空:

子函数中判断一个大于1的整数是否是素数,数据由主函数中输入,并在主函数中显示结果。

intnumber;

请输入一个正整数:

number);

if(prime(number)==0)

\n%d是素数:

number);

\n%d不是素数:

intprime(intnumber)/*请注意区别main函数和prime函数中的number变量*/

intflag=1,n;

for(n=2;

flag==1&

n<

=number/2;

n++)

if(number%n!

=0)

flag=0;

return(flag);

【题目3】读程序,验证结果。

inti=2,p;

p=f(i,i+=1);

p);

intf(inta,intb)

intc;

if(a>

b)

c=1;

elseif(a==b)

c=0;

c=-1;

return(c);

}(0)

①将程序中第4行语句:

p=f(i,i+=1);

改为以下语句,比较程序结果:

(1)

p=f(i+=1,i);

②实践说明,函数的参数求值顺序是:

____(i+=1)先调用i的值,再执行i=i+1____________________

【题目4】编程在主函数中输入和输出字符串,在子函数中实现一个字符串按反序存放。

【题目5】用子函数计算4名学生的平均分。

标注“error”处有错误,请改正。

#defineN4

floataverage(floatarray[])/*注意数据类型的一致*/

inti;

floataver,sum=0;

sum+=array[i];

aver=sum/N;

return(aver);

floatscore[N],aver;

\ninput%dscores:

N);

%f"

score[i]);

aver=average(score[N]);

/*error*/(改为aver=average(score))

\naveragescoreis%5.2f\n"

aver);

【题目6】改正标注“error”语句行的错误,理解本程序的功能。

inta[][3]={0,2,4,6,8,10,12,14,16},sum;

intfunc();

/*函数声明*/

sum=func(a[][3]);

/*error*/(改为sum=func(a[0]))数组名作为实参传递,传递的是数组起始地址)

\nsum=%d\n"

sum);

intfunc(inta[][])/*error*/(intfunc(inta[][3]))

inti,j,sum=0;

if(i==j)

sum+=a[i][j];

returnsum;

【题目7】在主函数中定义数组A[3][4]、B[4],用子函数对数组A每一行求和,其值放在数组B中,在主函数中输出数组B的值。

【题目8】输入两个正整数,求其中最大公约数和最小公倍数。

将程序补充完整。

intfun1(x,y)

inttemp;

if(x<

y)

temp=x;

x=y;

y=temp;

while(y!

temp=x%y;

returnx;

intfun2(x,y)

returnx*y/fun1(x,y);

}/*函数的嵌套调用*/

inta,b;

请输入两个正整数:

%d,%d"

b);

它们的最大公约数为:

________________);

它们的最小公倍数为:

【题目9】阅读以下程序,若输入为ABCDE#时,写出程序的执行结果。

(#EDCBA)

【题目10】编程计算猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,只剩下一个桃子了,求第一天共摘了多少桃子?

【题目11】

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

当前位置:首页 > 外语学习 > 其它语言学习

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

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