printf(“Max=%d\n”,max);
}
习题二
一、单项选择题
1.A,D,E2.B,E3.B,D,E,F,H4.B,F5.A,B,E
二、填空题
1.⑴int⑵char⑶double⑷long⑸char⑹char⑺int⑻long
2.⑴0⑵0⑶2⑷4⑸4⑹8⑺0⑻2
3.2111
4.不做
5.sin(25*3.14159/180)+cos(30*3.14159/180)
6.2
8.5
三、给出各个程序的运行结果
1.运行结果如下:
3
21
5
5
2.运行结果如下:
6,9
9,27
习题三
一、单项选择题
1.D2.B3.D4.C5.B6.C7.B8.A9.C10.D
11.D12.D13.B14.A15.A16.B17.C18.C19.B20.B
21.D22.C23.C24.D25.C26.C27.D28.D29.B30.A
二、填空题
1.从标准设备(键盘)上读入一个字符向标准设备(键盘)上输出一个字符
#include
2.以十进制形式输入一个整数表示从标准输入设备(键盘)读取输入的3个整型数
表示掉过3个整数不读取用来输入一个字符
3.以十进制形式输出一个整数以十六进制形式输出一个整数
以十进制小数形式输出,输出的数据长度为7位,其中有两位为小数
以字符形式输出一个字符
4.分程序;;5.-16.非00
7.a%7==0else8.39.2
10.forwhiledo-while11.Continue12.a=16,y=42
13.1014.y=1915.22222
16.3917.718.5,5
19.n=420.-321.8
三、程序阅读分析题
1.
2.
3.04.5675.thisnumberisahuiwen
四、编程题
1.编写一个程序,要求用户输入两个整数,判定其中一个是否能整除另一个。
#include
intmain()
{
inta,b;
while(scanf("%d%d",&a,&b)==2)
{
if(a%b)printf("不能整除\n");
elseprintf("能整除\n");
}
return0;
}
2.编程实现:
输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:
①能同时被3,5,7整除;
②能被其中两数(要指出哪两个)整除;
③能被其中一个数(要指出哪一个)整除;
④不能被3,5,7任一个整除。
#include
voidmain()
{
inta;
printf("请输入一个整数\n");
scanf("%d",&a);
if(a%3==0&&a%5==0&&a%7==0)
printf("%d能同时被3,5,7整除\n",a);
elseif(a%3!
=0&&a%5==0&&a%7==0)
printf("%d能同时被5,7整除\n",a);
elseif(a%3==0&&a%5!
=0&&a%7==0)
printf("%d能同时被3,7整除\n",a);
elseif(a%3==0&&a%5==0&&a%7!
=0)
printf("%d能同时被3,5整除\n",a);
elseif(a%3==0&&a%5!
=0&&a%7!
=0)
printf("%d能被3整除\n",a);
elseif(a%3!
=0&&a%5==0&&a%7!
=0)
printf("%d能被5整除\n",a);
elseif(a%3!
=0&&a%5!
=0&&a%7==0)
printf("%d能被7整除\n",a);
elseprintf("%d不能被3,5,7整除\n",a);
}
3.市郊长途电话收费标准如下:
通话时间在三分钟以下收费一角,三分钟以上则每超过一分钟加一角。
在7:
00—21:
00之间通话者,按收费标准全价收费;在其它时间通话者,按收费标准的一半收费。
请计算某人在x时间通话y分钟,应缴多少电话费。
(通话时间利用整数输入实现)
#include
main()
{
floatx,y=0;
intt;
scanf("%f%d",&x,&t);
if(t>7&&t<21)
{
if(x<3)
y=0.1;
else
do
{
y=0.2+y;
x=x-1;
}while(x-3>0);
}
else
{
if(x<3)
y=0.1/2;
else
do
{
y=(0.2+y)/2;
x=x-1;
}while(x-3>0);
}
printf("%f",y);
}
4.输入a、b、c三条边,判断它是否构成三角形。
若能构成三角形,则计算三角形面积。
#include
#include
main()
{
floata,b,c,S=0,x=0;
printf("输入三角形三条边的边长:
");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{
x=(a+b+c)/2.0;
S=sqrt(x*(x-a)*(x-b)*(x-c));
printf("area=%.3f\n",S);
}
Else
printf("不能构成三角形\n");
}
5.打印出所有”水仙花数”。
所谓”水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
例如,153是一个”水仙花数”,因为153=13+53+33。
#include"stdio.h"
#include"math.h"
main()
{
inti;
inta,b,c;
for(i=100;i<=999;i++)
{
a=i%10;/*取个位数*/
b=i/10%10;/*取十位数*/
c=i/100;/*取百位数*/
if(i==a*a*a+b*b*b+c*c*c)
printf("%d",i);
}
}
6.编写一个程序,在屏幕上显示如下图形(图形的层数读者自行设定):
*
***
*****
*******
*****
***
*
#include
#include
main()
{
inti,j,k;
for(i=-3;i<=3;i++)
{
for(j=1;j<=abs(i);j++)
printf("%c",32);
for(j=1;j<=7-2*abs(i);j++)
printf("*");
printf("\n");
}
}
7.求斐波那契(Fibonacci)数列:
1,1,2,3,5,8,......的前40个数。
斐波那契数列的定义:
F1=1(n=1)
F2=1(n=2)
Fn=Fn-1+Fn-2(n≥3)
#include
main()
{
intf1,f2,f;
inti;
f1=f2=1;
printf("%d\n%d\n",f1,f2);
for(i=1;i<=38;i++)/*已经有两个数,只要再产生38个数即可*/
{
f=f1+f2;
f1=f2;
f2=f;
printf("%d\n",f);
}
}
8.编程实现求1+2+3+…+n之和,并输出当其和第一次大于或等于100时的值及n值。
#include
main()
{
inti,s,t=0;
i=1;s=0;
while(i<=100)
{
s=s+i;
if(s>=100&&t<1)/*设定t只求第一次和大于100的内容*/
{
printf("第一次和大于或等于100时和为%d\n",s);
printf("第一次和大于或等于100时n为%d\n",i);
t+=1;
}
i=i+1;
}
printf("s=%d\n",s);
}
9.整元换零钱问题。
把1元兑换成1分、2分、5分的硬币,共有多少种不同的换法?
#include
main()
{
inti,j,k,n;
n=100,k=0;
for(i=0;i<=n/5;i++)
for(j=0;j<=(n-i*5)/2;j++)
{
printf("5cent=%d\t2cent=%d\t1cent=%d\n",i,j,n-i*5-j*2);
k++;
}
printf("totaltimes=%d\n",k);
}
10.编写解鸡兔同笼问题的程序。
用户输入头的数目和脚的数目,输出鸡、兔各有多少只。
#include
main()
{intx,y,a,b;
printf("输入鸡兔头的数目:
");
scanf("%d",&x);
printf("输入鸡兔脚的数目:
");
scanf("%d",&y);
a=x-(y-2*x)/2;
b=(y-2*x)/2;
printf("鸡有%d只,兔有%d只",a,b);
}
11.打印杨辉三角形,即(x+y)n展开式的各项系数。
并且在程序运行开始时,问用户n的值为多少,接着打印如下形式至指定行数。
1
11
121
1331
14641
...
#include
intmain()