1
以下程序的功能是将x字符串与y字符串连接并输出,请填空。注:程序中不能使用字符串连接函数。
#include <stdio.h>
main()
{ char x[80], y[40];
int a, h=0;
printf("Please input x string:");
gets(x);
printf("Please input y string:");
gets(y);
while(x[h]!='\0')
_____ ;
【空 1】 错误 空比例:1
【学生答案】
for(a=40;h<80;h++,a++)
【参考答案】
h++
============================================================
【空 2】 错误 空比例:1
【学生答案】
y[a]=x[h];
【参考答案】
a=0
============================================================
【空 3】 错误 空比例:1
【学生答案】
【参考答案】
x[h]=’\0’
2
/*-------------------------------------------------------
【程序改错】
---------------------------------------------------------
题目:打印出以下的杨辉三角形(要求打印出10行),请改正程序中的错误,使它能得出正确
的结果。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
-------------------------------------------------------*/
#include "stdio.h"
#define N 10
main()
{int a[N][N];
int i,j;
for(i=0;i<10;i++)
{
/***********ERROR***********/
a[1][1]=1;a[0][i]=1;
}
for(i=2;i<10;i++)
/***********ERROR***********/
for(j=1;j<10;j++)
/***********ERROR***********/
a[i][j]=a[i][j-1]+a[i][j];
for(i=0;i<10;i++) /*打印杨辉三角形*/
{
for(j=0;j<=i;j++)
printf("%6d",a[i][j]);
printf("\n");}
}
【改错1】 错误
【学生答案】
a[1][1]=1;a[i][0]=1;
【参考答案】
a[i][0]=1;a[i][i]=1;
a[i][i]=1;a[i][0]=1;
a[i][0]=a[i][i]=1;
a[i][i]=a[i][0]=1;
==============================
【改错2】 错误
【学生答案】
for(j=2;j<10;j++)
【参考答案】
for(j=1;j<i;j++)
for(j=1;i>j;j++)
==============================
【改错3】 正确
【学生答案】
a[i][j]=a[i-1][j-1]+a[i-1][j];
【参考答案】
a[i][j]=a[i-1][j-1]+a[i-1][j];