改错编程题

时间:2019-05-15 04:59:42下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《改错编程题》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《改错编程题》。

第一篇:改错编程题

实验二 VC++流程控制语句

(一)二 程序设计题

1、编写程序,输入一个不多于5位的整数,求出它是几位数,并分别打印出每一位数字,再按逆序打印出各位数字。

2、编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形。若能,则判断组成的是等腰、等边、直角还是一般三角形;若不能,则输出相应的信息。

1、参考程序 方法一:

#include void main(){

int m,a,b,c,d,e;cout<<“输入一个不多于5位的数字:”;cin>>m;a=m%10;//个位 b=m/10%10;//十位 c=m/100%10;//百位 d=m/1000%10;//千位 e=m/10000;//万位

if(e!=0)cout<

5位

数,”<<“

是”<

else if(d!=0)cout<

else if(c!=0)cout<

3位数,”<<“逆序各位数字是位数,”<<“逆序各位数字是2位数,”<<“逆序各位数字是”<

else if(b!=0)cout<

else cout<

} //当输入数字是012时,其实输入的是八进制数,对应的十进制是10。

方法二:

#include void main(){

int a,b,c;//b表示所输入数的位数

cout<<“请输入一个不多于5位数的正整数:”;cin>>a;cout<<“从个位到万位分别为:”;if(a==0)cout<

for(b=0;a;b++)

{

c=a%10;

cout<<'t'<

a=a/10;

}

cout<<“ 共”<

} }

2、参考程序 #include void main(){

} int a,b,c;cout<<“输入三边的长:”;cin>>a>>b>>c;if(a+b>c&& a-b

if(a==b&&b==c&&c==a)//错误的a==b==c cout<<“能构成等边三角形”<<'n';else if(a==b||a==c||b==c)

cout<<“能构成等腰三角形”<<'n';

else if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)

cout<<“能构成直角三角形”<<'n';

else

cout<<“能构成一般角形”<<'n';} else cout<<“不能构成三角形”<<'n';实验二 VC++流程控制语句

(二)1、从键盘输入整数n,求n的阶乘。

2、从键盘输入若干个实数,以输入0结束。设计一程序,分别统计正数的个数和负数的个数,并求出正数之和、负数之和及总平均值

3、设计一个程序,求出满足以下条件的最小n值和s值:

s=1+2+3……….+n, 且s>=600

4、用二分法解方程f(x)=0的具体算法如下:

(1)输入x1,x2,直至f(x1)与f(x2)异号,说明方程在x1、x2之间有解。

(2)求x1和x2的中点x0.(3)如果f(x0)与f(x1)同号,表明方程的解在x0与x2之间,用x0取代x1;否则方程的解在x0与x1之间,用x0取代x2.(4)如果f(x0)的值足够小,则方程的近似解为x0;否则重复执行步骤(2)、(3)、(4),直至f(x0)足够小。

(5)输出方程的解x0.2要求用二分法求解方程x+4x-4=0.参考程序:

1、#include void main(void){

}

2、#include void main(void){ float a,s1=0,s2=0;int m=0,n=0;

cin>>a;while(a){

if(a>0){ m++;s1+=a;} else{ n++;s2+=a;int i=1,n;long int s=1;cout<<“请输入一个整数:”;cin>>n;while(i<=n){ s*=i;i++;} cout<<“n!=”<>a;} cout<<“n正数有”<

cout<<“n正数之和为:”<

3、cout<<“n总的平均为:”<<(s1+s2)/(m+n)<<'n';#include void main(){ int n=0,s=0;while(s<600){

++n;} s+=n;cout<<“n=”<

4、#include #include void main(){

} float x0,x1,x2;double y0,y1,y2;do{ cout<<“请输入方程的两个初始区间值:”;cin>>x1>>x2;y1=x1*x1+4*x1-4;y2=x2*x2+4*x2-4;}while(y1*y2>0);

x0=(x1+x2)/2;y0=x0*x0+4*x0-4;do{ if(y0*y1>0){x1=x0;y1=y0;} else {x2=x0;y2=y0;}//可以不要y2=y0;x0=(x1+x2)/2;y0=x0*x0+4*x0-4;}while(fabs(y0)>1e-5);cout<<“方程x^2+4x-4=0的解为”<

(三)二、改错题 答案:

增加 #include

j=sqrt(i);修改为: int j=sqrt(i);if(i%n=0)break;修改为:if(i%n==0)break;if(k/5=0)cout<<'n';修改为:if(k%5==0)cout<<'n';

三、编程设计题

1、设计一个程序,输出所有的水仙花数。所谓水仙化数是一个三为数,其各位数字的立方和等于该数本身。列如153是一个水仙化数。水仙花数的算法分析:

1)用穷举法对100~999之间的每个数验证,验证公式为:x=h*h*h+d*d*d+n*n*n 2)分解一个3位数x的百位、十位和个位。

2、求出1000以内所有完全数,并输出。例如6就是一个完全数,6的因数共有4个:1、2、3、6,除了6自身这个因数外,其他的3个因数都是它的真因数,把6的所有真因数都加起来,正好等于6这个自然数本身。具有这种性质的自然数叫做完全数。

参考程序:

1、#include void main(){

int x,h,d,n;cout<<“水仙花数为:”;for(int i=100;i<1000;i++){

h=i/100;d=i/10%10;n=i%10;x=h*h*h+d*d*d+n*n*n;if(i==x)cout<

2、#include void main(){

} int s;for(int i=1;i<=1000;i++){

} s=0;for(int j=1;j<=i/2;j++)if(i%j==0)

s+=j;if(s==i)cout<

实验三 函数与编译预处理(一)

三、改错题

答案:

增加#include int isprime(n)修改为:int isprime(int n)if(n%i==0)break;修改为:if(n%i==0)return 0;if(!isprime(k))修改为:if(isprime(k))

四、编程设计题

1、设计一程序,计算组合数:C(m,r)=m!/(r!*(m-r)!),其中m,r为正整数,且m>r.分别求出C(4,2).C(6,4).C(8,7)的组合数。求阶乘和组合数须用函数来实现。

2、阿克曼函数定义如下,其中m、n为正整数,设计一个程序,分别求出Acm(3,2)和Acm(2,2)的值。

m0n1Acm(m,n)Acm(m1,1)n0

Acm(m1,Acm(m,n1))n0,m0参考程序:

1、#include long int jc(int n){ if(n==1)return 1;return n*jc(n-1);} long int zh(int m,int r){ int c;

} if(m<=r){ cout<<“m必须大于r!”<<'n';exit(1);} c=jc(m)/(jc(r)*jc(m-r));return c;

void main(void){

}

2、#include long int Acm(int m,int n){ int c;if(m==0)return n+1;cout<<“C(4,2)=”<

} if(n==0)return Acm(m-1,1);if(n>0&&m>0){ c=Acm(m,n-1);return Acm(m-1,c);}

void main(){

} int m,n;cout<<“Acm(5,3)=”<>m>>n;cout<<“Acm(”<

实验三 函数与编译预处理(二)

三、改错题 答案:

在main()的上面增加语句int gys(int x,int y);return y;修改为:return x;

三、编程设计题

1、设计一程序,将求两个实数的最大值函数放在头文件myfun.h中,在源程序文件mypro.cpp中包含该头文件,并实现输入三个实数,求最大值。

2、设计一程序,定义重载函数area,分别求圆和长方形的面积。

3、用递归法将一个整数n转换成字符串。例如,输入整数567,应输出字符串“567”。n的位数不确定,可以是任意的整数。参考程序:

1、//myfun.h float max(float x, float y){

float z;if(x>y)z= x;else z=y;return z;} //mypro.cpp #include #include“myfun.h” void main(){ float a,b,c;cin>>a>>b>>c;

cout<<“最大值为:”<< max(max(a,b),c)<<'n';}

2、#include #define PI 3.14 double area(float r){ return PI*r*r;} double area(float a,float b){ return a*b;void main(){ } float r=2.5, a=2,b=1.2;cout<<“圆的面积为:”<

3、#include void fun(int n){

} int a,b;a=n%10;b=n/10;if(b)fun(b);cout<

int m;

} cin>>m;cout<<“转换后的字符串为:”“;fun(m);cout<<”“"<

实验四 数组的应用

(一)一、程序设计题

1、定义一个10个整数的数组,从键盘输入数据,设计一程序,找出其中最大的偶数和最大的奇数(若设有奇数时,输出“没有奇数!”,若没有偶数,输出“没有偶数!”)。

2、输入一组非0整数(以输入0作为输入结束标志)到一维数组中。设计一程序,求出这一组数的平均值,并分别统计出这一组数中正数和负数的个数。参考程序:

1、#include void main(){ int a[10],b[10],c[10];

int max1,max2,j=0,k=0,m,n,t;cout<<”请输入10个整数:“;for(int i=0;i<10;i++)cin>>a[i];for(i=0;i<10;i++){

if(a[i]%2){ b[j++]=a[i];n=j;} else { c[k++]=a[i];m=k;} } if(j==0)cout<<”没有奇数。“;else {

max1=b[0];cout<<”输入的奇数有:“;for(i=0;imax1)max1=b[i];} cout<<”其中最大的奇数为:“<

for(i=0;imax2)max2=c[i];} cout<<”其中最大的偶数为:“<

2、#include void main(){ int a[100;

} int,j=0,k=0,t;float avg,s=0;cout<<”请输入一组整数(0结束):“;int i=0;do{ cin>>a[i];s+=a[i];i++;}while(a[i-1]);t=i-1;cout<<”共输入“<0)j++;else if(a[i]<0)k++;avg=s/t;cout<<”这组数的平均值为“<

实验四 数组的应用

(二)四、编程题

1、设计一程序,用cin.getline()将一个字符串输入到字符数组s(char s[200])中,删除字符串的所有空格后输出。参考程序 //方法一:

#include #include void main(){

}

//法二: #include #include char s[200],t[200];int i=0,j=0;cout<<”请输入字符串(回车结束):“;cin.getline(s,200);cout<<”s=“<

void main(){ char s[200];int i=0;cout<<”请输入字符串(回车结束):“;

cin.getline(s,200);cout<<”s=“<

第二篇:编程题总结

大家必须掌握每种类型的1-3题。

题号考点要求

48、将两个两位数的整数合并成一个整数

65、两个正整数合并成一个整数

71、两个正整数合并成一个整数

77、两个正整数合并成一个整数

81、两个正整数合并成一个整数

84、两个正整数合并成一个整数

87、两个正整数合并成一个整数

91、两个正整数合并成一个整数

8、s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+.....+n)

9、p=m!/(n!*(m-n)!)

26、连加

68、s=1+1/1!+1/2!+1/3!+........70、s=1/(1*2)+1/(2*3)+...+1/(n*(n+1))

76、s=1+0.5*x+(0.5*(0.5-1)*x*x/2!+......86、连加

90、连加

92、连加

93、连加

97、连加

100、连加

(2、)

类似素数或者闰年算法

2、求出1到1000之间能被7或11整除、但不能同时被7和11整除的所有整数,并将他们放在a所指的数组中,通过n返回这些数的个数。

58、求n以内同时能被3与7整除的所有自然数之和的平方根s3、求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

27、求出1到m之间能被7或11整除的整数,放在数组中,通过n返回这些数的个数

63、求n的所有因子(不包括1与自身)

98、计算n以内能被5或9整除的所有自然数的倒数之和

15、w是大于10的无符号整数,若w是n(n>=2)位的整数,则函数求出w的后n-1位的数作为函数值返回。

24、将数字字符串转化为一个整数

16、对变量中的值保留两位小数,对第三位四舍五入

(3、)

1、一维数组中,将低于平均分的人数作为函数值返回,低于平均分的分数放在below所指的数组中。

82、计算一维数组中n门课程的平均分

96、一维数组中每相邻元素之平均值的平方根之和

28、找出一维数组中最大的值和它所在的下标,两者通过形参返回

7、求出数组的最大元素在数组中下标并存放在k所指的存贮单元中。

43、从num个字符串中找出最长的一个字符串,并通过形参指针传回

39、移动数组中的内容,前p个数移动到数组后面

40、移动数组中的内容,前m个字符移动到后面

5、将大于整数m且紧靠m的k个素数存入xx所指的数组中。

20、求出小于变量m的所有素数并放在一个数组中

51、将大于1小于m的非素数存入xx所指数组中,个数通过形参返回

99、计算3到n之间所有素数的平方根之和

29、将字符串中下标为奇数位置上的字母转化为大写

47、字符串中所有下标为奇数的字母转为大写

31、将字符串中除了下标为偶数、同时ASCII码也为偶数的字符外,其余的全都删除;串中剩余字符放在t字符串中

32、除了下标为奇数、同时ASCII码也为奇数的字符外,其余的全都删除;串中剩余字符放在t字符串中

49、将字符串中下标为偶数且ASCII码为奇数的字符删除

19、从字符串中删除指定字符

64、将字符串中ASCII值为奇数的字符删除,剩余字符放在t所指字符串中

72、将字符串中下标为偶数的字符删除

78、字符串中ASCII为偶数的字符删除

35、删除字符串中所有空格

6、删除一个字符串中指定下标的字符。

60、删去一维有序数组中所有相同的数,使之只剩一个

33、删除字符串中尾部*号,使不超过n个

36、把字符串中的前导*号全部移到字符串尾部

45、删除字符串中前导和尾部的*号

56、字符串中,除了尾部*号外,字符串中其余*号全部删除

73、删除字符串中除了前导和尾部*号外的所有*号

83、字符串中尾部*号删除

88、字符串中除了前导*外,删除其余*号

94、字符串中,前导*号全部删除

95、字符串中前导*号不得多于n个

66、删除字符串中所有*号

(4、)

17、字符串内容逆置

23、判断字符串是否为回文

25、比较两个字符串的长度(不能用strlen)

52、实现两个字符串连接

59、将字符串数组中的字符串依次合并到一个字符串中

21、字符串中字符按降序排列(选择法排序)

4、统计在tt字符串中“a”到“z”26个字母各自出现的次数,并依次放在pp所指数组中。

38、求出字符串中指定字符的个数

44、统计长度为2的字符串在另一个字符串出现的次数

62、统计一行字符串中单词个数

11、二维数组构成矩阵,使数组左下半三角元素中的值全部置成042、二维数组,将右上半角元素中的值乘以m80、二维数组中左下半三角中元素中的值乘以312、求出数组周边元素的平均值

14、求出二维数组周边元素之和

18、矩阵行列互换

53、矩阵B=A+A130、求出二维数组中最大元素的值,此值返回给调用函数

55、M行N列的二维数组中的数据,按行的顺序依次放到一维数组中

41、将二维数组中的字符,按列的顺序依次放到一个字符串中

75、二维数组中数按列的顺序放到一维数组中

13、求出二维数组每列中最小元素,并依次放在pp所指一维数组中

37、结构体数组(学号、8门成绩、平均成绩),求出每个学生的平均成绩

34、把结构体数组(学号、成绩)中分数最高的学生放到h数组中,函数返回人数

74、把结构体数组(学号、成绩)中分数最低的学生数据放在h所指数组中

50、结构体数组(学号、成绩),找出成绩最高的学生记录,通过形参返回

54、结构体数组(学号、成绩),低于平均分的学生数据放在b所指数组中

89、结构体数组(学号、成绩),高于等于平均分的学生人数通过形参返回

57、结构体数组(学号、姓名),把指定范围内的学生数据放在所指数组中

67、结构体数组(学号、成绩)返回指定学号的学生数据(查找)

46、结构体数组(学号、成绩),按分数降序排列(选择法排序)

22、链表结构中,找出数值最大的结点,并由函数值返回

85、链表中,求出平均成绩

10、迭代法求方程的实根

61、统计各年龄段人数(建议采用if else)

69、递归函数

第三篇:MATLAB 编程题总结

MATLAB 编程题总结

LY 1.输出x,y两个中值较大的一个值。

x=input('x=');y=input('y=');if x>y x else y end 2.输入x,计算y的值。计算函数的值yx1,x0

2x1,x0x=input('x=');if x<0 y=x+1 else y=2*x-1 End 3.输入一学生成绩,评定其等级。方法是:90~100分为“优秀”,80~89分为“良好”,70~79分为“中等”,60~69分为“及格”,60分以为“不合格”

x=input('x=');if x>100 | x<0 y='输入错误' elseif x>=90 y='优秀' elseif x>=80 y='良好' elseif x>=70 y='中等'

elseif x>=60 y='及格' else

y='不合格' end

4.某购物超市节日期间举办购物打折扣的促销活动,优惠办法是:每位顾客当天一次性购物在100元以上者,按九五折优惠;在200元以上者,按九折优惠;在300元以上者,按八五折优惠;在500元以上者,按八折优惠。则可以根据顾客购物款数计算出优惠价。

x=input('x=');if x>=500

y=x*0.8 elseif x>=300 y=x*0.85 elseif x>=200 y=x*0.9 else

y=x*0.95 end

5.编程计算:S=1+2+3+„+100

sum=0;

for i=1:100 sum=sum+i;end sum

6.计算1~100的奇数和.sum=0;

for i=1:2:100 sum=sum+i;end Sum 或

sum=0;

for i=1:100

if mod(i,2)==1 sum=sum+i;end

end sum

7.百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。

设母鸡、公鸡、小鸡各为x、y、z只,根据题目要求,列出方程为:

x+y+z=100 3x+2y+0.5z=100

三个未知数,两个方程,此题有若干个解。

for x=1:33

for y=1:50

for z=1:200

if x+y+z==100 & 3*x+2*y+0.5*z==100 [x,y,z] end end end end

8.我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。分析:解此问题两种方法,可根据公式:26=13*(1+0.008)n

LiYang

第 1 页 / 共 6 页

MATLAB 编程题总结

LY n=1;m=13;while m<26 m=m*(1+0.008);n=n+1;end n 9.求水仙花数,水仙花数是指一个 n 位数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)(求出1000以内)

for i=100:999 a(1)=fix(i/100);a(2)=fix((i-a(1)*100)/10);a(3)=i-a(1)*100-a(2)*10;if a(1)^3+a(2)^3+a(3)^3==i i end end 10.鸡兔同笼问题:鸡和兔子关在一个笼子里,已知共有头36个,脚100个,求笼内关了多少只兔子和多少只鸡?

for i=1:50 for j=1:36 if i+j==36&i*2+j*4==100 [i,j] end end end 1.用matlab编程求算式xyz+yzz=532中x,y,z的值(其中xyz和yzz分别表

示一个三位数)。

for x=1:9

for y=1:9 for z=1:9

i=100*x+10*y+z+100*y+10*z+z;

if i==532 [x,y,z] end end end end

2.用matlab编程完成用一元人民币换成一分、两分、五分的所有兑换方案(即输出所有的组合方式)。

for i=0:20

for j=0:50

k=100-i*5-j*2;if(k>=0)[i,j,k] end end end

3.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天后可以卖完,请用matlab编程计算。

day=0;x1=1020 while(x1)

x2=x1/2-2;x1=x2;

day=day+1;

end day

4.有一堆零件(100到200之间),如果分成4个零件一组的,则多2个零件;若分成7个零件一组的,则多3个零件;若分成9个零件一组的,则多5个零件。用matlab编程求这堆零件总数。

for i=100:200

if(mod(i-2,4)==0)

if(mod(i-3,7)==0)

if(mod(i-5,9)==0)i end end end end

5.编写程序,求1000至9999之间的回文数.回文数是指正读与反读都一样的数,如1221.for i=1000:1000:9999 for j=0:9

n=i+j*100+j*10+i/1000 end 6.作函数

yend sin(x),x[0,2]的图象,用蓝色五角星表示点。

x=0:pi/10:2pi;y=sin(x);

plot(x,y,’b-p’);

LiYang

第 2 页 / 共 6 页

MATLAB 编程题总结

LY 1: 编写M函数 32fx2xx6.3, x20.05x3.14计算f(1)f(2)f2(3)

function y= fun1(x)y=(x^36.3)/(x^2 + 0.05*x-3.14);fun1(1)*fun1(2)+fun1(3)*fun1(3)ans =-12.6023 2:编写M函数x1,x2f(x)3x,2x84x5,8x20,cosxsinx,x20计算f(0.1),f(1),f(9),f(22),f(2)

function y=fff(x)if x<2 y=x+1;elseif x>=2 & x<=8 y=3*x;elseif x>8 & x<=20 y=4*x-5;else y=cos(x)+sin(x);end 3:根据pi*pi/6=1/1^2+1/2^2+1/3^2+„„+1/n^2,求pi的近似值。当n分别取100,1000,10000时,结果是多少?

y=0;n=100;

for i=1:n y=y+1/i/i;end y y =

1.6350 pi=sqrt(6*y)pi =

3.1321 y=0;n=1000;for i=1:n y=y+1/i/i;end y y =

1.6439 pi=sqrt(6*y)pi =

3.1406 y=0;n=10000;for i=1:n y=y+1/i/i;end y y =

1.6448 pi=sqrt(6*y)pi =

3.1415(2)y=0;n=8;

y=1./2*n-1;y y=

4:编程求[100,200]之间第一个能被21整除的整数。

for n=100:200 if rem(n,21)~=0 continue end break end

n

5:编写函数文件求半径为r的圆的面积和周长。

function [s,p]=fcircle(r)s=pi*r*r;p=2*pi*r;

6:根据y=1+11,求: 3152n-1(1)y<3时的最大n值。(2)与(1)的n值对应的y值。

y=1;n=1;while(y<3)n=n+2;y=y+1/n;

end

y=y-1/n n=(n+1)/2 运行结果: y =

2.9944

n =

LiYang

第 3 页 / 共 6 页

MATLAB 编程题总结

LY 57 7: 已知f11,n1f20,n2f31,n3

fnfn12fn2fn3,n3求f中:

1~f100最大值、最小值、各数之和。

f(1)=1;f(2)=0;f(3)=1;for i=4:100

f(i)=f(i-1)-2*f(i-2)+f(i-3);end max(f)min(f)sum(f)

1.编程计算3+33+333+3333+„..前10项之和。

m=3;n=0;s=0;for i=1:10 n=10*n+m;s=s+n;end s

2.编程求

1-1/2+1/3-1/4+.......+1/99-1/100的值。

s=0;

for i=1:100

s=s+(-1)^(i-1)*1/i;end

s3.编写程序,求 1-3+5-7+„-99+101的值。

s=0;j=1;

for i=1:2:101

s=s+(-1)^(j-1)*i;j=j+1;end

s4.编写程序,输出从公元1000年至2000年所有闰年的年号。判断公元年是否为闰年的条件是:

(1)公元年数如能被4整除,而不能被100

整除,则是闰年;

(2)公元年数能被400整除也是闰年。

for year=1000:2000

if(mod(year,4)==0&mod(year,100)~=0)|mod(year,400)==0 year end end

5.将10个整数输入到一个数组中,然后再将

其按输入顺序的逆序进行排列并输出。

for i=1:10

a(i)=input('x=');end

for i=10:-1:a(i)end

6.一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少m?第10次反弹多高?

Sn=100;Hn=Sn/2;for n=0:10

Sn=Sn+2*Hn;Hn=Hn/2;end Sn Hn

7.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上再想吃时,见只剩一个桃子了。求第一天共摘多少桃子。

day=9;x=1;while(day>0)x=(x+1)*2;day=day-1;end x

LiYang

第 4 页 / 共 6 页

MATLAB 编程题总结

LY 附:

matlab期中试卷及答案

一、计算题

1.已知A=[1 2 3;4 5 6;7 8 9],B=[1 5 0;1 0 3;0 3 4],试写出下列指令运行的结果: A<=2=,A*B=,A(1, :)*A(:, 3)=。

2.设a= [1,-2,3;4,5,9;6,3,-8], b= [2,6,1;-3,2,7;4,8,-1]。

(1)求a.*b

(2)求a.^2

(3)求 2-a

(4)求a(1:2,2:3)

(5)求min(a(:))

二、计算下列程序运行的结果

1、mysum=0;i=1;

while(i<100)

mysum=mysum+i;

i=i+1;

end

mysum

2、A=[1,2,3;4,5,6;7,8,9];

C=[A;[10,11,12]];

D=C(1:3,[2 3]);

E=C(1:3,:)

写出C、D、E的结果

3、x=[0,1,0,10,1,0,1];

for i=1:7 if x(i)==0

x(i)=1;

else

500≤price<1000

5%折扣

x(i)=0;

1000≤price<2500

8%折扣

end

2500≤price<5000

10%折扣

end 5000≤price

14%折扣

x

输入所售商品的价格,求其实际销售价格。

4、c=6;d=[4,0,6;0,8,0];(3)fibonccci数组的元素满足fibonacci规则:

x=d & c ak+2=ak+ak+1,(k=1,2,…);且a1=a2=1。现要求求出该数组中

y=d|c 第一个大于10000的元素。

z=~d

(4)计算1!+2!+3!+4!+5!+6!+„+n!值的程

写出x、y、z的结果

序。(n可以自由输入)

三、(1)建立M函数完成下列运算(函数名为

五、分析下面程序运行后s1,n1,s2,n2,m的值.jygxfun)

s1=0;s2=0;n1=0;n2=0

f(x,y,z)ze(xy)xyzsin(xy3z)x=[1,-4,-8,3,10,-9,7,-3,10, 8,-5,-2,2,0 ];

m=length(x);(2)若x=1,y=2,z=3,采取调用jygxfun方式计算

for i=1:m f值, 试编程.if x(i)<0

四、(1)编程计算下面问题, x值由键盘输入

s1=s1+x(i);2n1=n1+1;

yx1,x1else x2,1x

1s2=s2+x(i);

n2=n2+1;

(input语句).x21,x1 end

end

(2)某商场对顾客所购买的商品实行打折销

s1,n1,s2,n2,m 售,标准如下(商品价格用price来表示):

2.(1)

price<200

没有折扣

2-12

200≤price<500

3%折扣

a.*b=-12 10

24

LiYang

第 5 页 / 共 6 页

MATLAB 编程题总结

LY(2)1 a.^2= 16 25 81 36 9

64(3)2-a= 1

4-1-2

–7(4)-4

-1-2 a(1:2,2:3)= 5

(5)min(a(:))=-8 二1、4950

2、C =1 10 D = E = 1

3、x =1

0

0

0

4、x = 1

0

0

0

y = 1 z = 0

0

0

三、解:(1)

function [f]=jygxfun(x,y,z)

f=z*exp(-(x+y))+sqrt(x+y+z)*sin(x+y+3*z);(2)

x=1;y=2;z=3;f= jygxfun(x,y,z)

四、(1)解: x=input('x=?');

if x>=1

y=x^2+1;else if x<-1 y=x^2-1;else y=x^2;end end

y

(2)price=input('请输入商品价格');switch fix(price/100)

0 case {0,1}

%价格小于200 rate=0;

case {2,3,4} %价格大于等于200但小于500

rate=3/100;

case num2cell(5:9)%价格大于等于500但小于1000

rate=5/100;

case num2cell(10:24)%价格大于等于1000但小于2500

rate=8/100;

case num2cell(25:49)%价格大于等于2500但小于5000

rate=10/100;

otherwise %价格大于等于5000 rate=14/100;end

price=price*(1-rate)%输出商品实际销售价格(3)

(4)n=input('n=')

s=0

for i=1:n

m=1

for j=1:i

m=m*j;

end

s=s+m;end s

五、s1=-31;n1=6;s2=41;n2= 8;m= 14

LiYang

第 6 页 / 共 6 页

第四篇:编程题小结

1011 字符逆序

Description:将一个字符串str的内容颠倒过来,并输出。Str的长度不超过100个字符。

Input:输入包括一行。第一行输入的字符串。Output:输出转换好的逆序字符串。Sample input:I am a student Sample output:tneduts a ma I 解答:

#include #include

int main(){ int i = 0;char str[100];gets(str);int len=strlen(str)-1;for(i=len;i>=0;i--)printf(“%c”,str[i]);return 0;} 1541 课后习题9.1 Description:输入一行电报文字,将字母变成其下一字母(如a变成b,z变成a等)Input:一行字符

Output:加密处理后的字符 Sample Input:a b Sample Output:b c #include int main(){ int i;char str[100];gets(str);for(i=0;i<100;i++){ if((65<=str[i]&&str[i]<90)||(97<=str[i]&&str[i]<122)){ str[i]+=1;或(str[i]++)} else if(str[i]==122)str[i]=97;else if(str[i]==90)str[i]=65;}

printf(“%sn”,str);return 0;} 1888 #include int main(){ int num;scanf(“%d”,&num);int n,i,j;while(num){ scanf(“%d”,&n);for(i=0;i

Input 输入只有三个正整数a、b、c。

Output 输出一行,包括三个的和、乘积、平均数。数据之间用一个空格隔开,其中平均数保留小数后面两位。

Sample Input 1 2 3 Sample Output 6 6 2.00

#include int main(){ int a,b,c,sum,cheng;float ave;scanf(“%d%d%d”,&a,&b,&c);sum=a+b+c;cheng=a*b*c;ave=sum/3;printf(“%d %d %.2f”,sum,cheng,ave);return 0;}

第五篇:Java基础编程题

【程序1】

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....【程序2】

题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

【程序3】

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

【程序4】

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

【程序5】

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a>b)?a:b这是条件运算符的基本例子。

【程序6】

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

1.程序分析:利用辗除法。

【程序7】

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为'n'.【程序8】

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

1.程序分析:关键是计算出每一项的值。

【程序9】

题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数。

【程序10】

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?

【程序11】

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。

【程序12】

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

【程序13】

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:

【程序14】

题目:输入某年某月某日,判断这一天是这一年的第几天?

1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

【程序15】

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

【程序16】

题目:输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

【程序17】

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

1.程序分析:采取逆向思维的方法,从后往前推断。

【程序18】

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

【程序19】

题目:打印出如下图案(菱形)

*

***

******

********

******

***

*

1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。

【程序20】

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

1.程序分析:请抓住分子与分母的变化规律。

【程序21】

题目:求1+2!+3!+...+20!的和

1.程序分析:此程序只是把累加变成了累乘。

【程序22】

题目:利用递归方法求5!。

1.程序分析:递归公式:fn=fn_1*4!

【程序23】

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

【程序24】

题目:给一个不多于5位的正整数,要求:

一、求它是几位数,二、逆序打印出各位数字。

【程序25】

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

【程序26】

题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。

1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。

【程序27】

题目:求100之内的素数

【程序28】

题目:对10个数进行排序

1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。

【程序29】

题目:求一个3*3矩阵对角线元素之和

1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。

【程序30】

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

1.程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

【程序31】

题目:将一个数组逆序输出。

1.程序分析:用第一个与最后一个交换。

【程序32】

题目:取一个整数a从右端开始的4~7位。

程序分析:可以这样考虑:

(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)

(3)将上面二者进行&运算。

【程序33】

题目:打印出杨辉三角形(要求打印出10行如下图)

1.程序分析:2 13 3 14 6 4 15 10 10 5 1

【程序34】

题目:输入3个数a,b,c,按大小顺序输出。

1.程序分析:利用指针方法。

【程序35】

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

【程序36】

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

【程序37】

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

【程序38】

题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

【程序39】

题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)

【程序40】

题目:字符串排序。

【程序41】

题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

【程序42】

题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

【程序43】

题目:求0—7所能组成的奇数个数。

【程序44】

题目:一个偶数总能表示为两个素数之和。

【程序45】

题目:判断一个素数能被几个9整除

【程序46】

题目:两个字符串连接程序

【程序47】

题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

【程序48】

题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

【程序49】

题目:计算字符串中子串出现的次数

【程序50】

题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件“stud”中。

下载改错编程题word格式文档
下载改错编程题.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    2011年高考改错真题

    改错真题 1.(2011•陕西卷)短文改错(共10小题;每小题1.5分,满分15分) Last Sunday morning, when I was having a walk in the park near my home, I came across a crew make a n......

    编程题总结(范文大全)

    C作业汇总 1. short a,b=32767; /*short类型在内存中占2B*/ a=b+1; 问:a的值是多少?并分析原因。 2. 有一4位数整数,假设用abcd表示,请把这个4位数的每个数位用表达式表示出来......

    c语言编程题答案

    六、编程题参考答案 1.编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。 #include "stdio.h" #define N 50 void main() { float x; unsigned int s1,......

    VB编程题及答案

    1定义一个下标上界为10整型数组,并用随机函数为其赋值(值处于[0,100]之间),计算数组中所有偶数的和。 Private Sub Command1_Click() Randomize Dim a%(10) Dim i%, s% For i =......

    C语言编程100题

    经典C语言程序设计100例 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组......

    公文写作综合改错10套题

    公文写作综合改错10套题 目录 资料学习使用指南 ——综合改错国发公文1 改错1参考答案: ——综合改错国发公文2 改错2参考答案: ——综合改错国发公文3 改错3参考答案: ——综......

    中考语文成语改错200题

    中考语文成语改错200题 001、关怀倍至002、随声附和003、巧妆打扮 004、记忆尤新005、挺而走险006、融汇贯通 007、并行不背008、略见一般009、宽洪大量 010、无耻滥言011、世......

    公文写作改错及真题

    公文写作改错及真题 一、发文字号: 1、序号不能有虚位,即数字前不得有0,不得有“第”字样 2、年号份号颠倒 3、年号使用的标点符号错误。 4.秘级错误。只有秘密机密,绝密字样......