![程序设计基础(C语言)上机指导与习题集-习题参考答案_第1页](http://file4.renrendoc.com/view10/M03/1F/09/wKhkGWWcwAyAdqdnAADXAbaJ-Wc973.jpg)
![程序设计基础(C语言)上机指导与习题集-习题参考答案_第2页](http://file4.renrendoc.com/view10/M03/1F/09/wKhkGWWcwAyAdqdnAADXAbaJ-Wc9732.jpg)
![程序设计基础(C语言)上机指导与习题集-习题参考答案_第3页](http://file4.renrendoc.com/view10/M03/1F/09/wKhkGWWcwAyAdqdnAADXAbaJ-Wc9733.jpg)
![程序设计基础(C语言)上机指导与习题集-习题参考答案_第4页](http://file4.renrendoc.com/view10/M03/1F/09/wKhkGWWcwAyAdqdnAADXAbaJ-Wc9734.jpg)
![程序设计基础(C语言)上机指导与习题集-习题参考答案_第5页](http://file4.renrendoc.com/view10/M03/1F/09/wKhkGWWcwAyAdqdnAADXAbaJ-Wc9735.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计基础(C语言)习题参考答案
习题1
一、单项选择题
12345678910
BBCBCDCBBA
11121314151617181920
BCABCCDDAB
二、填空题
12345
C89
编译器编辑器发现并修正错误
Cll
678910
printf()scanf()stdio.h函数体函数
三、判断题
12345678910
错对错错对对对对错错
四、编程题
略
习题2
单项选择题
12345678910
BBCDCDCAAA
11121314151617181920
DCDBBADACC
二、填空题
12345
0399符号常量double
678910
6.50183013
三、判断题
12345678910
错错错错错错对错错错
四、编程题
1、
■C:\WINOOWSVyrtEJ2Umde»e
a=61,b=62
cl二a,c2二b
d=3.56,e=-6.87
f=3157.890121,g=0.123456789000
m二50000,n=-60000
【)二32768,d-40000
①请按任意键继续...
■CAWNDOWS\tyMwn3Acmd<w□
0=50000,b=-60000
cl=,c2=>
:d=3157.89,e=6.87
f=3157.890121,g=0.123456789000
m-50000,n=-60000
p=50000,q=4294907296
请按任意键继续...■
I*A«K\WWP0W9«yMmKTxmdnv
61,62,a,b,3,56,-6.87,3157.890121,0.123456789,50000,-60000,37678,40000
g61,b=62
cl=a,c2=b
d=3.56,e=-6.87
f=3157.890121,g=0.123456789000
m=50000,n-60000
p-37678,q=40000
③国按任意键继续...■
g|C\WIHDOMS\«yM»mVMmilnr□X
61.62,a,b,3,56,6.87,3157.890121,0.123456789,50000,60000,37678,40000:
si=61,b-62
cl=a,c2=b
d=3.560000,e=-6.869999885559
厂3157.890121,g=0.123457
m-50000,n=-60000
—37678,q=40000
公清按任意键继续.•.
④V
■<AVMDOWMv«temlAca>dne丁
61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,37678,40000
a=61,b62
cl=a,c2=b
d:3.560000,e=-6.869999885559
「3157.890121,g0.123457
m=50000,n=-60000
I)=1H456,q=l16100
请按任意键继续...
■,-
61,62,a,b,3.56,-6.87,3157.890121,0.123156789,50000,-60000,37678,40000
H^>IJI-62
|cl=a,c2=b
d=3.560000,e=6.869999885559
门-92559605387113434000000000000000000000000000000000000000000000.000000,g-9255960399190
717500000000000000(XX)0000(X)000000(XX)(X)0(MX)0000000.000000
m50000.11-60000
p=i11456.g=li6100
⑥请按任意犍维续....
2、
include<stdio.h>
intmain()
(
intags,b,q;
scanf("%d"z&a);
g=a%10;
s=a%100/10;
b=a%1000/100;
q=a/1000;
printf("g=%d,s=%d/b=%d/q=%d"zg,s/b,q);
return0;
}
习题3
单项选择题
12345678910
cABABBCADD
11121314151617181920
BDCBBDCCCB
二、填空题
12345
第一空第二空
num/10%10num%10
&a,&b,&ca-b
或或20+30=5070,72,FHa=70,b=72
a+b+ca-b
num%100/10num-a*100-b*10
或
(num-a*100)/10
678910
BBBBFa-u=2,b-u=1459y=3,x=2
三、判断题
1*2345678910
对错对错错错对错错错
*扩展知识——%*d的使用:
在C语言中%*d表示忽略第一个整数,而%*d中的*是一个标志符号,用来表示跳过它相应数据,使
下一个输入的内容复制给紧接着的变量。
四、编程题
1、
#include<stdio.h>
intmain()
(
chara,b;
a=getchar();
printf("a=%c\n"/a);
return0;
)
include<stdio.h>
intmain()
(
chara,b;
scanf("%cH,&b);
putchar(b);
return0;
)
2、
include<stdio.h>
intmain()
(
chars,sl,s2;
scanf(“%c”,&s);
sl=s-l;
s2=s+l;
printf("sl=%c,s=%c/s2=%c\n"/sl,s,s2);
printf("sl=%d,s=%d,s2=%d\n",sl,s,s2);
return0;
习题4
选择题
12345678910
cCDDDDCADD
11121314151617181920
AAADACAABC
二、填空题
12345
result==0break
02330
result==2default
678910
58585813a=2,b=10
三、判断题
12345678910
对对错错对错错错错错
四、编程题
1、
include<stdio.h>
intmain()
(
intx,y;
if(x>=0)
y=3*x+6;
else
y=-(x*x)+2*x+8;
printf("x=%d\n"zx);
return0;
}
2、
/include<stdio.h>
intmain()
(
intx,y;
floatm;
printf("输入字数:");
scanf("%d",&x);
printf("输入加急否(1加急/0普通)");
scanf(”%d”,&y);
if(x>=0&&y==0)
{m=x*0.75;
printf("m=%.2f",m);}
elseif(x>=0&&y==l)
{m=x*0.75*2;
,,
printf('m=%.2f'/m);}
else
printf("输入错误”);
return0;
)
3、
include<stdio.h>
intmain()
intx;
printf("输入班级(21-26):");
scanf("%dH,&x);
switch(x)
case21:printf("人数=45");break;
case22:printf("人数=51");break;
case23:printf("人数=48");break;
case24:printf("人数=46");break;
case25:printf("人数=48");break;
case26:printf("A^=52");break;
)
return0;
)
习题五
一、选择题
12345678910
BBACADCDCB
11121314151617181920
ACCABDACDC
二、填空题
12345
第一空第二空
第一空第二空a!=bbreak
1.0/i/isqrt(6*s)
i<=200&&sum<=100continue
&&或1.0/(i*i)scanf("%d%d",&a,&b)i>20
或sum<=100
678910
8
5B6120
0
三、判断题
1*2345678910
对错对错对错对错错错
四、编程题
(1)
#include<stdio.h>
intmain()
(
intn,i,j,k;
printf("请输入n(n<13):");
scanf(“%d,&n);
for(i=l;i<=n;i++)〃上三角形共n行
(
for(j=l;j<=(n-i);j++)〃每行先输出n-i个空格
printf(n");
for(k=l;k<=(2*i-l);k++)〃每行输出2*i-l个星号
printf("*");
printf("\n");
)
for(i=l;i<=n-l;i++)〃下三角形有n-1行
(
for(j=l;j<=i;j++)
printf(n");
for(k=l;k<=(2*n-2*i-l);k++)
printf("*");
printfCXn'1);
)
return0;
)
(2)
include<stdio.h>
intmain()
{
inti;
for(i=2;i<=9;i++)〃循环判断2〜9有没有同构数
if(i==i*i%10)
printf("同构数%d是%€1右边的数\n",i,i*i);
}
for(i=10;i<=99;i++)〃循环判断10〜99有没有同构数
(
if(i==i*i%100)
printf("同构数%d是%(1右边的数\n,i,i*i);
)
return0;
}
(3)
include<stdio.h>
include<math.h>
intmain()
(
intn=0zs=l;
doublexzitem,sum=0;
scanf(“%lf“,&x);
item=x;〃item为泰勒级公式当前项,初始设为第一项
while(fabs(item)>=le-5)
(
sum=sum+item;〃将当前项加入总和
n++;〃项数+1
s=(2*n+l)*2*n;〃分母中比前项多出的两项的乘积
item=(-l)*item*x*x/s;〃在前项基础上计算当前项
}
sum=sum+item;〃加入最后一项
n++;
printf("sin(%lf)=%lf,累计d%d项\n”,x,sum,n);
return0;
)
习题6
一、单项选择题
12345678
DCDBCDAB
9101112131415
CBDCCCC
二、填空题
1234567
0初始化&a[i]a[i]aa[i][i]a/100%10
i%4==0i++aa[i][3-i]aa[i]=aa[i]%10
printf("\n”)bU]sum/ni<2
j++x[i]<ave
三、判断题
123456
错对对对错错
789101112
错错错错对错
四、编程题
1、参考程序
#include<stdio.h>
#include<stdlib.h>
#defineM10
intmain()
{
int
for(i=0;i<M;i++)
scanf(n%dn,&a[i]);
for(i=0;i<M-1;i++)
for(j=0;j<M-l-i;j++)
if(a[j]<aLj+l])
(
t=a[j];
a[j]=a[j+l];
a[j+l]=t;
)
for(i=0;i<M;i++)
printf(n%dn,a[i]);
system,pause");
return0;
)
2、参考程序
#include<stdio.h>
#include<stdlib.h>
#defineM10
intmain()
(
inta[M],i,t;
for(i=0;i<M;i++)
scanf("%d”,&a[i]);
for(i=0;i<M/2;i++)
(
t=a[i];
aLiJ=a[M-l-i];
a[M-l-i]=t;
)
for(i=0;i<M;i++)
printf(u%dn,a[i]);
system("pauseu);
return0;
)
3、参考程序
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain()
{
charstr[5][80],t[80];
inti,j;
for(i=0;i<5;i++)
gets(str[i]);
for(i=0;i<4;i++)
for(j=i;j<5;j++)
if(strcmp(str[i],str|j])>0)
(
strcpy(t,str[i]);
strcpy(str[i],strfj]);
strcpy(str[j],t);
)
for(i=0;i<5;i++)
puts(str[i]);
system(^'pause'^);
return0;
)
4、参考程序
#include<stdio.h>
#include<stdlib.h>
intmain()
(
inta[5],n,i,j,t;
do
scanf("%d”,&n);
}while(n<10000||n>99999);
i=0;
while(n)
{
a[i]=n%10;
n=n/10;
i++;
)
for(i=0;i<4;i++)
for(j=i;j<5;j++)
if(a[i]<a[j])
(
t=a[i];
a[i]=a[j];
a[j]=t;
)
n=0;
for(i=0;i<5;i++)
n=n*10+a[i];
printf("%d\nH,n);
system(,,pauseH);
return0;
)
5、参考程序
#include<stdio.h>
#include<stdlib.h>
intmain()
(
inta[3][4],i,j,t,Max,pos;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf(M%dM,&a[i][j]);
for(i=0;i<3;i++)
(
Max=a[i][0];
pos=0;
for(j=1;j<4;j++)
if(a[i]fj]>Max)
{
Max=a[i]fj];
pos=j;
)
if(pos!=0)
t=a[i][O];
a[i][0]=a[i][pos];
a[i][posj=t;
)
)
for(i=0;i<3;i++)
(
for(j=0;j<4;j++)
printf(M%d\a[i][j]);
printf(u\nn);
)
system(npauseu);
return0;
)
6、参考程序
#include<stdio.h>
#include<stdlib.h>
#defineM3
#defineN4
intmain()
(
inta[M][N],b[N][M],i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf(n%dn,&a[i][j]);
for(i=0;i<N;i++)
for(j=0;j<M;j++)
b[i][j]=a[j][i];
for(i=0;i<N;i++)
(
for(j=0;j<M;j++)
printf("%dn,b[i][j]);
printf(u\nn);
)
system(,,pausen);
return0;
)
7、参考程序
#inckide<stdio.h>
#include<stdlib.h>
intmain()
(
charstrI[80],str2[80];
inti=0,j=0;
gets(strl);
while(strl[i]!=,\0,)
if(strl[i]%2==l)
(
str2[j]=strl[i];
j++;
)
i++;
)
str2[j尸\0,;
puts(str2);
systemCpause'*);
return0;
)
8、参考程序
#include<stdio.h>
#include<stdlib.h>
intmain()
(
charstr[80],str114]={'a'/e'/oVu,};
intnum[4]={0},i=0;
gets(str);
while(str[i]!='\0')
(
switch(str[i])
(
case'a':
num[0J++;
i++;
break;
caseV:
num[l]++;
i++;
break;
case'o':
num[2]++;
i++;
break;
caseU:
num[3]++;
i++;
break;
default:
i++;
)
)
for(i=0;i<4;i++)
printf("%c-----%d\nH,strl[i],num[i]);
system("pauseu);
return0;
习题7
一、单项选择题
12345678
ABADDDAA
9101112131415
CBBDBDB
二、填空题
12345
动态存储0不起作用(失效)预处理阶段运行
编译
6789
-fp=jsum=0voidchange(charstr[])
fsum(20)X&nstrlen(str)-1
三、判断题
12345678
对错错错错对错对
9101112131415
错对错错错错错
四、编程题
1、参考程序
#include<stdio.h>
#include<stdlib.h>
intisprime(intn)
(
intm;
for(m=2;m<n;m++)
if(n%m==O)
return0;
return1;
)
intmain()
(
intk,i=0;
for(k=5;k<=200;k+=2)
(
if(isprime(k))
(
printf("%4d",k);
i++;
if(i%5==0)
printf(,,\nn);
system(npauseu);
return0;
)
2、参考程序
#include<stdio.h>
#include<stdlib.h>
intisprime(intn)
(
intm;
for(m=2;m<n;m++)
if(n%m==0)
return0;
return1;
)
intmain()
{
intk,l;
for(k=6;k<=200;k+=2)
(
for(l=3;l<=k/2;l++)
if(isprime(l)&&isprime(k-l))
printf(n%d=%d+%d\nn,k,l,k-l);
)
system(^'pause'^);
return0;
)
3、参考程序
#include<stdio.h>
#include<stdlib.h>
floatave(floata[],intn)
{
inti;
floatsum=0;
for(i=0;i<n;i++)
sum+=a[i];
returnsum/n;
)
intmain()
(
inti;
floata[IOJ,ave1;
for(i=0;i<10;i++)
scanf("%f\&a[ij);
avel=ave(a,10);
for(i=0;i<10;i++)
if(a[i]<avel)
primf("%f\a[i]);
system("pausen);
return0;
)
4、参考程序
#include<stdio.h>
#include<stdlib.h>
#defineM4
voidinput(inta[M][MJ)
(
inti,j;
for(i=0;i<M;i++)
for(j=0;j<M;j++)
scanf("%dn,&a[i][j]);
)
intisduichen(inta[M][M])
(
inti,j;
for(i=0;i<M;i++)
for(j=0;j<M;j++)
if(a[i]U]!=aU][i])
retum0;
return1;
)
5、参考程序
#include<stdio.h>
#include<stdlib.h>
intisshuixianhua(intn)
(
inta,b,c;
a=n%10;
b=n/10%10;
c=n/100;
if(n二二a*a*a+b*b*b+c*c*c)
return1;
else
return0;
)
intmain()
(
inti;
for(i=100;i<1000;i++)
if(isshuixianhua(i))
printf(n%d\n",i);
system,pause");
return0;
6^参考程序
#include<stdio.h>
#include<stdlib.h>
intnum(intn)
(
intm=O,gewei,k;
gewei=n%10;
while(n)
(
k=n%10;
if(k==gewei)
m++;
n=n/10;
)
returnm;
)
intmain()
(
intk;
scanf(n%du,&k);
printf(,,%d\n',,num(k));
system(npauseu);
return0;
习题8
一、单项选择题
123456789
BAACABADA
1011121314151617
BCDBCAAD
二、填空题
12345
2a[2][3]a[3]返回指针的函数*(t+j)=*(t+i)
指向函数的指针*(t+j尸\(y
6789
*p>*sp=aPfi]=a[i]
x,5q-*(p[i]+3-i)
三、判断题
12345678
错错对错对对错错
9101112131415
错错对对对错错
四、编程题
1、参考程序
#include<stdio.h>
#include<stdlib.h>
#defineM10
voidsort(int*p,intn)
(
int
for(i=0;i<n-l;i++)
for(j=0;j<n-l-i;j++)
if(*(p+j)<*(p+j+l))
(
t=*(p+j);
*(p+j)=*(p+j+l);
*(p+j+l)=t;
intmain()
(
inta[M],i;
for(i=0;i<M;i++)
scanf(n%d';&a[i]);
sort(a,M);
for(i=0;i<M;i++)
printf("%dM,a[i]);
system("pausen);
return0;
)
2、参考程序
#include<stdio.h>
#include<stdlib.h>
#defineM10
voidchange(int*p,intn)
(
inti,t;
for(i=0;i〈iV2;i++)
(
t=*(p+i);
*(p+i)=*(p+M-1-i);
*(p+M-l-i)=t;
)
)
intmain()
(
int
for(i=0;i<M;i++)
scanf(',%d,,,&a[ij);
change(a,M);
for(i=0;i<M;i++)
printf("%dn,a[i]);
system(npauseu);
return0;
}
3、参考程序
#include<stdio.h>
#include<stdlib.h>
intmain()
(
inta[3J[4J,i,j,t,Max,pos;
int*p[3];
for(i=0;i<3;i++)
p[i]=a[i];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf(M%dn,p[i]+j);
for(i=0;i<3;i++)
(
Max=*(p[il+0);
pos=0;
for(j=l;j<4;j++)
if(*(p[i]+j)>Max)
Max=*(p[i]+j);
pos=j;
)
if(pos!=0)
(
t=*(p[i]+O);
*(p[i]+0)=*(p[i]+pos);
*(p[i]+pos)=t;
)
)
for(i=0;i<3;i++)
(
for(j=0;j<4;j++)
printf(n%dn*(p[i]+j));
printf(u\nn);
)
system("pauseu);
return0;
)
4^参考程序
#include<stdio.h>
#include<stdlib.h>
#defineM3
#defineN4
intmain()
(
inta[M][N],b[N][M],i,j,*p,*q;
p=&a[0][0];
q=&bl0J[0J;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf(,,%dM,p+i*N+j);
for(i=0;i<N;i++)
for(j=0;j<M;j++)
*(q+i*M+j)=*(p+j*N+i);
for(i=0;i<N;i++)
(
for(j=0;j<M;j++)
printf(M%d”,*(q+i*M+j));
printf("\nu);
)
system("pausen);
return0;
)
5、参考程序
#include<stdio.h>
#include<stdlib.h>
voidnewstr(char*p)
(
inti=0,j=0;
while(*(p+i)!='\0')
{
if(*(p+i)%2==l)
(
*(p+j)=*(p+i);
j++;
)
i++;
)
*(p+j)='\O';
)
intmain()
(
charstrl[8O];
gets(strl);
newstr(strl);
puts(str1);
system("pausen);
return0;
习题9
五、单项选择题
12345678910
ADABADACBA
1112131415
CABCD
六、填空题
12345
第一空第二空第一空第二空
->20结构体
sizeoftypedefenumunion
七、判断题
12345678910
对错错错对错对对对错
八、编程题
#include<stdio.h>
#include<string.h>
unionclass_score
(
intPEscore;〃体育课成绩
charDancescore;〃舞蹈课成绩
};
structStudentinfo
{
charname[10];〃姓名
charSD;〃性别;W,表示女性,,M俵示男性
intage;
unionclass__scorescore;
);
intmain()
(
structStudentInfostu_info[8]={
{“stu2”「ivr,19,94},
{"stuS'VM'^O^g},
{”stu4”「M',17,88},
{"stuS'VWMS/A'L
{"stue'VWMy/A'},
,
{"stu7";W',19;B}/
{"stuS'VWMS/B'}};
charname[10];
inti,flag=O;
printf("inputethenameofstudent:");
gets(name);
for(i=0;i<8;i++)
(
if(!strcmp(name,stu_info[i].name))
(
flag=1;
if(stu_info[i].SD=='M')
{
printf("thePEscoreof%s:%d\n"zstu_info[i].namezstuJnfo[i].score.PEscore);
}
else
{
printf("theDancescoreof%s:%c\n"zstu_info[i].name,stu_info[i].score.Dancescore);
)
break;
)
)
if(flag==0)
printf("Thestudent:%sisnotexisted.\n",name);
return0;
}
2、
#include<stdio.h>
#include<string.h>
typedefstructPhoneBook
(
charname[10];
charSD;〃性别,W女性男性
chartel_number[15];
JPHONEBOOK;
intmain()
{
PHONEBOOKmyphonebook[50];
intizN,flag=0;
charfriendname[10];
printf("inputthenumberoffriend:N=");
scanf(“%d”,&N);
getchar();
for(i=0;i<N;i++)
(
printf("inputthenameof%dthfriend:",i+1);
gets(myphonebook[i].name);
printf("inputtheSDof%dthfriend:(W/M)",i+1);
myphonebook[i].SD=getchar();
getchar();
printf("inputthetelephonenumberof%dthfriend:",i+1);
gets(myphonebook[i].tel_number);
)
printf("Nowinputthenameofyourfriendinquiried:");
gets(friendname);
for(i=0;i<N;i++)
if(!strcmp(friendname,myphonebook[i].name))
flag=1;
if(myphonebook[i].SD=='W')
printf("TheSDof%sisFemale.\n",friendname);
else
printf("TheSDof%sisMale.\n",friendname);
printf("Thetelephonenumberof%s:%s\n"/friendname,myphonebook[i].tel_number);
break;
)
)
if(flag==0)
(
N++;
strcpy(myphonebook[N-l].name,friendname);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年高中化学上学期第三周 氧化还原反应说课稿
- 7 我们有新玩法 说课稿-2023-2024学年道德与法治二年级下册统编版
- 2025二手车购买合同书
- 2025合同的履行、变更、转让、撤销和终止
- 14 《穷人》说课稿-2024-2025学年六年级语文上册统编版001
- 买方购车合同范本
- 公路修建合同范本
- 铺设碎石土路面施工方案
- 轻钢吊顶施工方案
- 路灯池施工方案
- 课件:《教育强国建设规划纲要(2024-2035年)》学习宣讲
- 课题申报参考:生活服务数字化转型下社区生活圈建设理念、模式与路径研究
- DCMM练习题练习试题
- 《工业化建筑施工阶段碳排放计算标准》
- 废旧保温棉处置合同范例
- 2024年数据编织价值评估指南白皮书-Aloudata
- 托育园老师培训
- 人教版八年级英语上册Unit1-10完形填空阅读理解专项训练
- 脊柱外科护理进修心得
- 4.1中国特色社会主义进入新时代+课件-2024-2025学年高中政治统编版必修一中国特色社会主义
- 护理工作中的人文关怀
评论
0/150
提交评论