计算机软件基础那些题那些答案.docx

上传人:b****5 文档编号:7703999 上传时间:2023-01-25 格式:DOCX 页数:101 大小:83.19KB
下载 相关 举报
计算机软件基础那些题那些答案.docx_第1页
第1页 / 共101页
计算机软件基础那些题那些答案.docx_第2页
第2页 / 共101页
计算机软件基础那些题那些答案.docx_第3页
第3页 / 共101页
计算机软件基础那些题那些答案.docx_第4页
第4页 / 共101页
计算机软件基础那些题那些答案.docx_第5页
第5页 / 共101页
点击查看更多>>
下载资源
资源描述

计算机软件基础那些题那些答案.docx

《计算机软件基础那些题那些答案.docx》由会员分享,可在线阅读,更多相关《计算机软件基础那些题那些答案.docx(101页珍藏版)》请在冰豆网上搜索。

计算机软件基础那些题那些答案.docx

计算机软件基础那些题那些答案

计算机软件基础实验指导书参考程序

【1-1】在屏幕上显示你的学号、姓名和专业,分别各占一行显示。

#include

main()

{printf("081\n王力\n计算机应用\n");}

【1-2】如何在屏幕上显示下列图形?

#include

main()

{printf("*****\n");

printf("***\n");

printf("*\n");

}

【例2-1】求正方形的面积和周长

源程序:

#include

main()

{

inta=6,zhou,mian;/*用类型名int定义三个基本型整型变量*/

zhou=4*a;/*计算周长*/

mian=a*a;/*计算面积*/

printf("周长=%d,面积=%d\n",zhou,mian);/*用printf函数输出整型数格式控制为:

%d*/}

运行结果:

周长=24,面积=36

【2-1】求半径为2.3的圆的周长和面积。

#include

main()

{doubler=2.3,l,s,pi=3.142;

l=pi*2*r;

s=pi*r*r;

printf("圆半径=%lf,周长=%lf,面积=%lf\n",r,l,s);

}

【2-2】任意输入两个基本整型数,其中一个为正,另一个为负,分别做被除数和除数时,输出它们的余数。

#include

main()

{inta,b;

printf("请输入一个正整数和一个负整数:

");

scanf("%d%d",&a,&b);

printf("a=%d,b=%d,a%b=%d\n",a,b,a%b);

printf("b=%d,a=%d,b%a=%d\n",b,a,b%a);}

【例2-2】任意输入一个华氏温度求对应的摄氏温度。

计算公式如下:

,式中:

C表示摄氏温度,f表示华氏温度。

源程序:

#include

main()

{

doublef,c;/*定义两个双精度的实型数*/

printf(“Enterf:

”);/*输入提示*/

/*调用scanf函数给双精度的实型变量赋值,格式控制为%lf,变量名前要加地址操作符&*/

scanf("%lf",&f);

c=5*(f-32)/9;/*根据公式求摄氏度*/

printf("\nf=%f,c=%f\n",f,c);

}

运行结果:

Enterf:

80

f=80.000000,c=26.666667

Enterf:

100

f=100.000000,c=37.777778

二、程序改错

不允许增加行也不允许删除行,也不得更改程序的结构。

1、已知a=3,b=5,输出a+b的和值

源程序:

#include“stdio.h”

main()

{/********found********/

inta=3;b=5;sum;

sum=a+b;

printf(“sum=%d\n”,sum);}

2、任意输入两个实型数,输出它们的积。

源程序:

#include“stdio.h”

main()

{

doublex,y;

printf(“在键盘上给x,y赋值:

”);

/********found********/

scanf(“%lf%lf”,x,y);

printf(“%f,%lf\n”,x*y,x*y);

}

3、分别输出234的每一位数字。

源程序:

#include“stdio.h”

main()

{

intx=234,a,b,c;

a=x/100;

/********found********/

b=x%100;

/********found********/

c=x/10;

printf(“a=%d,b=%d,c=%d\n”,a,b,c);

}

改错1题:

inta=3;b=5;sum;改为inta=3,b=5,sum;

改错2题:

scanf(“%lf%lf”,x,y);改为:

scanf(“%lf%lf”,&x,&y);

改错3题:

b=x%100;改为:

b=x/10%10;c=x/10;改为:

c=x%10;

【例3-1】输出a=3,b=9中大的数。

源程序:

#include"stdio.h"

main()

{

inta=3,b=9,max;

/*使用if-else分支结构*/

if(a>b)

max=a;

else

max=b;

printf("max=%d\n",max);

}

【3-1】任意输入一个整数,如果能被3整除,输出此数;否则,输出"不是3的倍数"。

#include

main()

{intn;

printf("请输入整数:

");

scanf("%d",&n);

if(n%3==0)

printf("%d\n",n);

else

printf("不是3的倍数\n");

}

【例3-2】计算分段函数,

y=

(x≥0)

3x3+1(x<0)

源程序:

#include"stdio.h"

#include"math.h"/*程序中调用了数学库函数,需包含头文件math.h*/

main()

{

doublex,y;

printf(“Enterx:

”);

scanf("%lf",&x);

if(x>=0)

y=sqrt(x);/*调用开方函数sqrt()计算*/

else

y=3*pow(x,3)+1;/*调用幂函数pow()计算*/

printf("\nx=%.2lf,y=%f\n",x,y);/*%.2lf保留两位小数输出*/

}

运行结果:

Enterx:

3

x=3.00,y=1.732051

Enterx:

-4

x=-4.00,y=-191.000000

【3-2】编写程序,输入x,利用分段函数,计算并输出y值。

y=|x|(x≤0)

y=ex(x>0)

#include

#include

main()

{doublex,y;

printf("请输入实数x:

");

scanf("%lf",&x);

if(x<=0)

y=fabs(x);

else

y=exp(x);

printf("y=%f\n",y);/*或printf("y=%lf\n",y);*/

}

二、程序改错

不允许增加行也不允许删除行,也不得更改程序的结构。

1、任意输入一个数,如果是奇数输出“奇数”,否则,输出“偶数”。

源程序:

#include“stdio.h”

main()

{

intx;

printf(“Enterx:

”);

scanf(“%d”,&x);

/********found********/

ifx%2!

=0

printf(“奇数”);

else

printf(“偶数”);

}

输入输出示例(共运行2次)

第一次运行:

Enterx:

10

偶数

第一次运行:

Enterx:

11

奇数

2、输入x,计算并输出下列分段函数y的值(保留一位小数)。

y=

(x≠0)

0(x=0)

源程序:

#include“stdio.h”

main()

{

intx;

doubley;

printf(“Enterx:

”);

scanf(“%d”,&x);

/********found********/

if(x!

=0);

/********found********/

y=1/x;

else

y=0;

printf(“y=%.1f\n”,y);

}

输入输出示例(共运行2次)

第一次运行:

Enterx:

10

y=0.1

第二次运行:

Enterx:

0

y=0.0

改错1题:

ifx%2!

=0改为if(x%2!

=0)

改错2题:

if(x!

=0);改为if(x!

=0)

y=1/x;改为:

y=1.0/x;

【例4-1】求

源程序:

#include"stdio.h"

main()

{

/*变量sum用来放累加和,和值从0开始;i用来取1~5中的数,同时也控制循环次数*/

inti,sum=0;

for(i=1;i<=5;i++)/*循环体执行5次*/

sum=sum+i;/*反复累加5次i的值*/

printf("sum=%d\n",sum);

}

运行结果:

sum=15

【4-1】求1+2+3+...+n的和。

#include

main()

{inti,n,sum=0;

printf("请输入n值:

");

scanf("%d",&n);

for(i=1;i<=n;i++)

sum=sum+i;

printf("1+2+3+...+%d=%d\n",n,sum);

}

【例4-2】求1-2+3-4+。

n的值

源程序:

#include

main()

{

inti,f=1,n,sum=0;/*变量f用来存放正负号*/

printf("Entern:

");

scanf("%d",&n);

for(i=1;i<=n;i++)

{sum=sum+i*f;

f=-f;/*改变正负号*/

}

printf("\nsum=%d\n",sum);

}

运行结果:

Entern:

5

sum=3

【4-2】求1-1/3+1/5-1/7+...+1/n的和。

#include

main()

{inti,n,f=-1;

doublesum=0;

printf("请输入n值:

");

scanf("%d",&n);

for(i=1;i<=n;i=i+2)

{sum=sum+f*1.0/i;/*加数为f*1.0/i*/

f=-f;/*求下一个加数的符号值*/

}

printf("结果为%f\n",sum);

}

【例4-3】求1×2×3×4×5的积。

(即求5!

源程序:

#include

main()

{

inti,t=1;/*t用来放阶乘值*/

for(i=1;i<=5;i++)

t=t*i;

printf("%d!

=%d\n",5,t);

}

运行结果:

5!

=120

【4-3】任意输入两个正整数m和n,求m!

+n!

的值。

#include

main()

{inti,m,n,t1=1,t2=1,sum;

printf("请输入m和n的值:

");

scanf("%d,%d",&m,&n);

for(i=1;i<=m;i++)

t1=t1*i;

for(i=1;i<=n;i++)

t2=t2*i;

sum=t1+t2;

printf("%d!

+%d!

=%d\n",m,n,sum);

二、程序改错

不允许增加行也不允许删除行,也不得更改程序的结构。

1、改正下列程序中的错误,计算表达式1+2+3+。

+100的值。

源程序:

#include“stdio.h”

main()

{/********found********/

inti,sum;

for(i=1,i<=100,i++)

sum=sum+i;

printf(“sum=%d\n”,sum);

}

运行结果(改正后程序的运行结果)

sum=5050

2、输出三位数中能够被300整除的数。

源程序:

#include

main()

{

inti;

/********found********/

for(i=100;i<=999;i++);

if(i%300==0)

printf("%5d",i);

}

运行结果:

300600900

}

改错1题:

(1)inti,sum;改为:

inti,sum=0;

(2)for(i=1,i<=100,i++)改为for(i=1;i<=100;i++)

改错2题:

for(i=100;i<=999;i++);改为:

for(i=100;i<=999;i++)

【例5-1】任意输入一个字符,如果是小写字母字母以大写字母输出,是大写字母以小写字母输出;否则,按原样输出。

源程序:

#include

main()

{charch;

printf("Enterch:

");

ch=getchar();/*调用字符输入函数getchar()从键盘输入一个字符*/

if(ch>='a'&&ch<='z')/*判断ch变量内容是否是小写字母*/

putchar(ch-32);/*输出存放在变量ch中的字符*/

elseif(ch>='A'&&ch<='Z')/*判断ch变量内容是否是大写字母*/

putchar(ch+32);

else

putchar(ch);}

【5-1】任意输入一个字符,如果是数字字符,则输出相应的数字,是空格输出它的ASCII码值;否则,原样输出。

提示:

例:

'5'-'0'=5

#include

main()

{charch;

ch=getchar();

if(ch>='0'&&ch<='9')printf("%d\n",ch-'0');

elseif(ch=='')printf("%d\n",ch);

elseprintf("%c\n",ch);/*putchar(ch);*/

}

【例5-2】输入十个字符,统计其中的空格、回车和其它字符个数。

源程序:

#include

main()

{

charch;

inti,num1=0,num2=0,num3=0;

for(i=1;i<=10;i++)

{ch=getchar();/*循环一次给变量ch赋值一次*/

if(ch=='')

num1=num1+1;/*统计空格个数*/

elseif(ch=='\n')

num2=num2+1;/*统计回车个数*/

else

num3=num3+1;/*统计其它字符个数*/

}

printf("空格=%d,回车=%d,其它=%d\n",num1,num2,num3);

}

【5-2】输入n个字符统计其中数字字符、*号和字母的个数。

#include

main()

{charch;/*定义字符型变量*/

inti,n,num1=0,num2=0,num3=0;/*i计数变量,其它变量计各类字符的个数*/

printf("请输入要统计的字符的个数n的值:

");

scanf("%d",&n);/*给n赋值*/

for(i=1;i<=10;i++)/*for循环控制函数体执行n次*/

{ch=getchar();/*循环一次给变量ch赋值一次*/

if(ch>='0'&&ch<='9')

num1=num1+1;/*统计数字个数*/

elseif(ch=='*')

num2=num2+1;/*统计*号个数*/

elseif((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))

num3=num3+1;/*统计字母个数*/

}

printf("共输入%d个字符\n",n);

printf("数字%d个,*号%d个,字母%d\n",num1,num2,num3);/*输出统计结果*/

}

【例5-3】输入x,计算并输出下列分段函数y的值。

x3(0

y=lnx(5≤x<10)

|x|(x<0)

源程序:

#include

#include

main()

{

floatx,y;/*定义两个单精度的实型变量*/

printf("Enterx:

");

scanf("%f",&x);/*给单精度变量赋值,格式控制为:

%f*/

if(x>0&&x<5)/*不能表示为:

0

y=pow(x,3);

elseif(x>=5&&x<10)

y=log(x);

elseif(x<0)

y=fabs(x);

printf("\nx=%f,y=%f\n",x,y);

}

【5-3】输入x,计算并输出分段函数y的值。

当x<0时y=0

当0≤x<10时y=9x/2

当x≥10时y=4.5x-8.5x

#include

#include

main()

{floatx,y;/*定义两个单精度的实型变量*/

printf("Enterx:

");

scanf("%f",&x);/*给单精度变量赋值,格式控制为:

%f*/

if(x<0)y=0;

elseif(x<10)y=9*x/2;

elsey=4.5*x-8.5*x;

printf("\nx=%f,y=%f\n",x,y);

}

【例5-4】任意输入year,判断是否是闰年,判断闰年的条件:

能被4整除但不能被100整除,或者能被400整除。

源程序:

#include

main()

{

intyear;

printf("Enteryear:

");

scanf("%d",&year);

if(year%4==0&&year%100!

=0||year%400==0)

printf("yes");

else

printf("no");

}

【5-4】任意输入一个数,判断是否是偶数,是,输出"yes";否则,输出"no"。

#include

main()

{intn;/*定义变量*/

printf("请输入n的值:

");

scanf("%d",&n);/*给变量n赋值*/

if(n%2==0)

printf("yes\n");/*偶数输出“yes”*/

else

printf("no\n");/*不是偶数输出“no”*/

}

【例5-5】任意输入一个人的成绩,输出相应的成绩等级。

100-90:

等级A、89-80:

等级B、79-70:

等级C、69-60:

等级D,其它等级E

源程序:

#include

main()

{

intx;

printf("Enterx:

");

scanf("%d",&x);

switch(x/10)/*成绩除以10取整数*/

{

case10:

case9:

printf("A");break;/*break语句:

提前退出switch语句*/

case8:

printf("B");break;

case7:

printf("C");break;

case6:

printf("D");break;

default:

printf("E");

}

}

【5-5】输入10个字符,分别统计空格、回车和其它字符出现的次数。

#include

main()

{charch;

inti,n1=0,n2=0,n3=0;/*i循环变量,其它变量用来计数*/

printf("请输入10个字符:

");

for(i=1;i<=10;i++)

{scanf("%c",&ch);/*给ch赋值*/

switch(ch)/*判断字符类型计数*/

{case'':

n1=n1+1;break;/*是空格*/

case'\n':

n2=n2+1;break;/*是回车*/

default:

n3=n3+1;}

}

}

【例5-6】任意输入三角形的三条边判断能否构成三角形

(1)能,再判断能否构成等边三角形,能输出面积;否则,不输出任何信息。

提示:

三角形面积公式:

(2)不能构成三角形,输出“NO”。

源程序:

#include

#include

main()

{

intx,y,z;

doubles,area;

printf("Enterx,y,z:

");

scanf("%d%d%d",&x,&y,&z);

if(x+y>z&&x+z>y&&y+z>x)

{if(x==y&&y==z&&x==z)

{s=1.0/(x+y+z);

area=sqrt(s*(s-x)*(s-y)*(s-z));

printf("面积=%f\n",area);

}

}

else

printf("NO");

}

【5-6】任意输入一个数,判断是否是2~100之间的数:

(1)是,判断是否是3的倍数,是,输出此数;否则,不输出。

(2)不是,输出"输入错误"。

#include

main()

{intn;/*定义变量n为int类型*/

printf("请输入一个数n:

");

scanf("%d",&n);/*给n赋值*/

if(n>=2&&n<=100)/*判断n在2~100之间*/

{if(n%3==0)

printf("%d\n",n);}/*再判断n是否能被3整除*/

elseprintf("输入错误\n");/*n不在2~100之间输出“输入错误”*/

}

二、程序改错

不允许增加行也不允许删除行,也不得更改程序的结构。

1、计算下面分段函数的值

x+5(x<0)

f(x)=x2-x+3(0≤x<10)

4x-7(x≥10)

源程序:

main()

{

intx,y;

/********found********/

scanf(“%d”,x);

if(x<0)y=x+5;

/********found********/

elseif(x<10)y=x^2-x+3;

/********found********/

elsey=4x-7;

printf(“y=%d”,y)

}

2、给变量b和c赋值,然后输出它们的值。

源程序:

main()

{

inta=2,b,c;

if(a>1)

/********found********/

b=1;c=3;

else

b=2;

printf(“%d,%d\n”,b,c);

}

改错1题:

(1)scanf(“%d”,x);改为:

scanf(“%d”,&x);

(2)elseif(x<10)y=x^2-x+3;

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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