安徽省二级c语言上机试题.docx
《安徽省二级c语言上机试题.docx》由会员分享,可在线阅读,更多相关《安徽省二级c语言上机试题.docx(28页珍藏版)》请在冰豆网上搜索。
安徽省二级c语言上机试题
1:
改错:
输出小于2012的最大10个素数,如2011,2003,1999,1997,1993………等。
#include
voidmain()
{
inti,j,flag,n;
n=0;
i=2012;
while(n<=10)/*$ERROR1$*/
{
flag=0;
for(j=2;j
if(i/j==0)/*$ERROR2$*/
{
flag=1;
break;
}
if(flag>=0)/*$ERROR3$*/
{
n=n+1;
printf("%d\n",i);
}
i=i-1;
}
}
答案:
While(n<10)
If(i%j==0)
If(flag==0)
2:
程序填空:
将在字符串t中而为在字符串s中的字符顺序存放到一个新的字符u中。
如当s=12345,t=2468时,u中的字符为“68”
#include
#include
voidmain()
{
chars[80]="12345",t[80]="2468",u[80];
inti,j,p,len1,len2;
p=____;/*$BLANK1$*/
len1=strlen(t);
len2=strlen(s);
for(i=0;i{
for(j=0;jif(t[i]==s[j])break;
if(j>=len2)
{
u[p]=____;/*$BLANK2$*/
p++;
}
}
u[p]=____;/*$BLANK3$*/
printf("%s\n",u);
}
答案:
0
t[i]
\0
3:
程序设计:
[三色球问题]若一个口袋中方有12的球,3的红色,3的白色,6个黑色。
从中任取8个球,求共有多少种不同的颜色搭配。
如1红,3白,4黑。
等。
输入格式:
count=123
#include
voidPRINT(intn)
{
FILE*out;
printf("count=%d\n",n);
if((out=fopen("K:
\\24000101\\RESULT.DAT","w+"))!
=NULL)
fprintf(out,"count=%dp",n);
fclose(out);
}
voidmain()
{
intr,w,b;
intn=0;
for(r=0;r<=3;r++)
for(w=0,w<=3,w++)
for(b=0;b<=6;b++)
if(r+w+b==8)n++;
PRINT(n);
}
1:
改错
#include
voidmain()
{
inti,j;
i=1;
while(i<6)
{
for(j=1;j<6-i;j++)
printf("");
j=1;/*$ERROR1$*/
while(j>=1)
{
printf("%d",i);/*$ERROR2$*/
--j;
}
printf("/n");/*$ERROR3$*/
i++;
}
}
答案:
J=I;
Printf(“%d”,j)
Printf(“\n”)
2:
程序填空
#include
floatsum(floatq)
{
intN=1;
floatSN=0;
while(SN__q)/*$BLANK1$*/
{
SN=SN+1.0*(N+1)/N;
____;/*$BLANK2$*/
}
returnSN;
}
voidmain()
{
floatq;
printf("Inputq:
");
scanf("%f",&q);
printf("%f\n",_____);/*$BLANK3$*/
}
答案:
<=
N++
sum(q))
3程序设计
#include
voidPRINT(longsum)
{
FILE*out;
printf("sum=%ld\n",sum);
if((out=fopen("K:
\\24000101\\RESULT.DAT","w+"))!
=NULL)
fprintf(out,"sum=%lds",sum);
fclose(out);
}
voidmain()
{
Iongsum=0;intI,n,flag;
for(i=100;i<2011;i++)
{flag=0;
n=i;
do{
if(n%10==5)
{
flag=1;
break;
}
elsen=n/10;
}while(n>0);
if(flag&&i%3==0)
sum+=i
}
PRINT(sum);
}
1:
改错
#include
#defineN4
#defineM5
voidmain()
{
inti,j;
floatscore,firstscore,max;
for(i=1;i<=M;i++)
{
printf("\nPleaseinputscoreofcourseno%d:
",i);
scanf("%f",firstscore);/*$ERROR1$*/
max=&firstscore;/*$ERROR2$*/
for(j=2;j<=N;j++)
{
scanf("%f",&score);
if(score>max)
score=max;/*$ERROR3$*/
}
printf("\nThemaxscoreofcourseno%dis:
%f",i,max);
}
}
答案;
2:
程序填空
#include
intfun(intn)
{
inti,sum=0;
for(i=2;i<_____;i++)/*$BLANK1$*/
if(_____)sum=sum+i;/*$BLANK2$*/
returnsum;
}
voidmain()
{
intn;
printf("Inputn:
");
scanf("%d",&n);
printf("%d\n",_____);/*$BLANK3$*/
}
答案:
3程序设计
1:
改错:
#include
intgetMaxFromArray(inta[],intn)
{
inti,max;
max=1;/*$ERROR1$*/
for(i=1;i{
if(a[i]>a[max])
max=i;
}
returni;/*$ERROR2$*/
}
voidmain()
{
inta[10]={13,1,-5,4,9,0,-8,7,-6,2};
intmax;
max=getMaxFromArray(a);/*$ERROR3$*/
printf("max=%d,address=%d\n",a[max],max);
}
答案:
2:
程序填空
#include
voidmain()
{
charstr[80],*ch;
intflag=1;
printf("Pleaseinputastring:
\n");
gets(str);
ch=____;/*$BLANK1$*/
while(*ch)
{
if(*ch=='')flag=1;
else
{
if(flag==____&&*ch>='a'&&*ch<='z')/*$BLANK2$*/
*ch=*ch-32;
flag=0;
}
____;/*$BLANK3$*/
}
printf("%s\n",str);
}
3:
程序设计
1:
改错
#include
intsum(intn)
{
inti,s;
s=1;/*$ERROR1$*/
for(i=1;i<=n;i++)
s=s+i;
returns;
}
voidmain()
{
inti,n;
longs;
printf("\nPleaseinputn:
");
scanf("%d",n);/*$ERROR2$*/
s=0;
for(i=1;i<=n;i++)
s=sum(i);/*$ERROR3$*/
printf("\nTheresultis%ld\n",s);
}
答案:
2:
程序填空
#include
voidfun(ints[],int*n)
{
inta,b,c,i;
for(i=100;i<=999;i++)
{
a=______;/*$BLANK1$*/
b=i/10%10;
c=i%10;
if(a+b+c==9)
{
s[*n]=i;
______;/*$BLANK2$*/
}
}
}
voidmain()
{
ints[50],n=0,i;
fun(_____);/*$BLANK3$*/
for(i=0;iprintf("%d",s[i]);
printf("\n");
}
答案:
3;程序设计
1:
改错
#include
structcar
{charid[12];
intscore;
};
voidmain()
{
inti,n=0;
carc[6]={{"A-QQ111",8},/*$ERROR1$*/
{"A-TT222",12},
{"B-WJ333",12},
{"C-LC444",5},
{"F-PC555",6},
{"B-MY666",12}};
printf("id\tscore\n");
i=0;
while(i<6)
{
if(score>=12)/*$ERROR2$*/
{
printf("%s\t%d\n",c[i].id,c[i].score);
n--;/*$ERROR3$*/
}
i++;
}
printf("n=%d\n",n);
}
2:
程序填空
#include
#include
voidmain()
{
chars[80];
inti=0,a[5]={0};
printf("Pleaseinputastring:
\n");
gets(____);/*$BLANK1$*/
while(s[i]!
=_____)/*$BLANK2$*/
{
switch(toupper(s[i]))
{
case'A':
a[0]++;break;
case'E':
a[1]++;break;
case'I':
a[2]++;break;
case'O':
a[3]++;break;
case'U':
a[4]++;break;
}
______;/*$BLANK3$*/
}
for(i=0;i<5;i++)
printf("%d",a[i]);
printf("\n");
}
3:
程序设计
1:
改错
#include
longf(intn)
{
if(n=1||n=2)/*$ERROR1$*/
return1;
else
returnf(n-1)-f(n-2);/*$ERROR2$*/
}
voidmain()
{
longm;
intn;
printf("\nPleaseinputn:
\n");
scanf("%d",n);/*$ERROR3$*/
if(n>0)
{
m=f(n);
printf("%ld\n",m);
}
elseprintf("Dataerror\n");
}
2:
程序填空
#include
#include
voidfun(chars[])
{
inti,j;
for(i=0,j=0;s[i]!
=_____;i++)/*$BLANK1$*/
if(s[i]<'0'||s[i]>'9')
s[j++]=s[i];
s[j]=____;/*$BLANK2$*/
}
voidmain()
{
charstr[80];
printf("Inputastring:
\n");
gets(_____);/*$BLANK3$*/
fun(str);
puts(str);
}
3:
程序设计
1:
改错
#include
intsort(inta[],intlenth)
{
inti,t;
if(lenth<0)
return-1;
for(i=0;i{
t=a[0];/*$ERROR1$*/
a[i]=a[lenth-i-1];
a[lenth-i-1]=t;
}
return1;/*$ERROR2$*/
}
voidmain()
{
inta[10]={1,2,3,4,5,6,7,8,9,10};
inti,nReturn;
printf("\nTheascendingarrayis:
\n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
nReturn=sort(10);/*$ERROR3$*/
if(nReturn==0)
{
printf("\nThedescendingarrayis:
\n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
}
else
printf("error!
\n");
}
2:
程序填空
#include
voidmain()
{
inta[10]={34,-5,12,50,88,62,1,-70,-20,0};
inti,j,temp;
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(_____)/*$BLANK1$*/
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=_____;/*$BLANK2$*/
}
}
}
for(i=0;i<=9;i++)
printf("%5d",_____);/*$BLANK3$*/
printf("\n");
}
3:
程序设计
1:
改错
#include
voidmain()
{
inti,j,flag,n;
n=0;
i=2012;
while(n<=10)/*$ERROR1$*/
{
flag=0;
for(j=2;j
if(i/j==0)/*$ERROR2$*/
{
flag=1;
break;
}
if(flag>=0)/*$ERROR3$*/
{
n=n+1;
printf("%d\n",i);
}
i=i-1;
}
}
2:
程序填空
#include
voidmain()
{
charstr[80],*ch;
intflag=1;
printf("Pleaseinputastring:
\n");
gets(str);
ch=____;/*$BLANK1$*/
while(*ch)
{
if(*ch=='')flag=1;
else
{
if(flag==____&&*ch>='a'&&*ch<='z')/*$BLANK2$*/
*ch=*ch-32;
flag=0;
}
____;/*$BLANK3$*/
}
printf("%s\n",str);
}
3:
程序设计