浙江大学远程教育夏程序设计基础C离线作业答案全Word文件下载.docx
《浙江大学远程教育夏程序设计基础C离线作业答案全Word文件下载.docx》由会员分享,可在线阅读,更多相关《浙江大学远程教育夏程序设计基础C离线作业答案全Word文件下载.docx(58页珍藏版)》请在冰豆网上搜索。
![浙江大学远程教育夏程序设计基础C离线作业答案全Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/29/80e46808-5096-4183-b97c-04a689a99fce/80e46808-5096-4183-b97c-04a689a99fce1.gif)
3.保留字有:
int,return
4.自定义标识符有:
a,b,c,z,x,y
步骤3:
编译并运行程序,程序运行时输入两个整数,2040,观察程序运行的结果。
答:
结果是20+40=60
截图如下:
2.编辑、调试以下程序
在VisualC++环境下新建文件可用[开始]→[程序]→[MicrosoftVisualC++6.0]→[MicrosoftVisualC++6.0]→[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2.c
步骤2:
在文本编辑器中输入以下C程序
#include<
ex1-2-2.c>
intand(int,int);
/*函数的说明,告诉系统在主函数中要调用and函数*/
intor(int,int);
%d%d"
c=and(a,b);
%d&
&
%d=%d\n"
/*调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出*/
c=or(a,b);
%d||%d=%d\n"
[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2-2.c,源程序代码为:
intand(inta,intb)
{
intc;
c=a&
b;
returnc;
步骤4:
[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2-3.c,源程序代码为:
intor(inta,intb)
c=a||b;
步骤5:
点击编译图标
,编译程序1-2.c
点击执行图标
,执行程序1-2.c,当程序运行时,键盘输入2040,按回车。
2040
20&
40=1
20||40=1
您可以输入其它的整数,观察程序的执行结果。
(增加语句:
ex1-2-3.c>
)
输入2040;
2020;
3060如下:
第2章 输入输出程序设计
1.用printf输出一个中空的五角星。
voidmain()
printf("
☆\n"
);
2.仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。
charstr[80];
请输入您的名字\n"
scanf("
%s"
str);
学生:
%s,正在就读计算机专业\n"
截图:
3.从键盘输入十六进制整数,转化为八进制数输出。
inta;
请输入十六进制整数\n"
%x"
a);
转换成的八进制数为:
%o\n"
a);
4.只定义两个整型数据并赋值,实现两个整型数的互换。
voidmain()
inta=13,b=25;
原定义的数是:
a=%d,b=%d\n"
a,b);
a=a^b;
b=b^a;
互换后的数是:
5.从键盘上输入一个整数,分别输出8、16进制数的程序。
请输入一个整数\n"
%d"
转换成的十六进制数是%x,转换成的八进制数是%o\n"
a,a);
6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。
inta,b,c,d;
b=a%10;
c=(a/10)%10;
d=((a/100)%10);
个位数是:
%d,十位数是:
%d,百位数是:
%d\n"
b,c,d);
7.以下程序输出结果是(9,10)。
inti=010,j=10;
%d,%d\n"
++i,j--);
}
8.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。
chara;
您是一个学生吗?
请输入'
y'
或'
n'
进行回答\n"
%c"
if(a=='
您是学生\n"
elseif(a=='
您不是学生\n"
else
请重新输入\n"
9.从键盘输入一个角度x,求10*sin(x)的值。
math.h>
doublex;
%lf"
x);
10*sin(x)的值为:
%lf\n"
10*sin(x));
第3章 循环程序设计
1.以下for语句的循环次数是多少?
inti,j=3;
for(;
i=j;
i--,j--)printf("
i);
循环次数3次
2.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:
for(inti=0;
i<
6;
i++)
h[i][i])
3.写出以下程序运行的结果,此程序实现了什么功能?
{inta[10]={2,4,0,-5,10,6,-8,9,6,7};
inti,count=0;
for(i=0;
10;
i++)
if(a[i]==0)count++;
elsecontinue;
%d\n"
count);
结果是1,功能是输出数字“0”的数量
4.写出以下程序的功能。
inta[10]={2,4,0,-5,10,6,-8,9,6,7},tmp,k;
for(k=0;
k<
10/2;
k++)
tmp=a[k];
a[k]=a[10-k-1];
a[10-k-1]=tmp;
功能是倒置数组
5.写出以下程序运行后的输出结果。
inti,j;
6;
{
for(j=0;
j<
i;
j++)
printf("
"
for(j=0;
2*(5-i)-1;
*"
\n"
输出倒三角形五星阵
*********
*******
*****
***
*
6.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。
(1)
inti,s;
i=1;
s=0;
while(i<
=100);
s=s+i;
i++;
printf(“1+2+3+….+99+100=%d\n”,s);
改正后为:
=100)
1+2+3+….+99+100=%d\n"
s);
(2)
s=0;
改正如下:
(3)
inti=1,s;
=100);
inti=1,s=0;
=100)
7.输入一个基数,例如输入9,输出为:
求1*3*……*9的值。
输出为:
1*3*5*7*9=945
longints=1,i=1,a;
请输入一个整数:
while(i<
=a)
s=s*i;
i=i+2;
1*3*...*%d=%d\n"
a,s);
8.输入一个5~10之间的整数n,求1!
+2!
+3!
+…+n!
。
例如输入5,输出为:
1!
+…+5!
=153
longints=0,i=1,t=1,a;
请输入一个5-10的整数:
t=t*i;
s=s+t;
+…+%d=%d\n"
9.在屏幕上输出以下内容
1
12
123
1234
12345
123456
1234567
12345678
123456789
=9)
for(s=1;
s<
=i;
s++)
10.求2+4+6+……+98+100的和,用多种for表达式来完成。
方法1
inti,s=0;
for(i=2;
=100;
i+=2)
2+4+...+100=%d\n"
方法2
inti=0,s=0;
for(;
s+=i;
i+=2;
方法3
for(i=2,s=0;
s+=i,i+=2);
截图
10.输入一行字符,统计它有多少个字母?
charstring[100],c;
inttotal=99,count=0,scount=0;
while(count<
total){
c=getchar();
if(c=='
\n'
break;
string[count]=c;
if((c>
='
a'
&
c<
z'
)||(c>
A'
Z'
)){
scount++;
count++;
}
%s,count=%d\n"
string,scount);
第4章 分支程序设计
1.输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束。
输入若干整数(0表示结束):
while
(1){
if(x!
=0){
%lf的绝对值为%lf\n"
x,fabs(x));
}else{
2.输入一批数,输出比相邻数大的数,当输入0时结束。
inta,b,c;
请输入整数:
while(a)
scanf("
if(b==0)
break;
if(a<
b)
a=b;
最大整数为:
3.将输入字符的大写字符转换成小写字符输出,小写字符原样输出。
if(a>
a<
转换后的字母为:
%c\n"
a+32);
4.输入一批字符,按回车时结束,统计小写字符、大写字符、数字字符、或其它字符的个数。
charc;
inta=0,b=0,m=0,n=0;
while
(1)
c);
if(c>
b++;
elseif(c>
a++;
0'
9'
m++;
else
n++;
小写字符有%d个,大写字符有%d个,数字字符有%d个,其它字符有%d个\n"
a,b,m,n);
5.编写程序,计算分段函数:
doublex,y;
if(x<
=1)
y=x+5;
elseif(x>
10)
y=3/(x-10);
y=2*x;
y=%lf\n"
y);
6.根据输入的百分制按五分制的成绩输出。
百分制与五分制之间的关系见下表。
百分制
五分制
90~100
5
80~89
4
70~79
3
60~69
2
<
60
1
intx,y;
请输入分数:
"
if(x>
100&
x<
0)
成绩输入错误=%d"
=100&
x>
=90)
y=5;
elseif(x<
=89&
=80)
y=4;
=79&
=70)
y=3;
=69&
=60)
y=2;
=59&
=0)
y=1;
五分制成绩=%d\n"
7、用switch完成:
读入一个实数x,再输入一整数,若输入是1,则计算sin(x),若输入2,则计算cos(x),若输入3,则计算tan(x),若输入其他值,则显示错误信息。
ints;
请输入一个实数,一个整数\n"
s);
switch(s){
case1:
sin(x)=%lf\n"
sin(x));
case2:
cos(x)=%lf\n"
cos(x));
case3:
tan(x)=%lf\n"
tan(x));
default:
输入错误"
8、用switch完成:
输入星期1到星期5,输出它们对应的颜色
星期1:
blue
星期2:
red
星期3:
white
星期4:
yellow
星期5:
green
输入星期1到星期5\n"
今天的颜色是:
blue\n"
red\n"
white\n"
case4:
yellow\n"
case5:
greenn"
9、用switch完成:
从键盘输入A、B、C、D四个等级中的一个,转化输出
等级
输出
A
优秀
B
良好
C
中等
D
及格
E
不及格
从键盘输入A、B、C、D四个等级中的一个!
switch(getchar()){
case'
:
优秀\n"
B'
良好\n"
C'
中等\n"
D'
及格\n"
E'
不及格\n"
第5章 数组及其应用
1.从键盘输入12个数,分别为:
900,2,3,58,34,76,87,72,90,20,78,30,找出最大和最小数。
inta[12];
intmax,min;