二级C改错填空编程 2.docx

上传人:b****6 文档编号:5920656 上传时间:2023-01-02 格式:DOCX 页数:32 大小:53.91KB
下载 相关 举报
二级C改错填空编程 2.docx_第1页
第1页 / 共32页
二级C改错填空编程 2.docx_第2页
第2页 / 共32页
二级C改错填空编程 2.docx_第3页
第3页 / 共32页
二级C改错填空编程 2.docx_第4页
第4页 / 共32页
二级C改错填空编程 2.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

二级C改错填空编程 2.docx

《二级C改错填空编程 2.docx》由会员分享,可在线阅读,更多相关《二级C改错填空编程 2.docx(32页珍藏版)》请在冰豆网上搜索。

二级C改错填空编程 2.docx

二级C改错填空编程2

二、改错题

Cmody191.c

修改程序,用以计算1~100之间所有的偶数之和。

#include

#include

voidmain()

{

inti=1;

/**/intsum=2/**/;

while(i++,i<=100)

{if(/**/i==(i/2)*2/**/)

continue;

sum+=i;

}

printf("Sumis%d\n",sum);

getch();

}

Cmody192.c

修改程序,将二维数组表示的方阵左下半三角(不含对角线)各元素加4,右上半三角(含对角线)各元素乘2。

#include

#defineN5

voidmain()

{

inta[N][N],i,j;

for(i=0;i

for(j=0;j

a[i][j]=i*5+j+11;

printf("\nArrayais:

\n");

for(i=0;i

{for(j=0;j

printf("%3d",a[i][j]);

printf("\n");

}

for(i=0;i

/**/for(j=0;j<=i;j++)/**/

a[i][j]+=4;

for(i=0;i

/**/for(j=i+1;j

a[i][j]*=2;

printf("\nArrayaisturned:

\n");

for(i=0;i

{for(j=0;j

printf("%3d",a[i][j]);

printf("\n");

}

getch();

}

Cmody201.c

修改程序,计算满足以下条件的整数n的最大值。

22+42+62+82+……+n2<1000

#include

#include

voidmain()

{

intn=0,sum=0;

/**/while(sum<1000);/**/

{

/**/sum+=n^2/**/;

n++,n++;

}

printf("n=%d\n",n-2);

getch();

}

Cmody202.c

修改程序,实现从键盘输入一串字符,并在字符串中从第m个字符串开始截取n个字符。

例如:

输入的字符串为”welcome”,m=2,n=3,则截取的字串为”elc”

#include

#include

voidmain()

{

charstr[100],sub[100];

intm,n,len,i;

printf("Enterstring:

");

gets(str);

printf("\nEntermn:

");

scanf("%d%d",&m,&n);

len=strlen(str);

if(m-1+n>len)

printf("Can'trunwith%dand%d!

\n",m,n);

else

{i=0;

/**/while(i<=n)/**/

{

/**/sub[i]=str[m+i];/**/

i++;

}

/**/sub[i]='\n';/**/

printf("substringis:

%s\n",sub);

}

getch();

}

Cmody211.c

修改程序,实现输入一整型二维数组,计算其中数组元素的最大值与最小值的差。

#include

#include

#defineROW3

#defineCOL4

voidmain()

{

inta[ROW][COL],max,min,i,j,result;

clrscr();

printf("Enterarraya:

\n");

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

/**/max=min=0;/**/

for(i=0;i

for(j=0;j

{if(/**/min

min=a[i][j];

if(a[i][j]>max)

/**/max=a[i][j]/**/

}

printf("Result=%d\n",max-min);

getch();

}

_

Cmody212.c

修改程序cmody212.c,实现从键盘输入一串字符和一个字串,输出该子串在原字符串中出现的次数。

#include

#include

voidmain()

{

inti,j,k,count;

chars1[100],s2[100];

printf("EntermainString:

");

gets(s1);

printf("EnterSubString:

");

gets(s2);

count=0;

/**/for(i=0;*s1!

='\0';i++)/**/

{

/**/for(k=0;(s1[j]==s2[k])&&(s1[j]!

='\0');j++,k++);/**/

if(s2[k]=='\0')count++;

}

printf("\nCount=%d\n",count);

getch();

}

Cmody221.c

修改程序,输出存储在结构体数组中8位学生成绩的平均分以及最高学生的姓名

#include

/**/structurestudent/**/

{

charname[10];

floatscore;

};

voidmain()

{

structstudentstu[8]={{"Mary",76},{"John",85},

{"Tom",81},{"Susa",87},{"Wilu",79},{"Yili",65},{"Sonmu",73},{"Lichar",70}};

inti=0,mrk;

floattotal=0,aver,max;

max=stu[0].score;

mrk=0;

while(i<8)

{

/**/total=total+stu[i];/**/

if(stu[i].score>max)

{max=stu[i].score;

mrk=i;

}

/**/i++/**/

}

aver=total/8;

printf("\naver=%.2f\nBestis%s\n",aver,stu[mrk].name);

getch();

}

Cmody222.c

修改程序,完成其中n个字符串的升序排列

#include

#include

#defineROW5

#defineCOL30

voidfun(chars[][COL],intn)

{

chartemp[COL];

inti,j;

for(i=0;i

/**/for(j=i+1;j

if(strcmp(s[i],s[j])>0)

{

strcpy(temp,s[i]);

strcpy(s[i],s[j]);

strcpy(s[j],temp);

}

}

voidmain()

{

inti;

charstr[][COL]={"DEF","BAEELCS","FHIAME","CBADF","APMAE"};

/**/fun(str,COL);/**/

clrscr();

for(i=0;i

printf("%s\n",str[i]);

getch();

}

Cmody231.c

修改程序cmody231.c,实现将输入的十进制正整数转换成十六进制数,且用字符串存放该十六进制数

#include

#include

#include

voidmain()

{

intx,b,i,j;

chars[5];

printf("Inputanumber(Dec):

");

scanf("%d",&x);

/**/i=1;/**/

while(x>0)

{b=x%16;

if(b>9)

s[i]=b-10+'A';

else

/**/s[i]=b/**/;

x=x/16;

i++;

}

printf("\nHexnumberis:

");

for(j=i-1;j>=0;j--)

putchar(/**/s[i]/**/);

getch();

}

Cmody232.c

修改程序cmody232.c,输出下列9行数字金字塔

1

121

12321

1234321

………………………

12345678987654321

#include

voidmain()

{

inti,j,k;

for(k=1;k<=9;k++)

{

/**/for(i=0;i<=k;i++)/**/

printf("");

for(i=1;i<=k;i++)

printf("%d",i);

/**/for(j=k-1;j>1;j--)/**/

printf("%d",j);

printf("\n");

}

getch();

}

三、填空题

Ccon191.c

程序ccon191.c,从键盘输入3个实型值,若它们能构成一个三角形(即任意两边之和大于第三边),则根据以下公式求该三角形面积;否则,提示相应信息。

#include

#include

voidmain()

{

floata,b,c,d,area;

printf("Pleaseinput3numbers:

\n");

scanf("%f,%f,%f",&a,&b,&c);

if(a+b>c/**//**/)

{d=(a+b+c)/2;

area=/**//**/;

printf("areais%.2f\n",area);

}

else

printf("NotTriangle!

\n");

getch();

}

Ccon192.c

程序ccon192.c,计算:

已知大货车限载8吨、中型货车限载3吨、微型货车限载1吨,需50辆车运输100吨货物时,应配备的大、中、微型车分别多少辆?

共有多少种解决方案?

#include

#include

int/**//**/()

{

intbig,median,small,n=0;

printf("bigmediansmall\n");

for(big=0;big<=13;/**//**/)

for(median=0;median<=33;median++)

{

small=100-8*big-3*median;

if(/**//**/==50)

{

n++;

printf("%d-->%2d%2d%2d\n",

n,big,median,small);

}

}

returnn;

}

voidmain()

{

intnum;

num=fun();

printf("\nThereare%dsolutions.\n",num);

getch();

}

Ccon201.c

程序ccon201.c,按照以下袋装情况求一堆苹果的总数,总数在100~300之间。

若按每袋装8个苹果则多出5个,若按每袋装7个苹果,则多出4个,若按每袋装5个苹果,则多出2个。

#include

voidmain()

{

intn;

for(n=300;/**//**/;n--)

{if(n%8==5)

if(!

((n-4)%7)/**//**/)

printf("n=%d\n",n);

}

getch();

}

Ccon202.c

程序ccon202.c中的swap函数,通过指针变量实现两个变量值的交换。

#include

voidswap(/**//**/)

{intsum;

sum=*p1+*p2;

*p1=/**//**/;

*p2=sum-*p1;

}

voidmain()

{

intx,y;

printf("pleaseinput2numbers:

\n");

scanf("%d,%d",&x,&y);

printf("\nOriginal:

x=%dy=%d\n",x,y);

swap(&x,&y);

printf("\nNow:

x=%dy=%d\n",x,y);

getch();

}

Ccon211.c

程序ccon211.c,按每行最多5个数方式输出100~400之间能同时被7和4整除的所有数及它们之和。

#include

voidmain()

{

inti,n;

intsum=0;

/**//**/

for(i=101;i<=399;i++)

{

if(/**//**/&&!

(i%4))

{printf("%d",i);

sum+=/**//**/;

n++;

if(n%5==0)

printf("\n");

}

}

printf("\nsum=%d\n",sum);

getch();

}

Ccon212.c

程序ccon212.c中的cmob函数用以输出等式a*b*c+a*c*c=560的所有a,b,c的组合(其中a,b,c只取1~9之间的一位整数)。

如a=7,b=2,c=8时,7*2*8+7*8*8=560

#include

voidcomb(/**//**/)

{inta,b,c;

for(a=1;a<10;a++)

for(b=1;b<10;b++)

for(c=1;c<10;c++)

{

if(/**//**/==m)

printf("a=%d,b=%d,c=%d\n",a,b,c);

}

}

voidmain()

{

intresult=560;

comb(result);

getch();

}

Ccon221.c

程序ccon221.c,输出如下图形

%%%%%%%

&&&&&&

%%%%%

&&&&

%%%

&&

%

#include

#include

voidmain()

{

introw,col;

for(row=1;row<=7;row++)

{

printf("\t");

for(col=1;col<=/**//**/;col++)

if(row%2)

printf("%c",/**//**/);

else

printf("%c",/**//**/);

printf("\n");

}

getch();

}

Ccon222.c

程序ccon222.c中的pnt函数,根据参数n(2≤n≤10),输出类似如下所示的方针(n=5).

12345

109876

1112131415

2019181716

2122232425

#include

#include

#defineM10

voidpnt(inta[M][M],intn)

{inti,/**//**/;

for(i=0;i

for(j=0;j

{if(i%2==0)

a[i][j]=/**//**/;

else

a[i][j]=i*n+n-j;

}

printf("arraya(n=%d)is:

\n",n);

for(i=0;i

{for(j=0;j

printf("%3d",a[i][j]);

printf("\n");

}

}

voidmain()

{

inta[M][M];

intn;

printf("Inputn(2<=nAndn<=10):

");

scanf("%d",&n);

pnt(/**//**/,n);

getch();

}

Ccon231.c

程序ccon231.c,计算以下分数序列的前18项之和

#include

voidmain()

{

inti;

floatsum,a=2,b=1,t;

/**//**/;

for(i=1;i<=18;i++)

{

sum+=/**//**/;

t=a;

a=a+b;

b=/**//**/;

}

printf("sum=%f\n",sum);

getch();

}

Ccon232.c

程序ccon232.c中的inv函数,通过指针变量将字符串str的内容”asdfjk”,调用inv函数后,变成:

”kjfdsa”。

#include

#include

voidinv(char*str)

{inti,j,k;

j=/**//**/;

for(i=0;i

{k=*(str+i);

*(str+i)=*(str+j);

*(str+j)=/**//**/;

}

}

voidmain()

{

charstr[]="asdfjk";

printf("\nOriginalis:

%s\n",str);

inv(str);

printf("\nNowis:

%s\n",str);

getch();

}

四、编程题

cprog191.c

打开程序cprog191.c,完成其中的fun函数:

根据输入的汇款数额,求应交的汇费。

设应交汇费的计算公式如下:

#include

#include

doublefun(floatx)

{

/**/

/**/

}

voidmain()

{

floatx;

doubley;

clrscr();

printf("Pleaseinputanumber:

\n");

scanf("%f",&x);

y=fun(x);

printf("f(%.2f)=%.2f\n",x,y);

getch();

}

cprog192.c

打开程序cprog192.c,完成其中的fun函数:

对4×4矩阵从顶行开始各行按从左到右顺序查找,找出各行中0元素之后的所有负数,并按元素出现的先后顺序存放到数组b中,并返回这些负数之和。

如矩阵为:

则调用函数fun()后,数组b各元素依次为-3,-1,-4,-3,-12,-13,并返回-36.

#include

#include

#defineROW4

#defineCOL4

#defineLEN12

intfun(inta[][COL],intb[])

{

/**/

/**/

}

voidmain()

{

intarra[ROW][COL]={{-2,0,-3,-1},{-8,2,0,-4},

{0,3,-3,-12},{21,0,-13,3}};

intarrb[LEN],i,result;

for(i=0;i

arrb[i]=0;

clrscr();

result=fun(arra,arrb);

printf("arrayarrbis:

\n");

for(i=0;i

if(arrb[i]==0)printf("");

elseprintf("%4d",arrb[i]);

printf("\nresult=%d",result);

getch();

}

cprog201.c

打开cprog201.c,完成其中的函数fun,该函数的数学表达式是

#include

#include

doublefun(floatx)

{

/**/

/**/

}

voidmain()

{

floatx;

doubley;

printf("Pleaseinputanumber:

\n");

scanf("%f",&x);

y=fun(x);

printf("f(%.3f)=%.3f\n",x,y);

getch();

}

cprog202.c

打开程序cprog202.c,完成其中的fun函数:

函数fun(doublex,intn),用以下公式近似计算cos(x)的值:

#include

voidmain()

{

doublex;

intn;

doublefun(doublex,intn);

printf("Pleaseenterx,n:

");

scanf("%lf%d",&x,&n);

printf("cos(%lf)=%lf\n",x,fun(x,n));

getch();

}

doublefun(doublex,intn)

{

/**/

/**/

}

cprog211.c

打开cprog211.c,完成其中的函数fun,该函数的数学表达式是

#include

#include

doublefun(floatx)

{

/**/

/**/

}

voidmain()

{

floatx;

doubley;

clrscr();

printf

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

当前位置:首页 > 自然科学

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

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