B试卷
1、以下程序的功能是:
输入任意整数n(0
构成的三角形字符阵列图形,例如,输入整数6时,程序运行结果如下:
请填空完成该程序。
#include
main()
{
int i,j,n;
char (1) ;
printf("Please input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1; (2) ;j++)
{ printf("%2c",ch);
(3) ;
}
(4) ;
}
}
2. 以下程序的功能是:
从一个字符串中截取前面给定长度的子字符串。其中,str1指向原字符串,截取后的字符存放在str2所指的字符数组中,n中存放需截取的字符个数。例如,str1="ABCDEF",n=4,截取后的字符数组str2="ABCD"。请填空完成该程序。
#include
#include
#define LEN 80
main()
{
char str1[LEN],str2[LEN];
int n,i;
printf("输入字符串:\n");
gets(str1);
printf("输入子字符串的长度:");
scanf( "%d", (1) );
for(i=0;i
(2) ;
str2[i]= (3) ;
printf("子字符串是:%s\n", (4) );
}
(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每改正1处得3分,共30分)
1. 程序调试题1
调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/***/字样的注释),使其运行能得到正确的结果。将结果(包括B_3_1.C文件和B_3_1.EXE文件)保存到目录C:\KS\中。
功能说明:程序的功能是输入一个正整数,判断该数从高位到低位各位数字是否按值从小到大排列并输出相应提示。例如,输入12234,则输出各位数字是从小到大排列。又如,输入12354,则输出各位数字不是从小到大排列。
带错误原程序(见C:\KS\B_3_1.C):
#include
int main()
{int n,k,a;
printf("请输入一个正整数: ");
scanf("%d", n);
k=1;
do {
a=n%10;
n=n/10;
if ( n%10 <= a ) k=0;
}while ( n!=0 );
if ( k = 1 )
printf("各位数字是从小到大排列\n");
else
printf("各位数字不是从小到大排列\n");
return 0;
}
2. 程序调试题2
调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/***/字样的注释),使其运行能得到正确的结果。将结果(包括B_3_2.C文件和B_3_2.EXE文件)保存到目录C:\KS\中。
功能说明:输入一个以回车符结束的字符串(少于30个字符),若其中的第偶数个字符是小写英文字母,则转换成对应的大写英文字母,最后输出处理后的字符串。例如输入:jdk-7u25-win7,则输出:jDk-7U25-WiN7 。
带错误原程序(见C:\KS\B_3_2.C):
#include
#include
int main()
{char str[30];
int i, n;
printf("请输入一个字符串:");
gets(&str);
n = strlen(str);
for (i=0; i
if ( str[i]>='a' && str[i]<='z' )
str[i] = str[i] + ('a' - 'A');
puts(str);
return 0;
}
3. 程序调试题3
调试要求:下列程序包含4个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/***/字样的注释),使其运行能得到正确的结果。将结果(包括B_3_3.C文件和B_3_3.EXE文件)保存到目录C:\KS\中。
功能说明:以下程序的数组t中存放了某城市7月15日到8月15日共32天每一天的日最高气温,程序的功能是统计并输出最高温度达到40℃或以上的