C语言改错题库.docx

上传人:b****8 文档编号:12101611 上传时间:2023-06-04 格式:DOCX 页数:26 大小:21.34KB
下载 相关 举报
C语言改错题库.docx_第1页
第1页 / 共26页
C语言改错题库.docx_第2页
第2页 / 共26页
C语言改错题库.docx_第3页
第3页 / 共26页
C语言改错题库.docx_第4页
第4页 / 共26页
C语言改错题库.docx_第5页
第5页 / 共26页
C语言改错题库.docx_第6页
第6页 / 共26页
C语言改错题库.docx_第7页
第7页 / 共26页
C语言改错题库.docx_第8页
第8页 / 共26页
C语言改错题库.docx_第9页
第9页 / 共26页
C语言改错题库.docx_第10页
第10页 / 共26页
C语言改错题库.docx_第11页
第11页 / 共26页
C语言改错题库.docx_第12页
第12页 / 共26页
C语言改错题库.docx_第13页
第13页 / 共26页
C语言改错题库.docx_第14页
第14页 / 共26页
C语言改错题库.docx_第15页
第15页 / 共26页
C语言改错题库.docx_第16页
第16页 / 共26页
C语言改错题库.docx_第17页
第17页 / 共26页
C语言改错题库.docx_第18页
第18页 / 共26页
C语言改错题库.docx_第19页
第19页 / 共26页
C语言改错题库.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言改错题库.docx

《C语言改错题库.docx》由会员分享,可在线阅读,更多相关《C语言改错题库.docx(26页珍藏版)》请在冰点文库上搜索。

C语言改错题库.docx

C语言改错题库

C语言改错题库

从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。

例如,当s中的数为:

7654321时,t中

的数为:

7531。

#include

voidmain()

{longs,t,sl=10;

printf("\nPleaseenters:

");

scanf("%ld",&s);

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

t=s%10;

while(s>0)

{s=s/100;

t=s%10*sl+t;

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

sl=sl*10;

}

printf("Theresultis:

%ld\n",t);

}

2.求一维数组a中的值为偶数的元素之和。

例如,当一维数组a中的元素为:

10,4,2,7,3,12,5,34,5,9,程序

的输出应为:

Theresultis:

62

#include

#include

voidmain()

{inta[10]={10,4,2,7,3,12,5,34,5,9},i,s;

s=0;

for(i=0;i<10;i++)

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

if(a[i]%2==0)

s=s+a[i];

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

printf("Theresultis:

%d\n",s);

}

若用函数调用来求呢?

#include

intsum(intarr[],intn)

{inti,s;

s=0;

for(i=0;i

if(arr[i]%2==0)

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

s=s+arr[i];

return(s);

}

voidmain()

{inta[10]={10,4,2,7,3,12,5,34,5,9},i,s;

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

s=sum(a,10);

printf("Theresultis:

%d\n",s);

}

3.求二维数组a中的最大值。

例如,当二维数组a中的元素为:

4434

7312

565程序的输出应为:

Themaxis:

34。

#include

intarrmax(intarr[3][3])

{inti,j,max;

max=arr[0][0];

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

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(max

return(max);}

voidmain()

{inta[3][3]={4,4,34,7,3,12,5,6,5},i,j;

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

printf("Themaxis:

%d\n",arrmax(a));}

若用函数调用呢?

#include

intmax;

maxarr(intarr[])

{intpos,i;

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

max=arr[0];

pos=0;

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

if(max

{max=arr[i];

pos=i;}

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

return(pos);

}

voidmain()

{inta[10]={34,4,2,7,3,12,5,8,5,9};

printf("Themaxis:

%d,posis:

%d\n",max,maxarr(a));

}

5.猴子第一天摘下若干桃子

当即吃了一半又多吃一个;第二天

将剩下的桃子吃了半又多吃一个,到第12天的早上,只剩下一个

桃子,求第一天共摘了多少桃子。

#include

voidmain()

{inti,j,x,p;

x=1;

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

j=11;

while(j>=1)

{p=(x+1)*2;

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

X=p;

j--;

}

printf("totalis%d\n",p);

}

6.将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。

高位仍在高位,低位仍在低位。

例如,当s中的数为:

87653142时,t中的数为:

8642。

#include

voidmain()

{longs,t,sl=1;

intd;

printf("\nPleaseenters:

");scanf("%ld",&s);

t=0;

while(s>0)

{d=s%10;

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

if(d%2==0)

{t=d*sl+t;

sl*=10;}

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

s/=10;}

printf("Theresultis:

%ld\n",t);}

7.求出a所指数组中最大数(规定最大数不在a[0]中),最大值和a[0]中的数对调。

例如数组中原有的数为:

7、10、12、0、3、6、9、11、5、8,

输出的结果为:

12、10、7、0、3、6、9、11、5、8。

#include

#defineN10

voidmain()

{inta[N]={7,10,12,0,3,6,9,11,5,8},n=10,i,k,m,max,t;

for(i=0;i

max=a[0];m=0;

for(k=1;k

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

if(a[k]>max)

{max=a[k];m=k;}

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

t=a[0];a[0]=a[m];a[m]=t;

for(i=0;i

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

printf("\n");

}

8.输出200~300之间的所有素数,要求每行输出8个素数。

#include

#include

voidmain()

{intm,j,n=0,k;

for(m=200;m<=300;m++)

{k=sqrt(m);

for(j=2;j<=k;j++)

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

if(m%j==0)break;

if(j>k)

{if(n%8==0)printf("\n");

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

printf("%6d",m);

n++;}

}}

9.打印九九乘法表

#include

voidmain()

{inti,j,k;

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

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

{for(j=1;j<=i;j++)

printf("%3d*%3d=%3d",i,j,i*j);

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

printf("\n");

}

}{for(j=1;j<=i;j++)printf("\n");

10.输出100~200之间既不能被3整除也不能被7整除的整数并统计这些整数的个数,要求每行输出8个数。

#include

voidmain()

{inti;

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

intn=0;

for(i=100;i<=200;i++)

{

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

if(i%3!

=0&&i%7!

=0)

{if(n%8==0)printf("\n");

printf("%6d",i);

n++;}}

printf("\nNumbersare:

%d\n",n);

}

10.输出100~200之间既不能被3整除也不能被7整除的整数并统计这些整数的个数,要求每行输出8个数。

#include

voidmain()

{inti;

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

intn=0;

for(i=100;i<=200;i++)

{

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

if(i%3!

=0&&i%7!

=0)

{if(n%8==0)printf("\n");

printf("%6d",i);

n++;}}

printf("\nNumbersare:

%d\n",n);

}

11.打印输出以下图形

*

***

*****

*******

*********

#include

voidmain()

{inti,j;

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

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

{printf("\n");

for(j=1;j<=10-i;j++)

printf("");

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

for(j=1;j<=2*i-1;j++)

printf("*");}

printf("\n");

}

12.求:

1!

+2!

+3!

+……+20!

#include

voidmain()

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

{floats,t;

intn;

s=0;t=1;

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

for(n=0;n<20;n++)

{t=t*(n+1);

s=s+t;}

printf("1!

+2!

+3!

+…+20!

=%e\n",s);

}

13.输入一个百分制成绩,打印出五级记分成绩。

#include

voidmain()

{intscore,t;

do

scanf("%d",&score);

while(score<0||score>100);

t=score/10;

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

switch(score/10)

{case10:

case9:

printf("Excellent!

\n");break;

case8:

printf("Good!

\n");break;

case7:

printf("Middle!

\n");break;

case6:

printf("Pass!

\n");break;

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

default:

printf("Fail!

\n");}}

14.求一维数组a中值为奇数的元素的平均值。

#include

doubleaverage(intarr[],intn)

{intk=0,i;doubles;

s=0;

for(i=0;i

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

if(arr[i]%2==1)

{s=s+arr[i];k++;}

return(s/k);}

main()

{inta[12]={10,4,2,7,3,12,5,34,5,9,21,18};

doubles;

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

s=average(a,12);

printf("Theresultis:

%.2f\n",s);

}

15.将[m,n]之间的所有素数存放到一维数组a中,并输出。

#include

#include

prime(intm)

{intj,k;

k=sqrt(m);

for(j=2;j<=k;j++)

if(m%j==0)return(0);

return

(1);}

voidmain()

{inta[100],i,c=0,m,n,t;

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

if(m>n){t=m;m=n;n=t;}

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

for(i=m;i<=n;i++)

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

if(prime(i)==1)

{a[c]=i;

printf("%4d",a[c]);

c++;}}

16.求一维数组a中所有元素的平均值。

#include

floataverage(a,n)

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

inta[],n;

{intj;floataver;

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

floats=0;

for(j=0;j

s+=a[j];

aver=s/n;

return(aver);}

main()

{inta[12]={10,4,2,7,3,12,5,34,5,9,6,8};

printf("Theaverageis:

%.2f\n",average(a,12));

}

17.将[2,100]之间的所有素数存放到一维数组a中,并输出这些素数。

#include

#include

voidmain()

{inta[100],i,j,k,m;

m=0;

for(i=2;i<=100;i++)

{k=sqrt(i);

for(j=2;j<=k;j++)

if(i%j==0)

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

break;

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

if(j>=k+1)

a[m++]=i;

for(i=0;i

}

18.求一维数组a中所有元素的平均值,结果保留两位小数。

例如,当一维数组a中的元素为:

10,4,2,7,3,12,5,34,5,9

程序的输出应为:

Theaveris:

9.10。

#include

voidmain()

{inta[10]={10,4,2,7,3,12,5,34,5,9},i;

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

floataver,s;

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

s=a[0];

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

s+=a[i];

aver=s/i;

printf("Theaveris:

%.2f\n",aver);

}

19.当M为5时,如果从键盘上输入的5个数

分别为:

1、2、3、4、5时,输出应为:

12321。

当M为10时,如果从键盘上输入的10个数

分别为:

1、2、3、4、5、6、7、8、9、10时,

输出应为:

1234554321。

#defineM5

voidmain()

{inti,a[100],t;

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

for(i=0;i

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

for(i=0;i

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

a[M-i-1]=a[i];

for(i=0;i

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

printf("\n");

}

20.在第一个循环中给a数组的前10个数组元素

依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1;在最后一个循环中输出对称折叠以后的a数组的前10个元素。

#include

voidmain()

{inti,a[10];

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

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

a[i-1]=i;

for(i=0;i<5;i++)

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

a[10-i-1]=a[i];

for(i=0;i<10;i++)

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

printf("\n");

}

21.把数组a(大小为M)中前M-1个元素中的最大值放入a的最后一个元素中。

#include

#defineM11

voidmain()

{inta[M],i;

for(i=0;i

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

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

a[M-1]=a[0];

for(i=1;i

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

if(a[M-1]

a[M-1]=a[i];

printf("Maxis%d\n",a[M-1]);

}

22.求排列组合的值

求Cmn=——————之值。

n!

*(m-n)!

#include

longintfun(intx)

{longints=1;inti;

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

s*=i;

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

return(s);

}

voidmain()

{longintm=12,n=2,s1,s2,s3;

s1=fun(m);s2=fun(n);s3=fun(m-n);

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

printf(“cmnis:

%ld",s1/(s2*s3));}

23.计算正整数num的各位上的数字之和。

若输入:

202,则输出应该是:

4。

voidmain()

{

intnum,k;

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

k=0;

printf("\Pleaseenteranumber:

");

scanf("%d",&num);

do

{

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

k=k+num%10;

num/=10;}

while(num);

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

}

24.从键盘上输入一个正整数n,计算并输出n的阶乘。

例如,如果从键盘上输入8,程序的运行结果应为:

Theresultis:

40320。

#include

longfac(intn)

{inti;

longt=1;

for(i=2;i<=n;i++)

t=t*i;

return(t);

}

voidmain()

{intn;

longints;

printf("Enteranintegernumber:

");

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

scanf("%d",&n);

s=fac(n);

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

printf("Theresultis:

%ld\n",s);

}

25.从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数.例如:

从键盘上输入2345,

则程序运行的结果应当为:

n=2345。

#include"stdio.h"

voidmain()

{chars[10];inti;

longintn=0;

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

scanf("%s",s);或gets(s);

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

for(i=0;i

='\0';i++)

n=n*10+s[i]-'0';

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

}

26.求一维数组a中素数的个数。

例如:

如果数组a的元素为:

2,3,5,7,8,9,10,11,12,13,

则程序的输出应为:

primenumber(s)is(are):

6。

#include

voidma

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

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2