C语言习题题库作答Word文件下载.docx

上传人:b****6 文档编号:21214175 上传时间:2023-01-28 格式:DOCX 页数:36 大小:23.04KB
下载 相关 举报
C语言习题题库作答Word文件下载.docx_第1页
第1页 / 共36页
C语言习题题库作答Word文件下载.docx_第2页
第2页 / 共36页
C语言习题题库作答Word文件下载.docx_第3页
第3页 / 共36页
C语言习题题库作答Word文件下载.docx_第4页
第4页 / 共36页
C语言习题题库作答Word文件下载.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

C语言习题题库作答Word文件下载.docx

《C语言习题题库作答Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言习题题库作答Word文件下载.docx(36页珍藏版)》请在冰豆网上搜索。

C语言习题题库作答Word文件下载.docx

\n"

exit(0);

}

for(m=1;

m【>

】a[m-1];

n-=a[m-1],m++);

y=%d,m=%d,d=%d\n"

y,m,n);

}

第2题

题目:

下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。

/***********SPACE***********/

【#include<

math.h>

main()

{intx;

doubley,z;

【%d%lf】"

x,&

y);

z=2*x*sqrt(y);

z=【%lf】"

z);

程序改错共1题

第1题

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

将s所指字符串中的字母转换为按字母序列的后续字母(但

Z转换为A,z转换为a),其它字符不变。

------------------------------------------------------*/

ctype.h>

conio.h>

voidfun(char*s)//函数定义

/***********FOUND***********/

while(*s!

=’0’)//字符串结尾标志为‘0’

if(*s>

='

A'

&

*s<

='

Z'

||*s>

a'

*s<

z'

if(*s=='

*s='

;

elseif(*s=='

else

*s+=1;

//s为字符指针,而*s为指针所指的字符

s++

chars[80];

\nEnterastringwithlength<

80.:

\n\n"

gets(s);

\nThestring:

\n\n"

puts(s);

fun(s);

//函数调用

printf("

\n\nTheCords:

计算圆周率的近似值。

ints,n;

double【pi】,t;

t=1;

pi=0;

n=1;

s=1;

while(【fabs(t)】>

=2e-6)//fabs()为求绝对值函数

pi+=t;

n+=2;

s=-s;

t=s/n;

pi*=【4】;

pi=%.6f\n"

pi);

输入一奇数n,打印由1->

n*n构成的魔方矩阵。

魔方矩阵的

行列及对角线的和都相等。

魔方矩阵:

816

357

492

#defineMAXSiZE20

voidmain(void)

intmatrix[MAXSiZE][MAXSiZE];

intcount;

introw;

intcolumn;

intn;

charline[100];

\nOddnMagicSquareGenerator"

\n================================"

\n\nnPlease-->

"

gets(line);

n=atoi(line);

if(n>

MAXSiZE)

\n***ERROR***nshouldbe<

=%d"

MAXSiZE);

elseif(n%2==0)

\n***ERROR***nmustbeanoddinteger"

else

row=0;

column=n/2;

for(count=1;

count<

=n*n;

count++)

matrix[row][column]=count;

if(【count/n】==0)

row++;

{

row=(row==【0】)?

n-1:

row-1;

column=(column==【n-1】)?

0:

column+1;

\n\nMagicSquareofn%d:

\n\n"

n);

for(row=0;

row<

n;

row++)

for(column=0;

column<

column++)

%4d"

matrix[row][column]);

程序改错共1题

求1到10的阶乘的和。

floatfac(intn);

//函数声明

inti;

floats=0;

floatfac(intn);

//函数声明应放在主函数之前,这句放错位置了,删了吧,也可以不改,可以运行,但良好的习惯就是改

/**********FOUND**********/

for(i=1;

i<

10;

i++)

s+=fac(i);

%f\n"

s);

floatfac(intn)//函数定义

/**********FOUND**********/

floaty=1;

//int改为float,否则会造成数据丢失,当然也可以不改,毕竟你们没学到

for(i=1;

=n;

y=y*i;

returny;

删除字符串中的指定字符,字符串和要删除的字符均由键盘

输入。

charstr[80],ch;

inti,k=0;

gets(【str】);

//输入字符串放入str[]

ch=getchar();

for(i=0;

【str[i]】;

i++)//循环到字符串结束为止

if(str[i]!

=ch)//假如没找到就将原字符赋值过去找到要删除的就跳过继续找

【str[k]=str[i]】;

//在同一个数组中操作,后面的字符覆盖了前面要删除的位置

k++;

【str[k]=’\0’】;

//在新字符串结尾处加结束符

puts(str);

//输出

第2题

输入一个整数,计算它可能是哪两个整数的平方和,并打印

结果数据。

如:

34是5和3或3和5的平方和。

/*fori/Ofunctions*/

/*foratoi()*/

/*forsqrt()*/

intgiven;

/*thegivennumber*/

introw,column;

/*rowandcolumnindicators*/

/*numberofsolutions*/

\nRepresentingaGivenNumberastheSumofTwoSquares"

\n=====================================================\n"

\nAnintegerPlease--->

given=atoi(line);

\nCountXY"

\n---------------"

row=1;

/*startsfromfarenough*/

column=(int)(sqrt((double)given)+0.5);

count=0;

/*sosolutionyet*/

while(row<

=given&

column>

0)/*scandown...*/

if(row*row+column*column==given)

【count++】;

\n%5d%7d%7d"

count,row,column);

column--;

elseif(row*row+column*column>

given)

【column--】;

【row++】;

if(count==0)

\n\nSorry,NOANSWERfound."

\n\nThereare%dpossibleanswers."

count);

计算并输出k以内最大的10个能被13或17整除的自然数之和。

k的值由主函数传入。

例如:

若k的值为500,则函数值为4622。

intfun(intk)

intm=0,mc=0;

while((k>

=2)&

(mc<

10))

if((k%13==0)||(k%17==0))

m=m+k;

mc++;

k--;

returnm;

voidmain()

%d\n"

fun(500));

当输入“2,5”的时候输出为“255”

#definemax100

intf[max],i,j,k,m;

k,&

m);

=【2】;

f[i]=0;

f[【k-1】]=1;

for(i=k;

=m;

for(j=i-k;

j<

=i-1;

j++)

f[i]【=1+】f[j];

%d%10d%10d\n"

k,m,f[m]);

识别输入的字符串,每个单词输出一行

string.h>

intc;

intinspace;

【inspace=0】;

while((c=getchar())!

\n'

if(c=='

'

||c=='

\t'

if(【inspace=0】)

inspace=1;

putchar('

inspace=0;

【putchar(c)】;

用选择法对数组中的n个元素按从小到大的顺序进行排序。

#defineN20

voidfun(inta[],intn)

inti,j,t,p;

for(j=0;

j<

n-1;

j++)

p=j;

for(i=j;

i<

i++)

if(a[i]>

a[p])

p=i;

t=a[p];

a[p]=a[j];

a[j]=t;

inta[N]={9,6,8,3,-1},i,m=5;

排序前的数据:

"

);

for(i=0;

m;

i++)

%d"

a[i]);

fun(a,m);

排序后的数据:

产生10个[30,90]区间上的随机整数,然后对其用选择法

进行由小到大的排序。

#include<

intt;

inti,j,k;

inta[10];

a[i]=rand()%61+30;

9;

k=i;

for(j=i+1;

if(a[k]>

a[j])k=j;

if(k!

=i)

t=a[k];

a[k]=a[i];

a[i]=t;

}

i++)

%5d"

输入一正整数n、打印1-n能够

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1