C语言题库Word格式.docx
《C语言题库Word格式.docx》由会员分享,可在线阅读,更多相关《C语言题库Word格式.docx(96页珍藏版)》请在冰点文库上搜索。
![C语言题库Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/85ca9d1e-ac1b-4826-be73-e8fabfd22d5d/85ca9d1e-ac1b-4826-be73-e8fabfd22d5d1.gif)
2
#include<
conio.h>
stdio.h>
intfun(charstr1[],charch)
{
inti,n=0;
for(i=0;
str1[i]!
='
\0'
;
{if(str1[i]==ch)
n++;
return(n);
5、求3*3矩阵的第0行元素的和并输出。
例如,当矩阵为:
123
456
789
则第0行元素的和为:
6
intfun(inta[3][3])
inti,p=0,sum=0;
3;
sum+=a[p][i];
return(sum);
6、按下面的公式求sum的近似值,直到最后一项的项值小于1e-6为止。
1111
sum=1-——+——-——+……+(-1)^(n-1)——
234n
doublet;
do
if(i%2==0)
t*=-1;
sum+=t;
i++;
while(fabs(t)>
=1e-6);
7、将字符串倒序存放并输出。
输出:
"
margorPcasIsihT"
voidfun(charstr1[])
inti,j;
chart;
i++)j=i;
i=0;
do{
t=str1[i];
str1[i]=str1[j];
str1[j]=t;
i++;
j--;
while(j>
=i);
8、将字符串中的所有小写字母转换为大写字母并输出。
程序的输出应为:
THISISACPROGRAM"
{if(str1[i]>
&
str1[i]<
z'
)
str1[i]-=32;
13、求字符串的长度并输出。
例如,当字符串1为"
19
intfun(charstr1[])
inti,n;
n=i+1;
16、按下面的公式求sum的近似值,直到最后一项的项值小于1e-6为止。
11111
sum=1+——+——+——+——+……+——————
3*35*57*79*9(2n-1)(2n-1)
{doublesum=0;
floati;
floatt;
i=1;
do{t=1.0/(2*i-1)*(2*i-1);
while(t>
17、将一个4位的整数m拆开,然后按相反顺序输出,每输出一位数其后留2个空格。
例如,如果m=1234,则程序的输出结果应为:
m=1234,4321。
{intm=1234,a,b,c,d,i;
a=m%10;
b=(m/10)%10;
c=(m/100)%10;
d=m/1000;
m=%d,%d%d%d%d\n"
m,a,b,c,d);
18、判断m是否为素数。
如果m为素数使变量f的值为1,否则使变量f值为0。
{intm=123,f=1,i;
for(i=2;
m;
{if(m%i==0)
f=0;
if(f)printf("
%disaprime\n"
m);
elseprintf("
%disnotaprime\n"
1、将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12。
调用该函数后,c=4152。
longfun(inta,intb)
{longc;
inti,j,m,n;
i=a%10;
j=a/10;
m=b%10;
n=b/10;
c=j*1000+n*100+i*10+m;
/***********end************/
returnc;
1.求两个整数m和n的最大公约数,m和n的值由键盘输入。
#include"
intfun(intm,intn)
for(i=m;
i>
=1;
i--)
if(m%i==0&
n%i==0)
break;
return(i);
2.将字符串中所有的大写字母转换为小写,其它字符不变(不使用转换函数)。
例如,当字符串为"
输出:
thisisacprogram"
#include<
=’\0’;
if(str1[i]>
=’A’&
=’Z’)
str1[i]+=32;
voidmain()
voidNONO();
charstr1[80];
Pleaseinputastring:
\n"
);
gets(str1);
fun(str1);
%s\n"
str1);
NONO();
3.求[1,n]之间所有不能被3整除的整数之和,n的值由键盘输入。
例如,如果输入12,则输出结果为:
48
longfun(intn)
inti,sum=0;
for(i=1;
=n;
if(i%3!
=0)sum=sum+i;
/***********end***********/
voidmain()
intm,n;
Enterm,n:
\n"
scanf("
%d"
&
n);
s=%ld\n"
fun(n));
4.按下面的公式求sum的近似值,n的值由键盘输入,输出保留4位小数。
111
sum=1-——+——-——
357
1
+……+(-1)^(n-1)———
2n-1
例如:
当n=3时,结果为0.8667;
当n=10时,结果为:
0.7605
doublefun(intn)
doublec;
floatt,m;
t=1.0;
c=0;
=2*n-1;
i+=2)
{m=t/i;
c+=m;
t=-t;
voidmain()
{
doublesum;
intn;
Entern:
sum=fun(n);
sum=%.4f\n"
7.在作业文件夹:
("
E:
\homework\09020210"
)下,要求程序PROG.C的功能是:
将一个字符串的第0,2,4,6,8,......位置的字符复制到另一个字符串中,并输出。
例如,当一个字符串为"
则另一个字符串应为"
TisacPorm"
voidfun(charstr1[],charstr2[])
j=0;
strlen(str1);
{str2[j]=str1[i];
j++;
str2[j]=’\0’;
{charstr1[80]="
str2[80];
Stringis:
fun(str1,str2);
str2);
8.求3*3矩阵的第0行(以下标为行数)元素之和并输出。
例如,当矩阵为:
123
456
789
则第0行元素是:
1,2,3,第0行的元素之和为:
inti,j,sum=0;
for(i=0,j=0;
j<
j++)
sum+=a[0][j];
inta[3][3]={1,2,3,4,5,6,7,8,9};
inti,j,sum;
arrayis:
for(j=0;
%5d"
a[i][j]);
sum=fun(a);
Resultis:
%d\n"
9.按下面的公式求sum的近似值,直到最后一项的项值小于1e-6为止。
111
sum=1-——+——-——+……
234
+(-1)^(n-1)——
n
voidNONO(doublex);
{intsign=1;
doubledeno=2.0,term;
sum=1.0;
while(fabs(term)>
1e-6)
{
sign=-sign;
term=sign/deno;
sum=sum+term;
deno=deno+1;
}printf("
%f\n"
NONO(sum);
10.求3*3矩阵的最大值并输出。
495
786
则19:
112009-9-17为:
9
inti,j,max;
max=a[0][0];
for(i=0;
=2;
if(max<
a[i][j])max=a[i][j];
return(max);
{inta[3][3]={1,2,3,4,9,5,7,8,6};
inti,j,max;
max=fun(a);
%d\n"
max);
11.统计字符串中的所有大写字母的个数并输出。
3
fun(charstr1[])
inta,i;
a=0;
str1[i]!
=’Z’)a++;
returna;
charstr1[80]="
n=fun(str1);
n);
12.求N*N矩阵的主对角线(左上-右下)元素的和并输出。
1622
3545
8456
4567
则主对角线上的元素之和为:
18
#defineN4
intfun(inta[N][N])
sum=a[0][0];
N;
if(i=j)sum+=a[i][j];
return(sun);
//函数声明
inta[N][N]={1,6,2,2,3,5,4,5,8,4,5,6,4,5,6,7};
13.求N*N矩阵的最小值并输出,请将求出的最小值存入变量min中。
例如,当n=3,矩阵为:
则最小值为:
1
inti,j,min;
min=a[0][0];
for(i=0;
for(j=0;
if(a[i][j]<
min)min=a[i][j];
Minis:
min);
NONO(a,min);
14.按下面的公式求sum的近似值,直到最后一项的项值小于1e-6为止,请将计算结果存入变量sum中。
1111
sum=1+——+——+——+——+……
3*35*57*79*9
+——————
(2n-1)(2n-1)
doublesum1=0;
for(n=1;
(2*n-1)*(2*n-1)<
1e6;
n++)
sum1=sum1+1.0/(2*n-1)/(2*n-1);
sum=sum1;
NONO(sum);
15.按下面的公式求sum的值。
sum=1-2+3-4+5-6+……+99–100
voidNONO(intx);
intsum;
inti,t=1;
sum=0;
for(i=1;
{sum+=t*i;
t=(-1)*t;
sum=%d\n"
16.求两个整数m和n的最大公约数,m和n的值由键盘输入。
i