C语言练习题带详解答案81334Word格式.docx
- 文档编号:18815593
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:12
- 大小:18.06KB
C语言练习题带详解答案81334Word格式.docx
《C语言练习题带详解答案81334Word格式.docx》由会员分享,可在线阅读,更多相关《C语言练习题带详解答案81334Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
lnputerror!
\n"
);
3^已知函数y二f(x),编程实现输入一个x值,输出y值。
{
2x+l(x<
0)
y二0(x=0)
2x-l(x>
#inelude<
voidmain()
{intx,y;
scanf(“%d"
&
x);
if(x<
0)y=2*x+l;
elseif(x>
0)y=2*x-l;
elsey二0;
%d〃,y);
4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:
score>
90,等级为A;
80<
score<
90,等级为B;
70<
80,等级为C;
60<
70,等级为D;
score<
60,等级为E。
voidmain(){
intdata;
chargrade;
Pleaseenterthescore:
"
scanf("
%d,,/&
data);
switch(data/10)
{case10:
case9:
grade二TV;
break;
case8:
grade二〃B〃;
case7:
grade二C;
case6:
grade=,Dz;
default:
grade=,Ez;
thegradeis%c"
grade);
5.编一程序每个月根据每个月上网时间计算上网费用,计算方法
如下:
30元<
10小时
费用斗每小时3元10-50小时
每小时2.5元250小时
要求当输入每月上网小时数,显示该月总的上网费用(6分)
{inthour;
floatfee;
pleeseinputhour:
%d,:
&
houij;
if(hour<
=10)
fee二30;
elseif(hour>
=10&
hourv二50)
fee=3*hour;
elsefee二hour*;
printf(/zThetotalfeeis%f"
fee);
6.从键盘输入20个整数,统计其中正数、负数和零的个数,并在屏
幕上输出。
voidmain(){
inta,i,p=0,n二0忆二0;
pleaseinputnumber"
for(i=0;
i<
10;
i++){
scanfC^d/^&
a);
if(a>
0)p++;
elseif(a<
0)n++;
elsez++;
正数:
%5d,负数:
%5d,零:
%5d\n"
/p,n,z);
7、编程序实现求1-10之间的所有数的乘积并输出。
$
{inti;
longsum=l;
for(i=l;
i<
=10;
i=i+l)
sum=sum*i;
thesumofoddis:
%Id^sum);
8.从键盘上输入20个数,求其平均值。
inta,i,sum=O;
floatave;
;
%d"
sum+=a;
ave=(float)sum/10;
printf(Have=%f\nMzave);
9、编程序实现求1-1000之间的所有奇数的和并输出。
{inti,sum=0;
1000;
i=i+2)
sum二sum+i;
prin廿("
%d^sum);
10.有一个分数序列:
小,3/2,昭,莎,13/8.……编程求这个序列的
前20项之和。
inti,t,n=2O;
floata=2,b=l,s=0;
for(i=l;
二n;
i++)
{s=s+a/b;
t=a;
a=a+b;
b=t;
printf(,,sum=%6.2f"
/s);
11.从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)
floatmax(floatx,floaty);
{floata,b,m;
scanfC^f^f^&
a^b);
m=max(a,b);
printf(uMaxis%f\n,,,m);
floatmax(floatx,floaty)
if(x>
=y)
returnx;
returny;
12.编写程序,其中自定义一函数,用来判断一个整数是否为素数,
主函数输入一个数,输出是否为素数。
#inelude<
intlsPrimeNumber(intnumber)
{inti;
if(number<
=1)
for(i=2;
sqrt(number);
i++)
{if((number%i)==0)
}
return1;
{intn;
printf(zzPleaseinputn:
scanf(“%d"
n);
if(lsPrimeNumber(n))
printf(z/\n%disaPrimeNumber"
n);
elseprintf(z/\n%disnotaPrimeNumber"
13、从键盘输入n个数存放在数组中,将最小值与第一个数交换,输出交换后的n个数。
intmain(void){
inti,nJlndex,temp;
inta[10];
Entern:
scanff^d"
&
Enter%dintegers:
\n"
i<
n;
scanf(“%d“,&
a[i]);
ilndex二0;
ivn;
if(a[i]<
a[ilndex])ilndex二i;
temp=a[O];
a[O]=a[ilndex];
a[ilndex]=temp;
n;
p「intf(“%5d“,乱i]);
printfCXn"
第二种解法利用函数
#include<
intcomp(intarry[],intn)
inti」ndex,temp;
printf(u为数组赋值:
\nH);
{scanf(”%d”,&
3iry[i]);
for(i=l,index=0;
二n-l;
{if(arry[i]<
arry[index])
{index=i;
temp=arry[O];
arry[O]=arry[index];
arry[index]=temp;
{printf("
%d”刁rry[i]);
I
main()
{intn;
printf(“为n赋值:
scanfC^d"
comp(a,n);
14.用数组实现以下功能:
输入5个学生成绩,而后求出这些成绩的平均值并显示出来。
{inta[5]?
s=0;
inti;
for(i二0;
iv5;
scenf("
%d〃,&
s=s+a[i];
printf(//result=%f/;
s/;
15、输入一个正整数n(nv二6),再输入mm的矩阵,求其主对角线元素之和及副对角线元素之和并输出。
intmain(void){
intijzn,suml=0zsum2=0;
inta[6][6];
Entern(n<
=6):
H);
scanf(“%cT,&
printf(HEnterdata:
for(j=0;
j<
j++){
senf(“%d“,&
a[i][j]);
suml+=a[i][j];
if(i+j==n-l)
sum2+=a[i][j];
printf(,,suml=%d,sum2=%d,,/suml,sum2);
16、从键盘输入30名学生的成绩数据,求其中的最高分、最低分和平均分。
(提示:
用数组存放成绩数据)
#includeo
#defineM30
voidmain()
{floatscore[M],max,min,aver;
pleaseinputscore:
\n"
for(i二0;
M;
%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"
];
aver+=score[i];
printf(zzmax=%f,min二%f,aver=%f,z,max,min,aver/M);
17.将一个有5个元素的数组中的值(整数)按逆序重新存放。
例:
原来顺序为:
8、6、5、4、1,要求改为1、4、5、6、8
#defineN5
{inta[N],i,temp;
printf(/zenterarraya:
for(i=0;
N;
i++)scanf(“%d"
ivN;
{temp=a[i];
a[N-i-l]=temp;
printf(/z\nNow,arraya:
\nw);
printf("
%4d%[i]);
\n〃);
18.从键盘上输入一个2*3的矩阵,将其转秩后形成3*2的矩阵输出。
{inta[2][3],b[3][2]JJ;
2;
for(j二O;
jv3;
j++)
3;
b[i]UJ=a[j][i];
{for(j二O;
jv2;
p「intf(“%5d”,b[i][j]);
Xn"
19、从键盘输入10名学生的成绩数据,按成绩从高到低的顺序排列并输出。
{inta[10];
intijtemp;
inputscore:
scanfC^d^&
ali]);
printfC'
9;
if(a[j]<
aU+U)
{temp=a[j];
aU]=aU+l];
a[j+l]=temp;
printf(”%d,”,3[i]);
}20、从键盘上输入一个4怡的整型数组,找出数组中的最小值及其
在数组中的下标。
{inta[4][3],i,j,min,m,n;
printf(HPleaseenterdata:
1'
for(i=0;
4;
for(j=0;
j<
j++)scanf("
&
min=a[O][O];
m=0;
n二0;
for(i二0;
j++)
if(a[i][j]<
min)
{min=a[i][j];
m=i;
n二j;
theminis%d\n,min);
posionis%d%d\n,m,n);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习题 详解 答案 81334