万维考试系统C语言题库 含题目 程序设计题导出 道文档格式.docx
《万维考试系统C语言题库 含题目 程序设计题导出 道文档格式.docx》由会员分享,可在线阅读,更多相关《万维考试系统C语言题库 含题目 程序设计题导出 道文档格式.docx(129页珍藏版)》请在冰豆网上搜索。
为整数),然后输出主对角线元素的积,并在fun()
函数中输出。
main()
{
inti,j,s,a[3][3];
;
for(i=0;
3;
i++)
{
for(j=0;
j<
j++)
scanf("
%d"
&
a[i][j]);
}
s=fun(a);
printf("
Sum=%d\n"
s);
wwjt();
intfun(inta[3][3])
intsum;
inti,j;
sum=1;
for(i=0;
sum=sum*a[i][i];
returnsum;
第3题(分)题号:
324
能计算从1开始到n的自然数中偶数的平方的和,n由
键盘输入,并在main()函数中输出。
(n是偶数)
intfun(intn)
main()
intm;
Enterm:
"
);
&
m);
\nTheresultis%d\n"
fun(m));
}
intsum,i;
sum=0;
for(i=2;
sum=sum+i*i;
return(sum);
第4题(分)题号:
345
将两个两位数的正整数a、b合并形成一个整数放在c
中。
合并的方式是:
将a数的十位和个位数依次放在
c数的千位和十位上,b数的十位和个位数依次放在
c数的个位和百位上。
例如:
当a=45,b=12。
调用该函数后,c=4251。
------------------------------------------------*/
voidfun(inta,intb,long*c)
inta,b;
longc;
inputa,b:
"
%d%d"
a,&
b);
fun(a,b,&
c);
Theresultis:
%ld\n"
c);
*c=a/10*1000+a%10*10+b/10+b%10*100;
----------------------
第5题(分)题号:
366
求一组数中大于平均值的数的个数。
给定的一组数为1,3,6,9,4,23,35,67,12,88时,函
数值为3。
#include<
intfun(inta[],intn)
inta[10]={1,3,6,9,4,23,35,67,12,88};
inty;
y=fun(a,10);
y=%d\n"
y);
inti,k=0;
floats=0,ave;
n;
s+=a[i];
ave=s/n;
%f"
ave);
if(a[i]>
ave)k++;
returnk;
第6题(分)题号:
355
/*------------------------------------------------
对长度为8个字符的字符串,将8个字符按降序排列。
原来的字符串为CEAedcab,排序后输出为edcbaECA。
#include<
voidfun(char*s,intnum)
chars[10];
输入8个字符的字符串:
gets(s);
fun(s,8);
\n%s"
inti,j;
chart;
num;
for(j=i+1;
if(s[i]<
s[j])
{t=s[i];
s[i]=s[j];
s[j]=t;
第7题(分)题号:
44
求出二维数组周边元素之和,作为函数值返回。
二
维数组的值在主函数中赋予。
-------------------------------------------------*/
#defineM4
#defineN5
intfun(inta[M][N])
/**********Program**********/
/**********End**********/
inta[M][N]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8}};
inty;
y=fun(a);
printf("
s=%d\n"
wwjt();
ints=0;
M;
s=s+a[i][0]+a[i][N-1];
for(j=1;
N-1;
s=s+a[0][j]+a[M-1][j];
returns;
第8题(分)题号:
339
判断整数x是否是同构数。
若是同构数,函数返回1;
否则返回0。
x的值由主函数从键盘读入,要求不大
于100。
说明:
所谓“同构数”是指这样的数,这个数出现在它的
平方数的右边。
输入整数5,5的平方数是25,5是25中右侧的数,所
以5是同构数。
intfun(intx)
intx,y;
\nPleaseenteraintegernumbers:
x);
if(x>
100)
dataerror!
\n"
exit(0);
y=fun(x);
if(y)
%dYES\n"
x);
else
%dNO\n"
intk;
k=x*x;
if((k%10==x)||(k%100==x))
return1;
else
return0;
第9题(分)题号:
383
用函数实现字符串的复制,不允许用strcpy()函数。
voidcopy(charstr1[],charstr2[])
voidcopy();
charc1[40],c2[40];
gets(c1);
copy(c1,c2);
puts(c2);
inti;
str1[i]!
='
\0'
str2[i]=str1[i];
str2[i]='
第10题(分)题号:
310
计算并输出给定整数n的所有因子之和(不包括1与
自身)。
注意:
n的值不大于1000。
n的值为855时,应输出704。
fun(855));
ints=0,i;
for(i=2;
if(n%i==0)s=s+i;
第11题(分)题号:
354
求小于lim的所有素数并放在aa数组中,该函数返回
所求出素数的个数。
#defineMAX100
intfun(intlim,intaa[MAX])
intlimit,i,sum;
intaa[MAX];
Pleaseinputainteger:
limit);
sum=fun(limit,aa);
sum;
i++){
if(i%10==0&
&
i!
=0)printf("
%5d"
aa[i]);
intn=0;
=lim;
{for(j=2;
i;
if(i%j==0)break;
if(j==i)aa[n++]=i;
returnn;
第12题(分)题号:
341
删除所有值为y的元素。
数组元素中的值和y的值由
主函数通过键盘输入。
#defineM20
voidfun(intbb[],int*n,inty)
intaa[M],n,y,k;
\nPleaseentern:
scanf("
n);
\nEnter%dpositivenumber:
n);
for(k=0;
k<
k++)scanf("
aa[k]);
Theoriginaldatais:
k++)printf("
aa[k]);
\nEnteranumbertodeletede:
y);
fun(aa,&
n,y);
Thedataafterdeleted%d:
%4d"
*n;
)
if(bb[i]==y)
{for(j=i;
bb[j]=bb[j+1];
*n=*n-1;
i++;
第13题(分)题号:
317
求出N×
M整型数组的最大元素及其所在的行坐标及
列坐标(如果最大元素不唯一,选择位置在最前面
的一个)。
输入的数组为:
123
4156
12189
10112
求出的最大数为18,行坐标为2,列坐标为1。
#defineN4
#defineM3
intRow,Col;
intfun(intarray[N][M])
inta[N][M],i,j,max;
inputaarray:
N;
a[i][j]);
max=fun(a);
max=%d,row=%d,col=%d"
max,Row,Col);
intmax,i,j;
max=array[0][0];
Row=0;
Col=0;
{for(j=0;
if(max<
array[i][j])
{max=array[i][j];
Row=i;
Col=j;
return(max);
第14题(分)题号:
392
求一批数中最大值和最小值的积。
#defineN30
#include"
intmax_min(inta[],intn)
inta[N],i,k;
a[i]=random(51)+10;
a[i]);
if((i+1)%5==0)printf("
k=max_min(a,N);
theresultis:
%d\n"
k);
inti,max,min;
max=min=a[0];
max)max=a[i];
elseif(a[i]<
min)min=a[i];
return(max*min);
第15题(分)题号:
501
/*-------------------------------------------------------
---------------------------------------------------------
题目:
从键盘输入一个大写字母,要求改用小写字