西工大C语言上机考试题库定稿版Word文件下载.docx
《西工大C语言上机考试题库定稿版Word文件下载.docx》由会员分享,可在线阅读,更多相关《西工大C语言上机考试题库定稿版Word文件下载.docx(33页珍藏版)》请在冰豆网上搜索。
l!
printf("
%d%d%d\n"
a,b,c);
}
return0;
}
8
#include"
stdio.h"
inta,b[10],m=0,n=0,p;
inti,j,k;
scanf("
%d"
&
a);
=a;
m=0;
n=0;
p=i;
for(j=0;
=0;
b[j]=p%10;
p=p/10;
for(k=0;
j;
{m=m+b[k];
if(b[k]==8)
{n=1;
if(m%8==0)
{printf("
%d"
i);
continue;
if(i%8==0)
if(n==1)
8的次数
A*B
#include<
string.h>
stdlib.h>
voidcheng(chara[],charb[])
inti,j,ca,cb,*s;
ca=strlen(a);
cb=strlen(b);
s=(int*)malloc(sizeof(int)*(ca+cb));
for(i=0;
ca+cb;
i++)s[i]=0;
ca;
for(j=0;
cb;
s[i+j+1]+=(a[i]-'
0'
)*(b[j]-'
);
for(i=ca+cb-1;
i>
i--)
if(s[i]>
=10)
s[i-1]+=s[i]/10;
s[i]%=10;
i=0;
while(s[i]==0)i++;
for(;
i++)printf("
s[i]);
\n"
free(s);
chara[100],b[100];
gets(a),gets(b);
if(a[0]=='
-'
b[0]!
='
)
-"
cheng(&
a[1],b);
elseif(a[0]=='
b[0]=='
a[1],&
b[1]);
elseif(a[0]!
cheng(a,&
else
cheng(a,b);
N边形面积
#definePI3.1415926
doubles,a;
intn;
scanf("
%d%lf"
n,&
s=a*a*n/(2*2*tan(PI/n));
printf("
%.2lf\n"
s);
return0;
参加竞赛
inta,b,c,d,e;
for(a=0;
a<
2;
a++)
for(b=0;
b<
b++)
for(c=0;
c<
c++)
for(d=0;
d<
d++)
for(e=0;
e<
e++)
if(((a==1&
b==1)||(a==0&
b==0))
&
((b==0&
c==1)||(b==1&
c==0))
((c==1&
d==1)||(c==0&
d==0))
(!
(d==0&
e==0))
((e==1&
a==1&
d==1)||(e==0)))
{if(a==1){printf("
A"
if(b==1){printf("
B"
if(c==1){printf("
C"
if(d==1){printf("
D"
if(e==1){printf("
E"
}}
草坪喷水
插入排序
voidsort(inta[],intn)
inti;
intk;
intt;
n;
t=a[i];
k=i-1;
while(t<
a[k]){
a[k+1]=a[k];
k--;
if(k==-1)break;
}
a[k+1]=t;
intn;
inta[100];
n);
for(i=0;
scanf("
a[i]);
sort(a,n);
if(i==n-1)
printf("
%d\n"
a[i]);
elseprintf("
查找
车牌号
inti,j,n;
i++){
for(j=0;
j++){
for(n=33;
n<
=100;
n++){
if((n*n)==(i*1100+j*11))printf("
i*1100+j*11);
}
成绩转化
乘完倒序
尺子刻度
大数除法
大数减法
#definemax(a,b)a>
b?
a:
b
#definemin(a,b)a>
b:
a
intsum[101];
voidjia(chara[],charb[])
intflag=0,i,len1,len2,lenmax,lenmin;
len1=strlen(a),len2=strlen(b);
lenmax=max(len1,len2),lenmin=min(len1,len2);
=lenmax;
if(i<
=lenmin)
sum[lenmax-i]=a[len1-i]+b[len2-i]-'
+flag;
if(sum[lenmax-i]>
sum[lenmax-i]=sum[lenmax-i]-10;
flag=1;
elseflag=0;
else{
if(len1>
len2)
sum[lenmax-i]=a[len1-i]-'
sum[lenmax-i]=b[len2-i]-'
if(flag==1)
1"
lenmax;
sum[i]);
voidjian(chara[],charb[])
intflag=0,i;
intlen1,len2;
=len1;
=len2)
if(a[len1-i]-b[len2-i]-flag>
sum[len1-i]=a[len1-i]-b[len2-i]-flag;
flag=0;
sum[len1-i]=a[len1-i]-b[len2-i]-flag+10;
if(a[len1-i]-flag-'
>
sum[len1-i]=a[len1-i]-flag-'
;
sum[len1-i]=a[len1-i]-flag+10-'
len1&
sum[i]==0;
i++);
for(;
len1;
voidcompare(chara[],charb[])
len2||(len1==len2&
strcmp(a,b)>
0))
jian(a,b);
elseif(strcmp(a,b)!
jian(b,a);
0\n"
gets(a);
gets(b);
jia(&
compare(&
b[1],&
a[1]);
jia(a,&
compare(a,b);
大写变小写
{chars[80];
intlen,i;
gets(s);
len=strlen(s);
len;
if(s[i]>
a'
s[i]<
z'
s[i]=s[i]-32;
puts(s);
到底星期几
等比数列
intm,n,sum;
scanf("
m);
for(n=1;
;
n++)
sum=(3*n-1)*n/2;
if(sum>
m)
break;
printf("
n);
分数
intk,x=1,y=1;
floata,b;
k);
y<
=5000;
y++){
for(x=y;
x<
x++){
a=1.0/k;
b=1.0/x+1.0/y;
if(a==b)printf("
1/%d=1/%d+1/%d\n"
k,x,y);
韩信点兵
intn,i;
i++){
if(i%5==2&
i%6==3&
i%7==4&
i%11==5){printf("
回文字符串
ctype.h>
#defineMAXN5000+10
charbuf[MAXN],s[MAXN];
intp[MAXN];
intn,m=0,max=0,x,y;
inti,j;
fgets(buf,sizeof(s),stdin);
n=strlen(buf);
if(isalpha(buf[i]))
p[m]=i;
s[m++]=toupper(buf[i]);
m;
i-j>
i+j<
if(s[i-j]!
=s[i+j])break;
if(j*2+1>
max){max=j*2+1;
x=p[i-j];
y=p[i+j];
i+j+1<
=s[i+j+1])break;
if(j*2+2>
max){max=j*2+2;
y=p[i+j+1];
for(i=x;
=y;
%c"
buf[i]);
iostream>
usingnamespacestd;
charA[5000],B[5000];
inta=0,b,c,d,e,f,n=0,m,p,q,C[5000];
while((A[a]=cin.get())!
\n'
)a++;
for(b=0,c=0;
=a-1;
if((A[b]>
=65&
A[b]<
=90)||(A[b]>
=97&
=122))
B[c]=A[b],C[c]=b;
if(B[c]>
B[c]<
=122)B[c]=B[c]-32;
c++;
B[c]=32;
=c-2;
if(B[d]==B[d+1])e=d,f=d+1,a=1;
elseif(B[d]==B[d+2])e=d,f=d+2,a=1;
elsecontinue;
while(e-1>
f+1<
=c&
B[e-1]==B[f+1])e--,f++;
m=f-e;
if(m>
n)n=m,p=e,q=f;
for(a=C[p];
=C[q];
cout<
<
A[a];
endl;
鸡的体重
计算数据整数部分
加密
FILE*pi;
pi=fopen("
in.dat"
"
w"
charA[1000],B[1000];
inti,n;
gets(A);
n=strlen(A);
fprintf(pi,"
A[i]);
if('
A'
=A[i]<
'
Z'
||'
B[i]=A[i]+1;
if(A[i]=='
||A[i]=='
B[i]=A[i]-25;
B[i]);
fclose(pi);
阶乘
inti=2;
intj=1;
while
(1)
j=j*i;
if(j>
n)break;
i++;
i-1);
卡片
恐怖水母
voidpaixu(intA[],intm)
inti=1,n=0,j=0;
{
for(i=j+1;
if(A[i]<
A[j])
n=A[j];
A[j]=A[i];
A[i]=n;
intn=0,m=0,A[100]={0},B[100]={0},i=0,j=0,k=0;
%d%d"
for(i=0;
A[i]);
B[i]);
if(m<
n)
NULL\n"
else
{
paixu(A,n);
paixu(B,m);
if(A[0]<
=B[i])
if(m-i>
j+=B[i+k];
j);
快速排序
voidQuickSort(intA[],intn,intL,intR)
inti,j,t;
if(L<
R){
i=L;
j=R+1;
while
(1){
while(i+1<
n&
A[++i]<
A[L]);
while(j-1>
-1&
A[--j]>
if(i>
=j)break;
t=A[i];
A[i]=A[j];
A[j]=t;
t=A[L],A[L]=A[j],A[j]=t;
QuickSort(A,n,L,j-1);
QuickSort(A,n,j+1,R);
intA[1000],n,i,j,p;
if(n>
=1000){printf("
Overflow!
!
"
);
//输入要排序的元素的数目,若大于1000则结束程序输出“Overflow!
”
//输入元素
QuickSort(A,n,0,n-1);
for(i=n-1;
//输出排序好的结果
两人三足
intn,a[50],i,j,t,sum=0;
i++)scanf("
for(j=0;
n-i-1;
j++){
if(a[j]<
a[j+1])t=a[j],a[j]=a[j+1],a[j+1]=t;
i+=2)sum+=a[i];
sum);
逆序输出
偶数和
intn,i,sum=0;
inta[n];
{scanf("
{if(i%2==0)sum=sum+a[i];
三角形面积
士兵移动
输出位数
inti,n;
for(i=1;
if(n/10==0)break;
elsen=n/10;
数列
intA[10],B[5],i;
doubleC[5];
5;
4;
B[i]=A[i+1]-A[i];
C[i]=(double)A[i+1]/A[i];
if(B[0]==B[1]&
B[1]==B[2]&
B[2]==B[3]){
for(i=5;
10;
A[i]=A[i-1]+B[0],printf("
if(C[0]==C[1]&
C[1]==C[2]&
C[2]==