二级C语言程序改错题汇总Word格式.docx

上传人:b****5 文档编号:21233653 上传时间:2023-01-28 格式:DOCX 页数:31 大小:32.78KB
下载 相关 举报
二级C语言程序改错题汇总Word格式.docx_第1页
第1页 / 共31页
二级C语言程序改错题汇总Word格式.docx_第2页
第2页 / 共31页
二级C语言程序改错题汇总Word格式.docx_第3页
第3页 / 共31页
二级C语言程序改错题汇总Word格式.docx_第4页
第4页 / 共31页
二级C语言程序改错题汇总Word格式.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

二级C语言程序改错题汇总Word格式.docx

《二级C语言程序改错题汇总Word格式.docx》由会员分享,可在线阅读,更多相关《二级C语言程序改错题汇总Word格式.docx(31页珍藏版)》请在冰豆网上搜索。

二级C语言程序改错题汇总Word格式.docx

#include<

stdio.h>

intfun()

{inta[3][3],sum;

inti,j;

/************found************/

_______;

sum=1;

for(i=0;

i<

3;

i++)

{for(j=0;

j<

j++)

scanf("

%d"

a[i][j]);

scanf("

a[i]+j);

#scanf("

&

a[i][j]);

*(a+i)+j);

}

sum=sum*a[i][i];

printf("

Sum=%d\n"

sum);

}

main()

{fun();

2.求一个整数的所有质因子判素数

/*2给定程序modi.c的功能是:

读入一个整数k(2<

=K<

=10000),打印它的所有质因子(即所有为素数的因子)。

例如,若输入整数2310,则应输出:

2、3、5、7、11。

*/

#include"

conio.h"

stdio.h"

Isprime(intn);

Isprime(intn)

{inti,m;

m=1;

for(i=2;

n;

if!

(n%i)if(!

(n%i))#if(n%i==0)

{m=0;

break;

return(m);

{intj,k;

clrscr();

\nPleaseenteranintegernumberbetween2and10000:

"

);

k);

\n\nTheprimefactor(s)of%dis(are):

k);

for(j=2;

=k;

if((!

(k%j))&

&

(Isprime(j)))printf("

\n%4d"

j);

\n"

3.求两数的平方根之和地址与地址中的内容

/*3.输入二个双精度数,函数返回它们的平方根之和.例如:

输入22.993612和84.57629872,

则输出:

y=13.991703.*/

conio.h>

math.h>

/**********found**********/

doublefun(double*a,*b)doublefun(double*a,double*b)#doublefun(double*b,double*a)

{doublec;

c=sqrt(a)+sqrt(b);

c=sqrt(*b)+sqrt(*a);

#c=sqrt(*a)+sqrt(*b);

returnc;

main()

{doublea,b,y;

clrscr();

printf("

Entera,b:

"

scanf("

%lf%lf"

&

a,&

b);

y=fun(&

b);

printf("

y=%f\n"

y);

/*4给定程序modi.c中函数fun的功能是:

从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。

在每组中,可以没有黑球,但必须要有红球和白球。

组合数作为函数值返回。

正确的组合数应该是15。

程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。

{inti,j,k,sum=0;

\nTheresult:

\n\n"

/**************found**************/

for(i=0;

i<

=3;

i++)for(i=1;

{for(j=1;

j<

=5;

j++)

{k=8-i-j;

if(k>

=1&

k<

=6)if(k>

=0&

k<

=6)

{sum=sum+1;

red:

%4dwhite:

%4dblack:

%4d\n"

i,j,k);

returnsum;

{intsum;

sum=fun();

sum=%4d\n\n"

/*5给定程序modi.c中函数fun的功能是:

给一维数组a输入任意4个整数,并按下例的规律输出。

例如输入1、2、3、4,程序运行后将输出以下方阵。

4123

3412

2341

1234*/

#defineM4

voidfun(inta)voidfun(int*a)

{inti,j,k,m;

Enter4number:

for(i=0;

M;

i++)scanf("

a[i]);

\n\nTheresult:

for(i=M;

i>

0;

i--)

{k=a[M-1];

for(j=M-1;

j>

j--)

a[j]=a[j+1];

a[j]=a[j-1];

a[0]=k;

for(m=0;

m<

m++)printf("

%d"

a[m]);

{inta[M];

fun(a);

6.两数交换传址形参必分别标注数据类型

/*6给定程序modi.c中,函数fun的功能是:

实现两个整数的交换。

例如给a和b分别输入:

60和65,输出为:

a=65b=60*/

voidfun(inta,b)voidfun(int*a,int*b)#voidfun(int*b,int*a)

{intt;

t=b;

b=a;

a=t;

t=*b;

*b=*a;

*a=t;

#t=*a;

*a=*b;

*b=t;

{inta,b;

Entera,b:

%d%d"

a,&

fun(&

a=%db=%d\n"

a,b);

7.逻辑等于计数器输出k以内最大的10个能被13或17整除的自然数之和

/*7给定程序modi.c中,函数fun的功能是:

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

k的值由主函数传入,若k的值为500,则函数值为4622。

intfun(intk)

{intm=0,mc=0,j;

while((k>

=2)&

(mc<

10))

/************found************/

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

{m=m+k;

mc++;

k--;

returnm;

_____}

{clrscr();

%d\n"

fun(500));

8.数据交换三个数的有序排放

/*8.把主函数中输入的3个数,最大的放入a中,最小的放入c中,若输入:

551234.

a=55.0,b=34.0,c=12.0.*/

voidfun(float*p,float*q,float*s)

{

/************found************/

float*k;

floatk;

if(*p<

*q)

{k=*p;

*p=*q;

*q=k;

if(*s<

*p)if(*p<

*s)#if(*s>

*p)#if(0>

*p-*s)#if(*p-*s<

0)

{k=*s;

*s=*p;

*p=k;

if(*q<

*s)

{k=*q;

*q=*s;

*s=k;

{floata,b,c;

Inputabc:

%f%f%f"

b,&

c);

a=%4.1f,b=%4.1f,c=%4.1f\n\n"

a,b,c);

/*9.给定程序modi.c中,函数fun的功能是:

找出一个大于给定整数m且紧随m的素数,并作为函数值返回。

intfun(intm)

{inti,k;

for(i=m+1;

;

i++){

for(k=2;

i;

k++)

if(i%k!

=0)if(i%k==0)

break;

if(k<

i)if(k==i)#if(k>

=i)#if(i<

=k)#if(i==k)

return(i);

}}

{intn;

\nPleaseentern:

n);

fun(n));

10.内层循环的起始终止值选择排序

/*10.给定程序modi.c中,函数fun的功能是:

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

#defineN20

voidfun(inta[],intn)

{inti,j,t,p;

for(j=0;

n-1;

j++){

p=j;

for(i=0;

i++)for(i=j;

i++)#for(i=j+1;

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;

排序前的数据:

m;

i++)printf("

a[i]);

printf("

fun(a,m);

排序后的数据:

11.二分法求根多函数精度

/*11给定程序modi.c,函数fun和funx的功能是:

用二分法求方程2x^3-4x^2+3x-6=0

的一个根,并要求绝对误差不超过0.001。

例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。

math.h"

doublefunx(doublex)

{return(2*x*x*x-4*x*x+3*x-6);

doublefun(doublem,doublen)

intr;

doubler;

r=(m+n)/2;

while(fabs(n-m)<

0.001)while(fabs(n-m)>

0.001)#while(fabs(m-n)>

0.001)

{if(funx(r)*funx(n)<

0)m=r;

elsen=r;

returnr;

{doublem,n,root;

Entermn:

\n"

m,&

root=fun(m,n);

root=%6.3f\n"

root);

12.多项式之和迭带

/*12.给定程序modi.c中,函数fun的功能是:

根据整型形参n,计算如下公式的值。

A1=1,A2=1/(1+A1),A3=1/(1+A2)。

An=1/1+A(n-1)

例如:

若n=10,则应输出:

0.617977。

intfun(intn)floatfun(intn)

{floatA=1;

inti;

for(i=2;

i++)for(i=2;

=n;

A=1.0/(1+A);

returnA;

{intn;

A%d=%f\n"

n,fun(n));

13.多项式之和数据类型

/*13给定程序modi.c中,函数fun的功能是:

根据整型形参m的值,计算如下公式的值。

t=1-1/(2*2)-1/(3*3)......-1/(m*m)例如:

若m中的值为:

5,则应输出:

0.536389。

doublefun(intm)

{doubley=1.0;

inti;

for(i=2;

=m;

y-=1/(i*i);

y-=1./(i*i);

#y-=1.0/(i*i);

#y-=(double)1/(i*i);

return(y);

{intn=5;

\nTheresultis%lf\n"

14.字串数组下标妙用字串结束

/*14函数fun的功能是:

统计字符串中各元音字母(即:

A、E、I、O、U)的个数。

字母不分大小写。

例如:

若输入:

THIsisaboot,则输出应该是:

1、0、2、2、0。

fun(char*s,intnum[5])

{intk,i=5;

for(k=0;

num[i]=0;

num[k]=0;

for(;

*s;

s++)

{i=-1;

switch(s)switch(*s)

{case'

a'

:

case'

A'

{i=0;

case'

e'

E'

{i=1;

i'

I'

{i=2;

o'

O'

{i=3;

u'

U'

{i=4;

if(i>

=0)

num[i]++;

/*15.将长整型数中的每一位上为奇数的数依次取出,构成一个新数放在t中,高位仍为高位,低位仍为低位,例如:

s中的数为:

87653142,t中的数为7531.*/

voidfun(longs,long*t)

{intd;

longs1=1;

t=0;

*t=0;

while(s>

0)

{d=s%10;

if(d%2==0)if(d%2!

=0)#if(d%2)#if(d%2==1)

{*t=d*s1+*t;

s1*=10;

s/=10;

{longs,t;

\nPleaseenters:

%ld"

s);

fun(s,&

t);

Theresultis:

%ld\n"

t);

/*16.从整数10到55之间,选出能被3整除且至少有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回.规定:

函数中的a1中放个位数,a2中放十位数.*/

fun(int*b)

{intk,a1,a2,i=0;

for(k=10;

=55;

{a2=k/10;

a1=__________;

a1=k%10;

if((k%3==0&

a2==5)||(k%3==0&

a1==5))

{b[i]=k;

i++;

returnk;

#returni;

{inta[100],k,m;

m=fun(a);

k++)printf("

%4d"

a[k]);

/*17.把n个数按由大到小排序.*/

stdlib.h>

voidfun(inta,intn)voidfun(int*a,intn)#voidfun(inta[],intn)#voidfun(inta[N],intn)

{inti,j,k,t;

for(j=0;

{k=j;

for(i=j+1;

if(a[i]<

a[k])k=i;

if(a[i]>

a[k])k=i;

t=a[j];

a[j]=a[k];

a[k]=t;

{inta[N],i;

N;

i++)a[i]=rand()%100;

####beforesort####\n\n"

i++)printf((i+1)%10?

%6d"

%6d\n"

fun(a,N);

****aftersort****\n\n"

18.由一个数构成另一

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

当前位置:首页 > 工作范文 > 制度规范

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

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