一。程序填空 下面所给程序的功能是:将键入的任意一串长度为n(n<27)的二进制代码转换成一个字母序列。要求:如果二进制代码串的第一位为1(或为0),则输出字母序列的第一位为A(或为a);如果二进制代码串的第二位为1(或为0),则输出字母序列的第二位为B(或为b)。余类推。例如,设有输入:
10011101
则程序输出:
AbcDEFgH
程序先输入给定的二进制代码,然后输出被转换后的字母序列。请在下横线处添加合适的一个语句以完善程序的功能。
#include <stdio.h>
#define N 26
int main( ){
int i,len,bin[N];
printf("Enter string length(<27): ");
___________ [1]____________;
printf("Enter bin string:\n");
for(i = 0; i < len; i++)
scanf("%d",&bin[i]); /* 输入二进制代码 */
for(i = 0; i < len; i++)
if(bin[i]==1)
___________ [2]____________;
else
___________ [3]____________;
printf("\n");
return 0;
}
二.运行下面所给程序,如果出错,请指出出错的原因和你的修改意见。
#include <stdio.h>
#define MAX 10
int main( ){
int a[MAX][MAX],i,j,k = 1;
for(i = 0; i < MAX; i++)
{
k = 1;
for(j = i; j < MAX; j++)
a[i-j][j] = k++;
printf("%d",a[i][j]);
}
}
10011101
则程序输出:
AbcDEFgH
程序先输入给定的二进制代码,然后输出被转换后的字母序列。请在下横线处添加合适的一个语句以完善程序的功能。
#include <stdio.h>
#define N 26
int main( ){
int i,len,bin[N];
printf("Enter string length(<27): ");
___________ [1]____________;
printf("Enter bin string:\n");
for(i = 0; i < len; i++)
scanf("%d",&bin[i]); /* 输入二进制代码 */
for(i = 0; i < len; i++)
if(bin[i]==1)
___________ [2]____________;
else
___________ [3]____________;
printf("\n");
return 0;
}
二.运行下面所给程序,如果出错,请指出出错的原因和你的修改意见。
#include <stdio.h>
#define MAX 10
int main( ){
int a[MAX][MAX],i,j,k = 1;
for(i = 0; i < MAX; i++)
{
k = 1;
for(j = i; j < MAX; j++)
a[i-j][j] = k++;
printf("%d",a[i][j]);
}
}
