程序设计基础C实验报告031Word下载.docx
- 文档编号:3174929
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:43
- 大小:200.16KB
程序设计基础C实验报告031Word下载.docx
《程序设计基础C实验报告031Word下载.docx》由会员分享,可在线阅读,更多相关《程序设计基础C实验报告031Word下载.docx(43页珍藏版)》请在冰点文库上搜索。
s=%d\n"
s);
}
①请改错,并运行程序。
②分别用do……while语句和while语句改写以上程序。
题目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;
_i<
=10__;
i++)
{j=i*10+3;
if(________i%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、k三位互不相同*/
printf("
%6d"
i*100+j*10+k);
count++;
if(________________)
题目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
三、实验结果(用截图说明)
题目1
题目2
题目3
题目4
题目7
四、调试心得(选作)
实验6数组实验
__________姓名:
实验地点:
(1)理解数组的特点及其与普通变量的区别及特点;
(2)掌握一维数组的定义、赋值和输入输出的方法;
(3)掌握二维数组的定义、赋值和输入输出的方法;
(4)掌握字符数组和字符串函数的使用;
(5)掌握与一维数组和字符数组有关的程序与算法;
(6)理解与二维数组有关的程序与算法。
二、实验任务
【题目1】读程序,写结果。
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个数据形式输出,请填空。
#defineN8
{
inti,a[N];
i<
N;
i++)
scanf("
%d"
_____________);
{
if(_____________)
printf("
%11d"
_________);
【题目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;
______________;
if(a[min]>
a[j])
min=j;
if(min!
=i)
{_______________________________________}
\n排序结果为:
%5d"
a[i]);
【题目4】下面的程序用冒泡法对10个数排序(从小到大),将程序补充完整。
____________;
j++)
if(__________________)
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
10;
【题目5】任意输入20个数到一维数组a中,求这20个数的平均值。
【题目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];
_______________________
for(j=0;
4;
if(___________________)
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;
_______________________;
for(i=3;
for(j=2;
__________________;
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("
请输入一串字符:
"
_____________________/*提示:
使用字符串输入函数*/
strlen(ch);
if(_____________________________________)
count++;
字母个数为:
%d\n"
count);
【题目12】编程:
输入一串字符,要求逆序输出。
【题目13】将两个字符串连接起来,不使用strcat字符函数
#defineN80
chars1[2*N],s2[N];
inti=0,j=0;
\n请输入两个字符串,以空格或回车键作字符串结束标志:
scanf("
%s"
________);
while(s1[i]!
i++;
while(_______________)
s1[i++]=s2[j++];
s1[i]='
\n连接后的两个字符串为:
\n%s\n"
s1);
【题目14】在字符串str中查找字符ch首次出现的位置,若str字符串中不包含字符ch,则输出0。
【题目15】有4位学生,考4门功课。
求出每位学生的总分和平均分,及所有学生每门功课平均分和所有功课的平均分。
【题目16】找出一个二维数组的”鞍点”,即该位置上的元素在该行上最大,在该列上最小,如无”鞍点”,则给出提示。
题目5
题目8
题目10
题目11
实验7函数实验
姓名:
实验地点:
(机房)
(1)理解函数定义的方法。
(2)掌握函数实参与形参的对应关系,以及函数”参数传递”的方式。
(3)掌握函数的嵌套调用和递归调用的方法;
(4)掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。
【题目1】以下程序是求3个数中的最大值,请完善程序并上机验证。
inta,b,c,m;
intmax(intx,inty);
/*函数声明*/
inputa,b,c="
%d,%d,%d"
&
a,&
b,&
c);
__________________________
最大值是:
%d\n"
m);
intmax(intx,inty)/*函数定义*/
intz;
z=(x>
y)?
x:
y;
returnz;
【题目2】程序填空:
子函数中判断一个大于1的整数是否是素数,数据由主函数中输入,并在主函数中显示结果。
intnumber;
请输入一个正整数:
number);
if(__________________________)
\n%d是素数:
number);
else
\n%d不是素数:
intprime(intnumber)/*请注意区别main函数和prime函数中的number变量*/
intflag=1,n;
for(n=2;
flag==1&
n<
=number/2;
n++)
if(___________________________)
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);
①将程序中第4行语句:
p=f(i,i+=1);
改为以下语句,比较程序结果:
p=f(i+=1,i);
②实践说明,函数的参数求值顺序是:
________________________
【题目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*/
\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*/
\nsum=%d\n"
sum);
intfunc(inta[][])/*error*/
inti,j,sum=0;
3;
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!
=0)
temp=x%y;
returnx;
intfun2(x,y)
returnx*y/fun1(x,y);
}/*函数的嵌套调用*/
inta,b;
请输入两个正整数:
%d,%d"
b);
它们的最大公约数为:
________________);
它们的最小公倍数为:
【题目9】阅读以下程序,若输入为ABCDE#时,写出程序的执行结果。
#include"
stdio.h"
voidreverse()
charch;
ch=getchar();
if(ch=='
printf("
%c"
ch);
reverse();
printf("
voidmain()
reverse();
【题目10】编程计算猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,只剩下一个桃子了,求第一天共摘了多少桃子?
【题目11】阅读以下程序,该程序中,main函数的局部变量是:
_______________,max函数的局部变量是:
_______________,全局变量是:
_____________,理解它们的使用方式。
inta=4,b=6;
intmax(inta,intb)
c=a>
b?
a:
b;
returnc;
inta=9;
max(a,b));
【题目12】以下是一个求1-10累加和的错误程序,请改正。
inti,s;
=10;
s=sum(i);
s=%d\t"
sum(intj)
intx=0;
x+=j;
return(x);
【题目13】编写一个函数,判断一个整数是不是回文数。
如:
34543是回文数,个位与万位相同,十位与千位相同。
【题目14】在一个数组A中存放100个数据,用子函数判断该数组中那些是素数,并统计该素数的个数,在主函数中输出该素数的个数。
【题目15】用递归法将一个整数转换成字符串。
例如,输入1234,应输出字符串”1234”。
n的位数不确定,可以是任意的整数。
请在注释行中添加注释,使程序易于理解。
voidconvert(intn)
if((i=n/10)!
=0)/*__________________________________*/
convert(i);
putchar(n%10+'
0'
/*___________________________________*/
\n输入整数:
\n输出字符是:
if(number<
0)/*______________________________________*/
-'
number=-number;
convert(number);
题目6
题目9
题目12
实验8常用指针实验
__________
__________实验地点:
_________(机房)
(1)掌握指针的概念,指针变量的定义和使用。
(2)熟练使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 实验 报告 031