语言程序设计部分习题及例题参考程序Word文件下载.docx

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

语言程序设计部分习题及例题参考程序Word文件下载.docx

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

语言程序设计部分习题及例题参考程序Word文件下载.docx

switch((int)score/10)

case10:

case9:

rank='

A'

;

break;

case8:

B'

case7:

rank=C;

case6:

rank='

D'

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>

c>

a+b>

c&

a+c>

b&

b+c>

a)printf("

(%.2f,%.2f,%.2f)能围成三角形\n"

a,b,c);

printf("

(%.2f,%,%.2f)

不能围成三角形\n"

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

[参考程序]

1234,输出3421

intn;

inputanumber:

%d"

n);

do

}return0;

n%10);

n/=10;

while(n!

=0);

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

intn,s=1,i;

inputanumber(1~10):

 

for(i=2;

i<

=n;

i++)s*=i;

%d!

=%d\n"

n,s);

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

【参考程序】

charch;

intcnt=0;

inputacharline:

ch=getchar();

while(ch!

='

\n'

cnt++;

ch=getchar();

%d\n"

cnt);

7.打印乘法口诀表。

【参考程序】#include<

intmain(){

inti,j;

for(i=1;

=9;

i++){for(j=1;

j<

=i;

j++)printf("

%d*%d=%-3d"

j,i,i*j);

\n"

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

***

*****

*******

【参考程序】

intmain()

inti,j,n;

请输入打印图形的行数:

"

for(i=1;

i++)

for(j=1;

=n-i;

j++)

=2*i-1;

*"

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

inti,n;

请输入一个正整数:

i*i<

if(n%i==0)

}if(i*i<

=n||n==1)printf("

%d不是一个素数.\n"

n);

else

%d是一个素数.\n"

return0;

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

#defineN100intmain()

intn,s=0,i;

=N;

请输入第%€个整数:

i);

if(*O)

continue;

s+=n;

s);

80分以上(即大于或等

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

#defineN1000

intm,n,k,i;

m=n=k=0;

i++){printf("

请输入第%€个成绩:

0){

请重新输入

输入的成绩不符合百分制成绩要求,本成绩输入作废

第%d(成绩:

i--;

}if(score>

=80)m++;

elseif(score>

=60)

n++;

k++;

%d:

%d\rT’m,n,k);

10-6时,停止计算。

12.运用如下公式计算圆周率的近似值,当最后一项的绝对值小于

doublepi=,t=;

intsgn=1;

while(t<

1000000)

pi+=sgn/t;

sgn=-sgn;

t+=2;

Pi=%.6lf\n"

4*pi);

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

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)

m,w,c);

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

intm,n,m1,n1,r;

请输入两个正整数:

%d%d"

m,&

m1=m;

n1=n;

r=m%n;

while(r!

m=n;

n=r;

r=m%n;

gcd(%d,%d)=%d\n"

m1,n1,n);

lcm(%d,%d)=%d\n"

m1,n1,m1*n1/n);

14.编程计算如下式子的值,直到

n等于100。

234I丿

^=-+Ifrq

irii

doubles=,t=;

intsgn=1;

while(t<

=100)

s+=sgn/t;

sgn=-sgn;

t+=1;

s=%.6lf\rT’s);

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

其中

该式子表示的含义为2+22+222,故结果为246。

a*a甘卜aaa*+•日(n个a)

inta,n,s=0,t;

inputa,n:

”);

t=a;

while(n>

s+=t;

t=t*10+a;

n--;

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

如当a为2,n为3时,

16.计算如下式子的值。

357101

1+—1-—+—+■■■+—

246100

【参考程序】#inelude<

floats=;

for(n=2;

*=100;

n+=2)

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

%.6f\n"

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

项之和。

intn,s=0,i;

n=2;

=3;

i++){

n=n*2+3;

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

intone,two,five,ent=0;

for(five=0;

five<

=2;

five++)for(two=0;

two<

=5;

two++){

one=10-five*5-two*2;

if(one>

one,two,five);

ent++;

一共有%d种换法\n”,ent);

20.编程统计并输出200至300以内的全部素数。

#inelude<

intm,i,k=0;

for(m=201;

300;

m+=2){

for(i=3;

=m;

i+=2)if(m%i==0)break;

if(i*i>

m)

%8d"

m);

if(k%5==0)

\n200至U300之间一共有%d个素数'

n"

k);

21.打印所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数自身。

如153

intm,n,k;

for(m=1;

for(n=0;

n<

n++)

for(k=0;

k<

k++)

if(m*m*m+n*n*n+k*k*k==m*100+n*10+k)

%5d"

m*100+n*10+k);

12,数字之积为42.

22.输出200到300之间满足如下条件的数,即各位数字之和为【参考程序】

intm,n;

n++)if(m+n==10&

m*n==21)printf("

200+m*10+n);

90,须在屏幕上打印出90=2*3*3*5

23.编程将一个正整数进行质因数分解,例如输入【参考程序】

m);

%d="

while(m!

=1)

{while(m%n==0){

if(m!

=n)printf("

m/=n;

24.输入一行字符,分别统计其中英文字母、空格、数字及其他字符的个数。

intletter,space,digit,other;

letter=space=digit=other=0;

while(ch!

if(ch>

a'

ch<

z'

||ch>

Z'

)letter++;

elseif(ch>

0'

9'

digit++;

elseif(ch=='

'

space++;

other++;

letter,digit,space,other);

25.编程输出1000以内的全部完数。

所谓完数,是指该数恰好等于他的全部真因子的和。

6=1+2+3

intm,i,t;

for(m=2;

=1000;

t=1;

if(m%i==0)

t+=i;

if(i*i!

=m)t+=m/i;

if(t==m)

26.从键盘输入10个整数,求这些整数的总和及平均值,并统计不低于平均值的元素个数。

#defineN5intmain()

inta[N],i,cnt=0;

floataver;

printf(”请输入%4个整数:

”,N);

aver=;

for(i=0;

N;

scanf("

a[i]);

aver+=a[i];

if(a[i]>

=aver/N)cnt++;

这%4个整数的和是%.0f,平均值是%.2f\n"

N,aver,aver/10);

不低于平均值的数有%d(\n"

cnt);

27.设有存放于数组中一组整数,现从键盘输入一个整数,在数组中查找该数,如果数组中含有该数,则输出其全部出现位置,否则输出“**不存在”,**代表该数值。

#defineN10

inta[N]={16,35,48,29,56,43,93,64,90,48};

intn,sgn,i;

请输入待查找的整数:

sgn=0;

if(a[i]==n)

sgn=1;

%d在数组中的%€位置出现.\n"

n,i+1);

if(sgn==0)

%d不存在\n"

28.设有一存在有10个随机数的数组,请编程找出其中的最大数及其在数组中的位置。

inta[N],i,k;

srand(time(NULL));

for(i=0;

a[i]=rand();

%6d"

a[i]);

k=0;

a[k])

k=i;

\n最大值是%d它是数组的第%d个数\n”,a[k],k+1);

29.现有一未排序的整型数组,要求用选择法将该数组按由大到小的顺序排序。

#defineN10

intmain(){

inta[N],i,k,j,t;

printf(”请输入%d个整数:

N);

}for(j=0;

N-1;

k=j;

for(i=j+1;

t=a[j];

a[j]=a[k];

a[k]=t;

排序后的数组:

\n"

i++)printf("

30.现有一数组,其元素已按由大到小的顺序排列,现从键盘输入一个数,插入到该数组中,要求插入后的数组元素依然由大到小排列。

#defineN10intmain()

inta[N+1]={98,96,87,78,72,64,56,51,43,36};

intn,i;

插入前的数组:

请输入待插入的整数:

for(i=N-1;

i>

=0;

i--)

if(a[i]<

n)a[i+1]=a[i];

a[i+1]=n;

插入后的数组:

31.在数组中查找该数,**代表该数值。

设有存放于一维数组中一组整数,且已按由小到大顺序排序,现从键盘输入一个整数,

如果数组中含有该数,则输出该数的出现位置,否则输出“**不存在”#defineN10intmain()

inta[N]={93,90,64,56,50,48,43,35,29,16};

intn,sgn,top,bott,mid;

top=0;

bott=N-1;

while(top<

=bott)

mid=(top+bott)/2;

if(a[mid]==n)

break;

elseif(a[mid]>

n)top=mid+1;

bott=mid-1;

%d在第%4个数位置被发现.\n"

n,mid+1);

32.按如下格式打印杨辉三角形,具体行数由键盘输入。

1

11

121

1331

14641

15101051【参考程序】

#defineN20

intyang[N][N],n,i,j;

请输入要打印的的行数:

n;

yang[i][0]=yang[i][i]=1;

i;

yang[i][j]=yang[i-1][j]+yang[i-1][j-1];

for(j=0;

n-i-1;

%3c"

'

yang[i][j]);

33.编程实现从一字符串中删除指定的字符。

#defineN80

charstr[N],ch,i,j=0;

请输入一个字符串:

gets(str);

请输入待删除的字符:

str[i]!

\0'

i++)if(str[i]!

=ch)str[j++]=str[i];

str[j]='

删除指定字符后的字符串:

%s\n"

str);

34.现有若干字符串存放于一个二维数组中,每行存放一个字符串,现要求用冒泡法将这些字符串按由小到大排序,即按字符母顺排序。

#defineM6intmain()

charstr[M][N],temp[N],i,j;

printf(”请输入%d个字符串:

”,M);

M;

gets(str[i]);

M-1;

M-i-1;

if(stremp(str[j],str[j+1])>

strepy(temp,str[j]);

stre

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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