第十次上机题(改错补充题)
一、改错题
1.利用数组计算分数序列:2/1,3/2,5/3,8/5,13/8,21/13...前20项之和。
#include
void input(int n =10 ,int w[] ,); float sum(int w[] , int n);
void main( ){ int data[22],n; cout>n; input(data[22],n); cout
void input(int n ,int w[]){ w[0]=w[1]=1; for(int i=2;i
w[i]=w[i+11]+w[i+22]; } } float sum(int w[],int n){ float num; for(int i=2;i
num+=1.0*(w[i-1]+w[i-2])/w[i-1]; } return num; }
【要求】
1.把上述程序录入到文件学号_1.cpp中,然后根据题目的要求及程序中的语句之间的逻辑关系对程序中的错误进行修改。程序中的注解可不输入。
2.改错时,可以修改语句中的一部分内容,调用整句的次序,增加少量的变量说明或编译处理命令,但不能增加其它语句,也不能删去整条语句。 3.将改正后的源程序学号_1.cpp放在考试盘中的根目录下,供阅卷用。
二、改错题
题目:设计一个程序,键盘输入一个4×4矩阵,并按每行4个数据在屏幕上显示输入的原始数据。求:两对角线之和及将该矩阵转置后输出。 含有错误的源程序如下: #include
int sum(int a[4][4]); void f(int a[4][4]);
void main(){ int data[4][4]={0}; for(int i=0;i
for(int j=0;j
cin>>data[i][j]; for(i=0;i
for(int j=0;j
cout
cout
for(int j=0;j
cout
cout
int sum(int a[][4]){ int n=0; for(int i=0;i
n+=a[i][i]+a[i][3-i]; } void f(int a[4][]){ int temp; for(int i=0;i
for(int j=0;j
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
} }
【要求】
1.把上述程序录入到文件学号_2.cpp中,然后根据题目的要求及程序中的语句之间的逻辑关系对程序中的错误进行修改。程序中的注解可不输入。
2.改错时,可以修改语句中的一部分内容,调用整句的次序,增加少量的变量说明或编译处理命令,但不能增加其它语句,也不能删去整条语句。 3.将改正后的源程序学号_2.cpp放在考试盘中的根目录下,供阅卷用。
三、改错题
【要求】
1.把上述程序录入到文件学号_3.cpp中,然后根据题目的要求及程序中的语句之间的逻辑关系对程序中的错误进行修改。程序中的注解可不输入。
2.改错时,可以修改语句中的一部分内容,调用整句的次序,增加少量的变量说明或编译处理命令,但不能增加其它语句,也不能删去整条语句。 3.将改正后的源程序学号_3.cpp放在考试盘中的根目录下,供阅卷用。
四、改错题
以下程序验证一个猜想:任意一个十进制整数与其反序数相加后,得到一个新的正整数,将该新正整数重复上述处理后,最终可得到一个回文数。 所谓反序数是指原数的数字次序颠倒而得到的数值,如4361的反序数为1634 所谓回文数是指正向和反向读的数字次序是一样的,例如12321和234555432。 程序同时统计反复处理的次数c,例如对整数639,程序的运行状况如下: Please input a number:639 639 , 99099 , 5 含有错误的源程序如下:
【要求】
1.把上述程序录入到文件学号_4.cpp中,然后根据题目的要求及程序中的语句之间的逻辑关系对程序中的错误进行修改。程序中的注解可不输入。
2.改错时,可以修改语句中的一部分内容,调用整句的次序,增加少量的变量说明或编译处理命令,但不能增加其它语句,也不能删去整条语句。 3.将改正后的源程序学号_4.cpp放在考试盘中的根目录下,供阅卷用。
五、改错题
【要求】
1.把上述程序录入到文件学号_5.cpp中,然后根据题目的要求及程序中的语句之间的逻辑关系对程序中的错误进行修改。程序中的注解可不输入。
2.改错时,可以修改语句中的一部分内容,调用整句的次序,增加少量的变量说明或编译处理命令,但不能增加其它语句,也不能删去整条语句。 3.将改正后的源程序学号_5.cpp放在考试盘中的根目录下,供阅卷用。