C语言程序设计部分习题及例题参考程序.docx

上传人:b****3 文档编号:1268702 上传时间:2022-10-19 格式:DOCX 页数:36 大小:34.40KB
下载 相关 举报
C语言程序设计部分习题及例题参考程序.docx_第1页
第1页 / 共36页
C语言程序设计部分习题及例题参考程序.docx_第2页
第2页 / 共36页
C语言程序设计部分习题及例题参考程序.docx_第3页
第3页 / 共36页
C语言程序设计部分习题及例题参考程序.docx_第4页
第4页 / 共36页
C语言程序设计部分习题及例题参考程序.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

C语言程序设计部分习题及例题参考程序.docx

《C语言程序设计部分习题及例题参考程序.docx》由会员分享,可在线阅读,更多相关《C语言程序设计部分习题及例题参考程序.docx(36页珍藏版)》请在冰豆网上搜索。

C语言程序设计部分习题及例题参考程序.docx

C语言程序设计部分习题及例题参考程序

《C语言程序设计》部分例题及课后习题参考程序

1.编程计算如下分段函数:

[参考程序]

#include

intmain()

{

floatx,y;

printf("inputx:

");scanf("%f",&x);

if(x>=10)

y=2*x+3;

elseif(x>=0)

y=4*x;

else

y=5*x-6;

printf("y=%.2f\n",y);

}

2.编程将从键盘输入的百分制成绩转换为等级分,转换方法如下:

90以上(大于或等于90,下同)为A,80分以上为B,70分以上为C,60分以上为D,60分以下,即低于60分为E。

[参考程序]

#include

intmain()

{

floatscore;

charrank;

printf("inputascore:

");

scanf("%f",&score);

if(score>100||score<0)

{

printf("invalidscoreinput\n");

exit(-1);

}

switch((int)score/10)

{

case10:

case9:

rank='A';break;

case8:

rank='B';break;

case7:

rank='C';break;

case6:

rank='D';break;

default:

rank='E';

}

printf("%.2f:

%c\n",score,rank);

return0;

}

3.编程判断以从键盘输入的三个数为边长,是否能构成三角形。

[参考程序]

#include

intmain()

{

floata,b,c;

printf("inputa,b,c:

");

scanf("%f%f%f",&a,&b,&c);

if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)

printf("(%.2f,%.2f,%.2f)能围成三角形\n",a,b,c);

else

printf("(%.2f,%2.2f,%.2f)不能围成三角形\n",a,b,c);

}

4.编程实现将从键盘输入的一个正整数逆序输出,如输入1234,输出3421

[参考程序]

#include

intmain()

{

intn;

printf("inputanumber:

");

scanf("%d",&n);

do

{

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

n/=10;

}while(n!

=0);

return0;

}

5.输入一个1~10范围内的整数,计算该数的阶乘。

[参考程序]

#include

intmain()

{

intn,s=1,i;

printf("inputanumber(1~10):

");

scanf("%d",&n);

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

s*=i;

printf("%d!

=%d\n",n,s);

return0;

}

6.从键盘输入的一行字符,统计其含有多少个字符。

【参考程序】

#include

intmain()

{

charch;

intcnt=0;

printf("inputacharline:

");

ch=getchar();

while(ch!

='\n')

{

cnt++;

ch=getchar();

}

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

return0;

}

7.打印乘法口诀表。

【参考程序】

#include

intmain()

{

inti,j;

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

{

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

printf("%d*%d=%-3d",j,i,i*j);

printf("\n");

}

return0;

}

8.在屏幕上打印如下规律的图形,具体行数由键盘输入。

*

***

*****

*******

*********

***********

【参考程序】

#include

intmain()

{

inti,j,n;

printf("请输入打印图形的行数:

");

scanf("%d",&n);

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

{

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

printf("");

for(j=1;j<=2*i-1;j++)

printf("*");

printf("\n");

}

return0;

}

9.从键盘输入一个正整数,编程判断其是否为素数(质数).

【参考程序】

#include

intmain()

{

inti,n;

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

");

scanf("%d",&n);

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

{

if(n%i==0)

break;

}

if(i*i<=n||n==1)

printf("%d不是一个素数.\n",n);

else

printf("%d是一个素数.\n",n);

return0;

}

10.从键盘输入100个整数,求其中正整数的和。

【参考程序】

#include

#defineN100

intmain()

{

intn,s=0,i;

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

{

printf("请输入第%d个整数:

",i);

scanf("%d",&n);

if(n<0)

continue;

s+=n;

}

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

return0;

}

11.从键盘输入1000个学生某门课程的百分制成绩,分别统计其中80分以上(即大于或等于80)、60分以上及低于60分的人数。

【参考程序】

#include

#defineN1000

intmain()

{

intm,n,k,i;

floatscore;

m=n=k=0;

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

{

printf("请输入第%d个成绩:

",i);

scanf("%f",&score);

if(score>100||score<0)

{

printf("输入的成绩不符合百分制成绩要求,本成绩输入作废,请重新输入第%d个成绩:

",i);

i--;

continue;

}

if(score>=80)

m++;

elseif(score>=60)

n++;

else

k++;

}

printf("%d:

%d:

%d\n",m,n,k);

return0;

}

12.运用如下公式计算圆周率的近似值,当最后一项的绝对值小于10-6时,停止计算。

【参考程序】

#include

intmain()

{

doublepi=0.0,t=1.0;

intsgn=1;

while(t<1000000)

{

pi+=sgn/t;

sgn=-sgn;

t+=2;

}

printf("Pi=%.6lf\n",4*pi);

return0;

}

13.古代某工地需要搬运砖块,已知男人每人每次搬3块,女人每人每次搬2块,小孩两人每次抬一块,现有45人一次正好搬完全部砖块,请问男人、女人、小孩各几人?

【参考程序】

#include

intmain()

{

intw,m,c;

for(m=0;m<=15;m++)

for(w=0;w<=22;w++)

{

c=45-m-w;

if(m*3+w*2+c*.5==45)

printf("%d:

%d:

%d\n",m,w,c);

}

return0;

}

14.从键盘输入两个正整数到m、n中,求它们的最大公约数和最小公倍数。

【参考程序】

#include

intmain()

{

intm,n,m1,n1,r;

printf("请输入两个正整数:

");

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

m1=m;

n1=n;

r=m%n;

while(r!

=0)

{

m=n;

n=r;

r=m%n;

}

printf("gcd(%d,%d)=%d\n",m1,n1,n);

printf("lcm(%d,%d)=%d\n",m1,n1,m1*n1/n);

return0;

}

14.编程计算如下式子的值,直到n等于100。

【参考程序】

#include

intmain()

{

doubles=0.0,t=1.0;

intsgn=1;

while(t<=100)

{

s+=sgn/t;

sgn=-sgn;

t+=1;

}

printf("s=%.6lf\n",s);

return0;

}

15.计算如下规律式子的值。

其中a与n的值都是由键盘输入确定。

如当a为2,n为3时,该式子表示的含义为2+22+222,故结果为246。

【参考程序】

#include

intmain()

{

inta,n,s=0,t;

printf("inputa,n:

");

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

t=a;

while(n>0)

{

s+=t;

t=t*10+a;

n--;

}

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

return0;

}

16.计算如下式子的值。

【参考程序】

#include

intmain()

{

intn;

floats=0.0;

for(n=2;n<=100;n+=2)

{

s+=(float)(n+1)/n;

}

printf("%.6f\n",s);

return0;

}

17.如数列第1项为2,此后各项的值均为其前一项的2倍再加3,编程计算该数列的前10项之和。

【参考程序】

#include

intmain()

{

intn,s=0,i;

n=2;

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

{

s+=n;

n=n*2+3;

}

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

return0;

}

18.现要求将1角钱换成1分、2分或5分的硬币,请问有多少种换法,并输出每一种换法。

【参考程序】

#include

intmain()

{

intone,two,five,cnt=0;

fo

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

当前位置:首页 > 工程科技 > 能源化工

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

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