程序设计基础C离线作业答案浙江大学远程教育学院Word下载.docx
《程序设计基础C离线作业答案浙江大学远程教育学院Word下载.docx》由会员分享,可在线阅读,更多相关《程序设计基础C离线作业答案浙江大学远程教育学院Word下载.docx(43页珍藏版)》请在冰豆网上搜索。
**\n"
********\n"
printf("
**\n"
***\n"
****\n"
}
2.仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。
charcharshuz[20];
puts(gets(charshuz));
}
3.从键盘输入十六进制整数,转化为八进制数输出。
voidmain(){
intshiliu;
scanf("
%x"
&
shiliu);
%o\n"
shiliu);
4.只定义两个整型数据并赋值,实现两个整型数的互换。
inta,b,swap;
%d,%d"
a,&
b);
a=%d,b=%d\n"
a,b);
swap=a;
a=b;
b=swap;
5.从键盘上输入一个整数,分别输出8、16进制数的程序。
inta;
%d"
a);
%o%x\n"
a,a);
6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。
intinteger;
do
请输入一个三个数:
"
scanf("
integer);
if(integer<
100||integer>
=1000)
请重新输入,\n"
}while(integer<
=1000);
输入的整数为:
%d,百位为:
%d,十位为:
%d,个位为:
%d。
\n"
integer,integer/100,integer%100/10,integer%100%10);
7.以下程序输出结果是()。
inti=010,j=10;
%d,%d\n"
++i,j--);
}
程序输出结果为9,10
8.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。
charq;
Areyouastudent?
y/n\n"
%c"
q);
if(q=='
y'
||q=='
Y'
)
Goodgoodstudy!
elseif(q=='
n'
N'
)
Workhard!
9.从键盘输入一个角度x,求10*sin(x)的值。
math.h>
intmain()
floatx;
%f"
x);
sumis%f\n"
10*sin(x));
第3章 循环程序设计
1.以下for语句的循环次数是多少?
inti,j=3;
for(;
i=j;
i--,j--)printf("
i);
for语句的循环次数为3次
2.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:
for(inti=0;
i<
6;
i++)
h[i][j])
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);
统计数组a中元素为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;
把数组a里的元素位置倒置,第一个放在最后一个,第二个放在倒数第二个位置。
5.写出以下程序运行后的输出结果。
inti,j;
{
for(j=0;
j<
i;
j++)
printf("
"
for(j=0;
2*(5-i)-1;
*"
*********
*******
*****
***
*
6.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。
(1)
voidmain()
inti,s;
i=1;
s=0;
while(i<
=100);
s=s+i;
i++;
printf(“1+2+3+….+99+100=%d\n”,s);
改正后:
inti,s;
=100)
s=s+i;
i++;
1+2+3+…-.+99+100=%d\n"
s);
(2)
s=0;
(3)
inti=1,s;
=100);
inti=1,s=0;
7.输入一个基数,例如输入9,输出为:
求1*3*……*9的值。
输出为:
1*3*5*7*9=945
intjishu,sum=1,i;
do{
请输入一个奇数:
scanf("
jishu);
}while(jishu%2==0);
for(i=1;
=jishu;
i=i+2){
sum=sum*i;
}
\n1*3*5*...*%d=%d\n"
jishu,sum);
8.输入一个5~10之间的整数n,求1!
+2!
+3!
+…+n!
。
例如输入5,输出为:
1!
+…+5!
=153
inti,j,num,sum=0,jiec=1;
//jiec存放单个阶乘的值,sum存放所以的阶乘和do
do{
请输入一个5到10之间的整数:
num);
}while(num<
5||num>
10);
=num;
i++){
for(j=1;
=i;
j++){
jiec=jiec*j;
}
sum=sum+jiec;
jiec=1;
\n1!
+...+%d!
=%d"
num,sum);
9.在屏幕上输出以下内容
1
12
123
1234
12345
123456
1234567
9
intmain(){
chari,j;
9;
=i+1;
printf("
j);
}
putchar('
\n'
return0;
10.求2+4+6+……+98+100的和,用多种for表达式来完成。
void
main
()
{
int
i,sum=0;
for(i=2;
101;
i=i+2)
sum=sum+i;
sum
is
%d\n"
sum);
或者
(){
i++){
if(i%2==0)
sum=sum+i;
11.输入一行字符,统计它有多少个字母?
main()
char
ccc;
int
num=0;
while((ccc