计算机程序设计基础编程习题Word格式.docx

上传人:b****7 文档编号:22353564 上传时间:2023-02-03 格式:DOCX 页数:30 大小:23.63KB
下载 相关 举报
计算机程序设计基础编程习题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

{inta,b,c,d,t;

scanf(“%d,%d,%d,%d”,&

b,&

c,&

d);

if(a>

b)

{t=a;

a=b;

b=t;

c)

a=c;

c=t;

d)

a=d;

d=t;

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

5.有一函数当x<

0时y=1,当x>

0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。

scanf(%d,&

if(x<

0)y=1;

elseif(x==0)y=5;

elsey=3;

牰湩晴尨?

搥礬┽層湜?

?

6.从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)

{floatmax(floatx,floaty);

floata,b,m;

scanf(%f,%f,&

m=max(a,b);

printf(Maxis%f\n,m);

floatmax(floatx,floaty)

{

floattemp;

y)

{temp=x;

x=y;

y=temp;

return(x);

7、从键盘输入你和你朋友的年龄,编成判断谁的年龄最大,并打印最大者的年龄。

<

#include

{intyourAge,hisAge;

printf(Pleaseenteryourage:

);

scanf(%d,&

yourAge);

/*输入你的年龄yourAge*/

printf(Pleaseenteryourfriend'

sage:

hisAge);

/*输入你朋友的年龄hisAge*/

if(yourAge>

=hisAge)

{

printf(Youareolder!

Yourageis=%d\n,yourAge);

}

if(hisAge>

yourAge)

printf(Yourfriendisolder!

HisAgeageis=%d\n,hisAge);

}}

8、键盘输入2个加数,再输入答案,如果正确,显示“right”,否则显示“error”

#include“stdio.h”

{inta,b,c;

printf(“pleaseinputaandb\n”);

scanf(%d,%d”,&

printf(“pleaseinputtheanswerfora+b\n”);

scanf(%d”,&

c);

if(c==a+b)

printf(“right\n”);

printf(“error\n”);

9.编一程序每个月根据每个月上网时间计算上网费用,计算方法如下:

30元?

10小时?

小时50每小时费用?

3元?

10?

50元每小时2.5小时?

分(6显示该月总的上网费用,要求当输入每月上网小时数main()

{inthour;

floatfee;

printf(“pleasen”);

inputhour:

\scanf(“%d”,&

hour);

if(hour<

=10)

fee=30;

elseif(hour>

=10&

&

hour<

=50)

fee=3*hour;

elsefee=hour*2.5;

printf(“Thetotalfeeis%f”,fee);

10.神州行用户无月租费,话费每分钟0.6元,全球通用户月租费50元,话费每分钟0.4元。

输入一个月的通话时间,分别计算出两种方式的费用,判断哪一种合适。

main()

{floata,x,y;

printf(“\n请输入您的话费:

”);

scanf(“%f,”,&

a);

x=0.6*a;

y=50+0.4*a;

printf(“神州行话费为:

%f\n”,x);

printf(“全球通话费为:

%f\n”,y);

if(x>

=y)

printf(“建议使用全球通”);

elseprintf(“建议使用神州行);

11.个人所得税计算,应纳税款的计算公式如下:

收入税率

0%收入<

=1000元部分5>

1000元的部分%>

2000元=收入10%=收入3000元>

>

2000元的部分

15%>

3000>

=收入元的部分6000元20%>

6000收入元的部分

输入某人的收入,计算出应纳税额及实际得到的报酬。

(7分)

(如需连续计算多个人的纳税情况,直到输入负数为止,程序应如何改进?

试写出程序)

intgrade;

floatincome,tax,money;

printf(“pleaseinputyourincome\n”);

scanf(“%f”,&

income);

if(income<

printf(“theinputiserror”);

{grade=(int)income/1000;

switch(grade)

{case0:

tax=0;

break;

case1:

tax=(income-1000)*0.05;

case2:

tax=50+(income-2000)*0.1;

case3:

case4:

case5:

tax=150+(income-3000)*0.15;

default:

tax=600+(income-6000)*0.2;

money=income-tax;

printf(“\ntax=%f,money=%f”,tax,money);

12.从键盘上输入一个百分制成绩score,按下列原则输出其等级:

score≥90,等级为A;

80≤score<

90,等级为B;

70≤score<

80,等级为C;

60≤score<

70,等级为D;

score<

60,等级为E。

#include<

intdata;

chargrade;

printf(Pleaseenterthescore:

scanf(%d”,&

data);

switch(data/10)

{case10:

case9:

grade='

A'

;

break;

case8:

B'

case7:

C'

case6:

D'

default:

E'

printf(hegradeis%c”,grade);

*13.编程设计一个简单的计算器程序。

从键盘输入2个操作数,1个运算符,当运算符为加(+)、减(-)、乘(*)、除(/)时,输出计算结果

{intdata1,data2;

/*定义两个操作符*/

charop;

/*定义运算符*/

printf(Pleaseentertheexpression:

scanf(%d%c%d,&

data1,&

op,&

data2);

/*输入运算表达式*/

switch(op)/*根据输入的运算符确定要执行的运算*/

{case'

+'

:

/*处理加法*/

printf(%d+%d=%d\n,data1,data2,data1+data2);

case'

-'

/*处理减法*/

printf(%d-%d=%d\n,data1,data2,data1-data2);

*'

/*处理乘法*/

printf(%d*%d=%d\n,data1,data2,data1*data2);

/'

/*处理除法*/

if(0==data2)/*为避免出现溢出错误,检验除数是否为0*/

printf(Divisionbyzero!

printf(%d/%d=%d\n,data1,data2,data1/data2);

printf(Unknownoperator!

\n);

14.从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。

{inta[10],i,p=0,n=0,z=0;

printf(“pleaseinputnumber”);

for(i=0;

i<

10;

i++)

{scanf(“%d,”,&

a[i]);

if(a[i]>

p++;

elseif(a[i]<

n++;

elsez++}

printf(“正数:

],负数:

],零:

]\n”,p,n,z);

15、编程序实现求1-200之间的所有数的乘积并输出。

#include<

main()

{inti,sum=1

for(i=1;

i<

200i=i+1)

sum=sum*i;

printf(“thesumofoddis:

%d”,sum);

16.从键盘上输入10个数,求其平均值。

inta[10],i,s=0;

floatave;

for(i=0;

sum+=a[i];

ave=(float)sum/10;

printf(ave=%f\n,ave);

17、编程序实现求1-1000之间的所有奇数的和并输出。

{inti,sum=0;

1000;

i=i+2)

sum=sum+i;

18.有一个分数序列:

2/1,3/2,5/3,8/5,13/8,21/13……

编程求这个序列的前20项之和。

inti,t,n=20;

floata=2,b=1,s=0;

for(i=1;

=n;

{s=s+a/b;

t=a;

a=a+b;

b=t;

printf(sum=%9.6f,s);

19.用数组实现以下功能:

输入5个学生成绩,而后求出这些成绩的平均值并显示出来。

{floata[5],i;

floats=0;

5;

scanf(“%f”,&

I++)

s=s+a[i];

printf(“result=%f”,s/5);

*20、用循环的方法构造一个5行5列的二维数组,使主对角线上的变量为1,其它为0,并将数组中所有项按行按列显示出来。

{inta[5][5],i,j,s=0;

I<

for(j=0;

j<

j++)

if(i==j)a[i][j]=1;

elsea[i][j]=0;

{if(j==0)printf(“\n”);

printf(“%d”,a[i][j]);

21.求一个3×

3矩阵对角线元素之和。

从键盘输入矩阵元素的值并输出和的值.

{inta[3][3],sum=0;

inti,j;

printf(Enterdata:

3;

for(j=0;

scanf(%d,&

a[i][j]);

sum=sum+a[i][i];

printf(sum=%d,sum);

22.输入n的值,n代表行数,输出如图所示的图形。

(6分)

*

***

*****

*******(此图为n=4时的输出结果)

i,j,k;

{int

for(i=1;

i<

=4;

i++)/*控制行数*/

{for(k=1;

k<

=(2*i-1);

k++)/*控制每行输出的*号个数*/

{printf(*);

printf(\

}}/*输出一行后换行*/

23、从键盘输入30名学生的成绩数据,求其中的最高分、最低分和平均分。

(提示:

用数组存放成绩数据)

#include<

#defineM30

main()

{floatscore[M],max,min,aver;

inti;

printf(“pleaseinputscore:

\n”);

M;

i++)

scanf(“%f”,&

score[i]);

max=score[0];

min=score[0];

aver=score[0];

M;

{if(max<

score[i])max=score[i];

if(min>

score[i])min=score[i];

aver+=score[i];

printf(“max=%f,min=%f,aver=%f”,max,min,aver/M);

24.从键盘输入某班学生某门课的成绩及其学号(班级人数最多40人,具体人数由键盘输入),输出该班最高分和最低分及其学生学号;

并输出该班该课程的总分和平均分。

请编写程序。

#defineARR_SIZE40

{floatscore[ARR_SIZE],maxScore,minScore,sum;

intn,i;

longmaxNum,minNum,num[ARR_SIZE];

printf(Pleaseentertotalnumber:

n);

printf(Pleaseenterthenumberandscore:

for(i=0;

n;

scanf(%ld%f,&

num[i],&

maxScore=score[0];

minScore=score[0];

maxNum=num[0];

minNum=num[0];

sum=score[0];

for(i=1;

{if(score[i]>

maxScore)

{maxScore=score[i];

maxNum=num[i];

if(score[i]<

minScore)

{minScore=score[i];

minNum=num[i];

sum=sum+score[i];

printf(maxScore=%.0f,maxNum=%ld\n,maxScore,maxNum);

printf(minScore=%.0f,minNum=%ld\n,minScore,minNum);

printf(sum=%.1f,average=%.1f\n,sum,sum/n);

整数)按逆序重新存放。

将一个有*25.5个元素的数组中的值(81、4、、6、5,要求改为、、例:

原来顺序为:

86、54、1defineN5

{inta[N],I,temp;

printf(“enterarraya:

\n”);

for(I=0;

N;

i]);

scanf(“%d”,$a[

{temp=a[i];

a[i]=a[N-I-1];

a[N-I-1]=temp;

n”);

printf(“\nNow,arraya:

\

printf(“M”,a[

\printf(“}

的矩阵输出。

3*2的矩阵,将其转置后形成2*3从键盘上输入一个*26.

{inta[2][3],b[3][2],i,j;

2;

scanf(“%d”,&

b[i][j]=a[j][i];

{for(j=0;

printf(],b[i][j]);

牰湩晴尨屜n”);

*27.编写两个函数分别求两个整数的最小公倍数和最大公约数,用主函数调用这两个函数并输出结果。

两个整数由键盘输入。

#includestdio.h

mingb(x,y)

intx,y;

{intz,i,t;

z=1;

i=1;

if(x>

{t=x;

x=y;

y=t;

while(z<

=x*y)

z=i*y;

if((z%x==0)&

(z%y==0))break;

i++;

return(z);

maxgy(x,y)

{intz,t;

if(x>

z=x;

while(z>

1)

{if((x%z==0)&

(y%z==0))break;

z--;

inta,b,c;

charch;

printf(\

mingb

(1)/maxgy

(2)?

ch=getchar();

input:

scanf(%d,%d,&

if(ch=='

1'

)c=mingb(a,b);

elseif(ch='

2'

)c=maxgy(a,b);

printf(heresultis%d,c);

getch();

*28.输入一个3*3矩阵,求出其转置矩阵,并求出两个矩阵的和.

inta[3][3];

intb[3][3];

intc[3][3]

inti,j;

printf(“pleaseinput6numbers!

”)

for(i=1;

for(j=1;

b[j][i]=a[i][j];

c[i][j]=a[i][j]+b[i][j];

{

printf(“%d”,a[i][j]);

29、从键盘输入10名学生的成绩数据,按成绩从高到低的顺序排列并输出。

{inta[10];

inti,j,temp;

printf(inputscore:

1

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

当前位置:首页 > 工作范文 > 行政公文

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

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