编程题题库.docx
- 文档编号:11485248
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:23
- 大小:24.92KB
编程题题库.docx
《编程题题库.docx》由会员分享,可在线阅读,更多相关《编程题题库.docx(23页珍藏版)》请在冰豆网上搜索。
编程题题库
编程题:
1、根据矩形面积的计算方法,编写一个输入圆半径r,计算园周长L和圆面积S的程序。
注意判断圆半径r是否大于零。
#include
intmain()
{
floatr,s,l;
scanf("%f",&r);
s=3.14*r*r;
l=2*3.14*r;
if(r>0)
printf("s=%f\nl=%f\n",s,l);
else
printf("error\n");
return0;
}
2、输入三个整型数据,判断这三个整型数据能否围成三角形,如果能组成三角形,计算并输出它的面积,如果不能围成三角形输出“三条边不能围成三角形”。
#include
#include
voidmain()
{
floatP,S,a,b,c;
scanf("%f,%f,%f",&a,&b,&c);
if((b+c)>a&&(a+c)>b&&(a+b)>c)
{
P=(a+b+c)/2;
S=sqrt(P*(P-a)*(P-b)*(P-c));
printf("S=%6.2f",S);
}
else
printf("itisnotatrilateral");
}
3、输入一个百分制成绩,输出对应的等级。
90·100:
A,80~89:
B,70~79:
C,60~69D,不及格为E。
#include
intmain()
{
intx;
printf("输入\n");
scanf("%d",&x);
if(x>100||x<0)
printf("error");
switch(x/10)
{
case10:
printf("a\n");break;
case9:
printf("a\n");break;
case8:
printf("b\n");break;
case7:
printf("c\n");break;
case6:
printf("d\n");break;
default:
printf("e\n");
}
return0;
}
4、编程实现
。
#include
voidmain()
{
floatx,y;
printf("输入x值:
");
scanf("%f",&x);
if(x>=0)
if(x>0)y=2*x+1;
else
y=0;
else
y=-x-1;
printf("x=%f,y=%f\n",x,y);
}
5、求
(即求
)(程序代码和运行结果可写在指导书背面)。
#include
voidmain()
{
intscore,number;
longinti,j,sum=1,total=0;
for(i=1;i<=10;i++)
{
for(j=1;j<=i;j++)
{
sum=sum*j;
}
printf("%d的阶乘是%1d\n",i,sum);
total=total+sum;
sum=1;
}
printf("%d阶乘的总和是%1d:
\n",i,total);
}
6、输入10个数,用“冒泡法”对10个数排序(由小到大)。
#include
main()
{
inta[10],i,j,t;
printf("Input10numbers:
\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("beforesorting:
\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
printf("\naftersorting:
\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
}
7、有一篇文章,共有3行文字,每行80个字符。
要求分别统计出其中英文字母和数字的个数。
#include
intmain()
{inti,j,upp,low,dig,spa,oth;
chartext[3][80];
upp=low=dig=spa=oth=0;
for(i=0;i<3;i++)
{printf("pleaseinputline%d:
\n",i+1);
gets(text[i]);
for(j=0;j<80&&text[i][j]!
='\0';j++)
{if(text[i][j]>='A'&&text[i][j]<='Z')
upp++;
elseif(text[i][j]>='a'&&text[i][j]<='z')
low++;
elseif(text[i][j]>='0'&&text[i][j]<='9')
dig++;
elseif(text[i][j]=='')
spa++;
else
oth++;
}
}
printf("\nuppercase:
%d\n",upp);
printf("lowercase:
%d\n",low);
printf("digit:
%d\n",dig);
printf("space:
%d\n",spa);
printf("other:
%d\n",oth);
return0;
}
8、写一个函数,使给定的3*3的二维整型数组转置,即行列互换。
要求输出转换之前和转换之后的结果。
#include
voidzz(int(*a)[3]);
intmain()
{
intb[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
scanf("%d",&b[i][j]);
}
zz(b);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d\t",b[i][j]);
printf("\n");
}
return0;
}
voidzz(int(*a)[3])
{
intt,i,j;
for(i=0;i<3;i++)
{
for(j=0;j
{
t=*(*(a+i)+j);
*(*(a+i)+j)=*(*(a+j)+i);
*(*(a+j)+i)=t;
}
}
return;
}
9、输入3个学生4门课的成绩,分别用函数实现以下功能:
(1)计算每个学生的平均分。
(2)计算每门课的平均分。
(3)找出12个分数中最高分数所对应的学生和课程。
#include
intav(inta[3][4],intb)
{
inti,s=0;
for(i=0;i<4;i++)
s+=a[b][i];
s=s/4;
returns;
}
intav2(inta[3][4],intb)
{
inti,s=0;
for(i=0;i<3;i++)
s+=a[i][b];
returns/3;
}
intmax(inta[][4],int*p1,int*p2)
{
ints,i,j;
s=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(a[i][j]>s)
s=a[i][j],*p1=i,*p2=j;
returns;
}
voidmain()
{
inti,j,b=0,c=0,d,a[3][4];
int*p1,*p2;
p1=&b,p2=&c;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
printf("请输入第%d个学生%d次成绩",i+1,j+1),
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
printf("第%d个学生的平均成绩为%d\n",i+1,av(a,i));
for(i=0;i<4;i++)
printf("第%d门课程的平均分为%d\n",i+1,av2(a,i));
d=max(a,p1,p2);
printf("分数最高的为%d是第%d学生的第%d门课程\n",d,b+1,c+1);
}
10、用函数实现两个变量值的交换,使其在主调函数和被调函数中的值一致,并且返回这两个变量的和以及乘积。
要求用指针变量作为函数参数。
#include
voidfun(int*a,int*b)
{
inttemp;
temp=*a;
*a=*b;
*b=temp;
}
main()
{
inta=1;
intb=2;
fun(&a,&b);
printf("a=%d,b=%d\n",a,b);
}
11、编写函数intfind(int*p,intn,intx),在指针p所指的数组中查找整型数x,如果x在数组中,则该函数返回1,否则返回0。
n为数组的大小。
编写主函数测试之。
#include
intfind(int*p,intn,intx)/*如果在长度为n的整型数组p中找到了整数x,则返回0,否则返回1*/
{
inti;
for(i=0;i if(p[i]==x){return0; } } return1; } intmain(void){ inta[5],i,x; for(i=0;i<5;i++){ scanf("%d",a+i); } printf("输入一个要查找的整数: "); scanf("%d",&x); if(find(a,5,x)){ printf("%d不在这个数组中! \n",x); } elseprintf("%d在这个数组中! \n",x); return0; } 12、编写并调试程序: 功能是打印100以内个位数为6且能被3整除的所有数。 #include voidmain() { inti; for(i=1;i<=100;i++) { if(i%10==6&&i%3==0) printf("%d\n",i); } } 13、编写并调试程序: 编写一函数,实现从大到小的冒泡法排序功能。 主函数中从键盘上输入10个数,赋给一个数组,把该数组作为参数,调用刚才编写的函数,并在主函数中输出结果。 #include"stdio.h" #include"conio.h" voidbubbleSort(inta[],intn) { inti,j,temp; for(i=0;i<9;i++) { for(j=9;j>=i+1;j--) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 题库