C编程题Word格式.docx
《C编程题Word格式.docx》由会员分享,可在线阅读,更多相关《C编程题Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
b[b_index]=a[i];
b_index++;
}
b_index;
c[i]=b[i];
for(i=1;
b_index-1;
for(k=0;
k<
b_index-i;
k++)
if(c[k]>
c[k+1]){t=c[k];
c[k]=c[k+1];
c[k+1]=t;
returnb_index;
intn=10,i,nb;
intaa[10]={12,-30,22,20,15,-39,11,23,-46,100};
intbb[10],cc[10];
thereare%2delementsinaa:
\n"
n);
\ntheyare:
"
);
i++)printf("
%6d"
aa[i]);
nb=fun2(aa,n,bb,cc);
\nthereare%2delementsinbb:
nb);
theyare:
nb;
bb[i]);
\n\nthereare%2delementsincc:
cc[i]);
_________________________________________________
1.Cprog021.C
完成其中的函数fun1,该函数的数学表达式是:
,如:
fun1(0.76)=3.582
fun1(3.00)=5.369
fun1(3.76)=8.931
doubleb=(exp(x)+fabs(x-6))/(x+1.3);
returnb;
fun1(0.76)=%.3lf\n"
fun1(3.00)=%.3lf\n"
fun1(3.76)=%.3lf\n"
fun1(3.76));
2.Cprog022.C,完成其中函数fun2(chara[],charb[],charc[]),将三个字符串a,b,c从小到大排序后输出。
注意:
字符串比较函数为strcmp(str1,str2);
字符串复制函数为strcpy(str1,str2);
string.h>
voidfun2(chara[],charb[],charc[])
intpass,k;
charstr[3][100],t[100];
strcpy(str[0],a);
strcpy(str[1],b);
strcpy(str[2],c);
for(pass=1;
pass<
3;
pass++)
for(k=0;
3-pass;
if(strcmp(str[k],str[k+1])>
0){
strcpy(t,str[k]);
strcpy(str[k],str[k+1]);
strcpy(str[k+1],t);
%s\n"
str[k]);
fun2("
tigger"
"
cat"
monkey"
_________________________________________________________________
1.Cprog031.C,完成函数。
…
1.2x<
3
fun1(x)=10x=3
2x+1x>
doublef;
if(x<
3)f=1.2;
elseif(x>
3)f=2*x+1;
elsef=10.0;
returnf;
fun1(1.5)=%.2f\n"
fun1(1.5));
fun1(6.5)=%.2f\n"
fun1(6.5));
fun1(3.0)=%.2f\n"
fun1(3.0));
2.Cprog032.C,完成其中函数fun(char*s),统计输入字符串中空格的个数。
intfun(char*s)
/**/
inti=0,count=0;
while(s[i]!
='
\0'
){
if(s[i]=='
'
)count++;
i++;
returncount;
charstr[255];
gets(str);
%d\n"
fun(str));
1.Cprog041.C,完成其中的fun()函数,使其计算
f(x)=0,x≤0
doublef(doublex)
=0)return0;
elsereturn(fabs(x)+3.2)/(sin(x)+2);
f(-2.3)=%.4f\n"
f(-2.3));
f(3.14)=%.4f\n"
f(3.14));
2.Cprog042.C,完成其中的fun()函数,使程序打印出Fibonacci数列的前20个数。
该数列(1,1,2,3,5,8,13,…)。
voidfun(inta[],intm)
intk;
a[0]=1;
a[1]=1;
for(k=3;
=m;
a[k-1]=a[k-2]+a[k-3];
inta[20],i;
fun(a,20);
20;
%d"
a[i]);
__________________________________________
1.Cprog051.C,完成函数f(),使其计算:
f(x)=
-1,|x|>
=700
输入0.4,输出f(0.40)=0.82
if(fabs(x)<
700)return(sqrt(5.8+fabs(x)))/(cos(x)+2.1);
elsereturn-1;
f(0.40)=%.2f\n"
f(0.4));
2.Cprog052.C,完成其中f()函数,使其判断一个矩阵是否为对称矩阵,若是返回1,不对称返回0。
intfun(inta[][3],intm)
introw,col,flag=1;
for(row=0;
row<
m;
row++)
for(col=0;
col<
row;
col++)
if(a[row][col]!
=a[col][row]){
flag=0;
return0;
return1;
inta[3][3],i,j;
intb;
for(j=0;
j<
j++)
scanf("
%d"
&
a[i][j]);
b=fun(a,3);
if(b==1)printf("
Yes\n"
elseprintf("
No\n"
_________________________________________
1.Cprog061.C,完成f()函数,计算:
f(x)=
=300
输入:
0.8,输出f(0.8)=0.96
if(fabs(x)>
=300)return-1;
elsereturn(x*x*x)/(log10(fabs(x)+2.6));
f(0.80)=%.2f\n"
f(0.8));
2.Cprog062.C,完成其中fun()函数,使其实现四则运算的功能。
输入3.22.1
,输出:
3.20+2.10=5.30
3.20-2.10=1.10
3.20*2.10=6.72
3.20/2.10=1.52
——————————————————————————————————————
1.打开程序Cprog071.C,完成其中的f()函数,使其对输入的一个月工资数额,求应交税款。
设应交税款的计算公式如下:
例如输入:
1825输出:
f(1825)=11.25
2700输出:
f(2700)=85.00
5655输出:
f(5655)=483.25
#include<
doublef(floatx)
doubley;
if(x>
2100)
=3100)y=(x-1600)*0.10-25;
elsey=(x-1600)*0.15-125;
1600)
y=(x-1600)*0.05;
elsey=0;
returny;
floatx;
clrscr();
Pleaseinputanumber:
%f"
x);
y=f(x);
f(%.2f)=%.2f\n"
x,y);
}----------------------------------------------------------------------------------------------------------------------
2.打开程序Cprog072.c,完成其中的fun()函数,该程序输出4阶矩阵A中各行中0之前的所有正数,遇到0则跳过该行,并计算这些输出正数之和。
如矩阵A为
,则输出1,2,23,32,和s=58。
#defineROW4
#defineCOL4
intfun(inta[][COL],introw,intb[])
inti,j,k=0,s=0;
{
COL;
if(a[i][j]<
0)continue;
if(a[i][j]==0)break;
b[k++]=a[i][j];
s+=a[i][j];
returns;
intsss=0,b[16]={0};
inta[ROW][COL]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};
sss=fun(a,ROW,b);
Sumofpositiveelementsis%d\n"
sss);
1.打开程序Cprog081.c,完成其中的f()函数,使其计算:
-1.2输出:
f(-1.200)=0.241
2.4输出:
f(2.400)=6.902
6输出:
f(6.000)=19.879
floaty;
0)
y=(x+2)*exp(x);
else
y=(x+2)*log(2*x);
y=f(x);
f(%.3f)=%.3f\n"
----------------------------------------------------------------------------------------------------------------------
2.打开程序Cprog082.c,完成其中的fun()函数,该函数将以指针数组形式存放的n个串升序排序。
字符串比较函数为strcmp(str1,str2),
字符串复制函数为strcpy(str1,str2。
voidfun(charp[][20],intn);
voidmain(void)
inti;
charp[][20]={"
abc"
xabdfg"
abbd"
dcdbe"
cd"
};
f(p,5);
for(i=0;
5;
p[i]);
getch();
voidfun(charp[][20],intn)
chart[20];
inti,j;
n-1;
for(j=i+1;
if(strcmp(p[i],p[j])>
strcpy(t,p[i]);
strcpy(p[i],p[j]);
strcpy(p[j],t);
1.打开程序Cprog091.c,完成其中的f()函数,使其返回方程
的两个根中较大的根,求根公式为:
a=1b=5c=6时则程序输出:
Thebiggerrootis-2.00
doublef(floata,floatb,floatc)
floatx1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
return(x1>
x2)?
x1:
x2;
Thebiggerrootis%.2f\n"
f(1,5,6));
2.打开程序Cprog092.c,完成其中的strcmp1()函数,该函数实现判别两字符串str1和str2的大小。
intstrcmp1(constchar*str1,constchar*str2)
while((*str1==*str2)&
&
(*str2!
=0))
str1++;
str2++;
return*str1-*str2;
intcom;
char*ps1="
uvwx"
*ps2="
uvwxyz"
;
com=strcmp1(ps1,ps2);
if(com>
%s>
%s"
ps1,ps2);
if(com==0)
%s=%s"
if(com<
%s<
————————————————————————————————————