C语言基本编程题.docx

上传人:b****7 文档编号:11434415 上传时间:2023-03-01 格式:DOCX 页数:23 大小:46.51KB
下载 相关 举报
C语言基本编程题.docx_第1页
第1页 / 共23页
C语言基本编程题.docx_第2页
第2页 / 共23页
C语言基本编程题.docx_第3页
第3页 / 共23页
C语言基本编程题.docx_第4页
第4页 / 共23页
C语言基本编程题.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C语言基本编程题.docx

《C语言基本编程题.docx》由会员分享,可在线阅读,更多相关《C语言基本编程题.docx(23页珍藏版)》请在冰豆网上搜索。

C语言基本编程题.docx

C语言基本编程题

复习题

C程序设计编程题

1.输入2个整数,求两数的平方和并输出。

#inelude

voidmain()

{intta,b,s;

printf("pleaseinputa,b:

\n");

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

s=a*a+b*b;

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

}

2.输入一个圆半径(r),当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include

#definePI3.14

voidmain()

{floatr,s,l;

printf("pleaseinputr:

\n”);

scanf("%f”,&r);

if(r>=0)

{s=pi*r*r;

l=2*i*r;

printf("theareais%f\n",s);

printf("thecircumfereneeis%f\n",l);}

else

printf("inputerror!

\n");

}

3.函数y=f(x)可表示为:

2x+1(x<0)

y=0(x=0)

2x-1(x>0)

编程实现输入一个x值,输出y值。

#include

voidmain()

{intx,y;

scanf(“%d,&x);

if(x<0)y=2*x+1;

elseif(x>0)y=2*x-1;

elsey=0;

printf(“%d,y);}

4、编写一个程序,从4个整数中找出最小的数,并显示此数。

#include

voidmain()

{inta,b,c,d,t;

scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(a>d)

{t=a;a=d;d=t;}

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

}

5.有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。

#include

voidmain()

{intx,y;

scanf("%d",&x);

if(x<0)y=1;

elseif(x==0)y=5;

elsey=3;

printf("x=%d,y=%d\n",x,y);}

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

#include

floatmax(floatx,floaty);

voidmain()

{floata,b,m;

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

m=max(a,b);

printf("Maxis%f\n",m);

}

floatmax(floatx,floaty)

{

floattemp;

if(x

{temp=x;

x=y;

y=temp;

}

return(x);

}

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

#include

voidmain()

{intyourAge,hisAge;

printf("Pleaseenteryourage:

");

scanf("%d",&yourAge);/*输入你的年龄yourAge*/

printf("Pleaseenteryourfriend'sage:

");

scanf("%d",&hisAge);/*输入你朋友的年龄hisAge*/

if(yourAge>=hisAge)

{

printf("Youareolder!

Yourageis=%d\n",yourAge);

}

if(hisAge>yourAge)

{

printf("Yourfriendisolder!

HisAgeageis=%d\n",hisAge);

}}

error

&键盘输入2个加数,再输入答案,如果正确,显示"right”,否则显示

#include“stdio.h”

voidmain()

{inta,b,c;

printf(“pleaseinputaandb\n”);

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

printf(“pleaseinputtheanswerfora+b\n”);

scanf(%d”,&c);

if(c==a+b)

printf(“right'n”);

else

printf(“error'n”);

}

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

30元10小时

费用每小时3元1050小时

每小时2.5元50小时

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

#includevoidmain(){inthour;floatfee;

printf(“pleaseinputhour:

'n”);

scanf(“%d,&hour);

if(hour<=10)

fee=30;

elseif(hour>=10&&hour<=50)

fee=3*hour;

elsefee=hour*2.5;

printf(“Thetotalfeeis%f

}

10.神州行用户无月租费,话费每分钟

”,fee);

0.6元,全球通用户月租费

50元,话费每分

钟0.4元。

输入一个月的通话时间,

#include

分别计算出两种方式的费用,

判断哪一种合适。

voidmain()

{floata,x,y;

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

”);

scanf(“%f,”,&a);

x=0.6*a;

y=50+0.4*a;

printf("神州行话费为n”,x);

printf("全球通话费为n”,y);

if(x>=y)

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

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

}

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

收入

税率

收入<=1000元部分

0%

2000元>=收入>1000元的部分

5%

3000元>=收入>2000元的部分

10%

6000元>=收入>3000元的部分

15%

收入>6000元的部分

20%

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

(7分)

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

试写出程序)

#include“stdio.h”

voidmain()

{

intgrade;

floatincome,tax,money;

printf(“pleaseinputyourincome\n”);

scanf(“%f',&income);

if(income<0)

printf(“theinputiserror”);

else

{grade=(int)income/1000;

switch(grade)

{case0:

tax=O;break;

case1:

tax=(income-1000)*0.05;break;

case2:

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

case3:

case4:

case5:

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

default:

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

}

money=income-tax;

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

}

}

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

score>90,等级为A80

#include

voidmain()

{

intdata;

chargrade;

printf("Pleaseenterthescore:

");

scanf("%d”,&data);

switch(data/10)

{case10:

case9:

grade=

'A;

break;

case8:

grade=

'B';

break;

case7:

grade=

'C';

break;

case6:

grade=

'D;

break;

default:

grade=}

'E';

}

printf("thegradeis%c

grade);

}

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

从键盘输入2个操作数,1个运算符,当运

算符为加(+)、减(-)、乘(*)、除(/)时,输出计算结果

#include

voidmain()

{intdata1,data2;/*定义两个操作符*/

charop;/*定义运算符*/

printf("Pleaseentertheexpression:

”);

scanf("%d%c%d",&data1,&op,&data2);/*输入运算表达式*/

switch(op)

/*

根据输入的运算符确定要执行的运算*/

{case'+':

/*

处理加法*/

printf("%d+%d=

:

%d\n",data1,data2,data1+data2);

break;

case'-':

/*

处理减法*/

printf("%d-%d=

%d\n",data1,data2,data1-data2);

break;

case'*':

/*

处理乘法*/

printf("%d*%d=

%d\n",data1,data2,data1*data2);

break;

case'/':

/*

处理除法*/

if(0==data2)/*

为避免出现溢出错误,检验除数是否为0*/

printf("Divisionbyzero!

'n");

else

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

default:

printf("Unknownoperator!

\n”);

}

}

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

#include

voidmain()

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

printf(“pleaseinputnumber”);

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

{scanf(“%d”,&a[i]);

if(a[i]>0)

p++;

elseif(a[i]<0)

n++;

elsez++}

printf("正数:

%5d,负数:

%5d,零:

n”,p,n,z);

}

}

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

#include

voidmain()

{inti;

longsum=1;

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

printf(“thesumofoddis:

%ld”,sum);}

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

#include

voidmain()

{

inta[10],i,s=0;

floatave;;

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

scanf(“%d',&a[i]);

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

sum+=a[i];

ave=(float)sum/10;

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

}

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

#include

voidmain()

{inti,sum=0;

for(i=1;i<1000;i=i+2)sum=sum+i;

printf(“thesumofoddis:

%d”,sum);

}

18.有一个分数序列:

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

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

#include

voidmain()

{

inti,t,n=20;

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

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

{s=s+a/b;

t=a;

a=a+b;

b=t;

}

printf("sum=%6.2f',s);

}

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

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

出来。

#include

voidmain()

{inta[5],s=0;

inti;

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

scanf(“%d,&a[i]);

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

s=s+a[i];

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

}

20、用循环的方法构造一个5行5列的二维数组,使主对角线上的变量为1,其它为

0,并将数组中所有项按行按列显示出来。

#include

voidmain()

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

for(i=0;i<5;i++)for(j=0;j<5;j++)

if(i==j)

a[i][j]=1;

else

a[i][j]=0;

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

{for(j=0;j<5;j++)

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

printf(“\n”);

}

21•求一个3X3矩阵主对角线元素之和。

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

#inelude

voidmain()

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

inti,j;

printf("Enterdata:

\n");

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

for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

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

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

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

*

**

***

****

*****

#include

voidmain()

{inti,k,n;

printf("Enternumber:

\n");

scanf("%d",&n);

for(i=1;i<=n;i++)/*控制行数*/

{for(k=1;k<=i;k++)/*控制每行输出的*号个数*/

printf("*");

printf("\n");}/*输出一行后换行*/

}

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

(提示:

用数组存放成绩数据)

#include

#defineM30voidmain()

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

inti;

printf(“pleaseinputscore:

\n”);

for(i=0;i

scanf(“%f”,&score[i]);

max=score[0];

min=score[0];

aver=score[0];

for(i=1;i

{if(max

if(min>score[i])min=score[i];

aver+=score[i];

}

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

}

24.从键盘输入某班学生某门课的成绩及其学号(班级人数最多40人,具体人数由

键盘输入),输出该班最高分和最低分及其学生学号;并输出该班该课程的总分和平均分。

请编写程序。

#include

#defineARR_SIZE40

voidmain()

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

intn,i;

longmaxNum,minNum,num[ARR_SIZE];

printf("Pleaseentertotalnumber:

");

scanf("%d",&n);

printf("Pleaseenterthenumberandscore:

\n");

for(i=0;i

scanf("%ld%f",&num[i],&score[i]);

maxScore=score[0];minScore=score[0];

maxNum=num[0];minNum=num[0];

sum=score[0];

for(i=1;i

{if(score[i]>maxScore)

{maxScore=score[i];

maxNum=num[i];

}

elseif(score[i]

{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个元素的数组中的值(整数)按逆序重新存放。

例:

原来顺序为:

8、6、5、4、1,要求改为1、4、5、6、8

#defineN5

#include

voidmain()

{inta[N],i,temp;

printf(“enterarraya:

\n”);

for(i=0;i

scanf(“%d,&a[i]);

for(i=0;i

{temp=a[i];

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

a[N-i-1]=temp;

}

printf("\nNow,arraya:

\n”);

for(i=0;i

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

printf(“\n”);

}

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

#include

voidmain()

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

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

for(j=0;j<3;j++)

scanf(“%d,&a[i][j]);

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

for(j=0;j<2;j++)

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

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

{for(j=0;j<2;j++)

printf("%5d",b[i][j]);

printf("\n”);

}

}

(提示:

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

用数组存放成绩数据)

#include

voidmain()

{inta[10];

inti,j,temp;

printf("inputscore:

\n");

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

scanf("%d",&a[i]);

printf("\n");

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

for(j=0;j<9;j++)

if(a[j]

{temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

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

printf("%d,",a[i]);

}

30.定义一个5行3列的数组,从键盘输入各数组元素的值,计算各数组元素之和

#include

voidmain()

{inti,j,a[5][3];

printf(“Enterdata:

\n”);

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

for(j=0;j<3;j++)

scanf(“%d,&a[i][j]);

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

for(j=0;j<3;j++)

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

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

}

32、从键盘上输入一个4*3的整型数组,找出数组中的最小值及其在数组中的下标。

#include

voidmain()

{inta[4][3],i,j,min,m,n;

printf("Pleaseenterdata:

");

for(i=0;i<4;i++)

for(j=0;j<3;j++)

scanf(“%d,&a[i][j]);

min=a[0][0];

m=0;n=0;

for(i=0;i<4;i++)

for(j=0;j<3;j++)

if(a[i][j]

{min=a[i][j];

m=i;

n=j;

}

printf("themin

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

当前位置:首页 > 求职职场 > 简历

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

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