程序改错题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序改错练习题
/*---------------------------------------------------- 【程序改错】第1题
------------------------------------------------------ 功能:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
----------------------------------------------------*/ #include
main()
{
char c;
int letters=0,space=0,digit=0,others=0;
printf("please input some characters\n");
/**********FOUND**********/
while((c=getchar())=='\n')
{
/**********FOUND**********/
if(c>='a'&&c<='z'&&c>='A'&&c<='Z')
letters++;
/**********FOUND**********/
else if(c=!' ')
space++;
else if(c>='0'&&c<='9')
digit++;
else
others++;
}
printf("all in all:char=%d space=%d digit=%d
others=%d\n",letters,
space,digit,others);
}
答案:
=======(答案1)=======
while((c=getchar())!='\n')
=======(答案2)=======
if( c>='a'&&c<='z' || c>='A'&&c<='Z' )
=========或=========
if( c<='z'&&c>='a' || c>='A'&&c<='Z' )
=========或=========
if( c <= 'z' && c >= 'a' || c >= 'A' && c<='Z' )
=======(答案3)=======
else if(c==' ')
/*---------------------------------------------------- 【程序改错】第2题
------------------------------------------------------ 功能:实现交换两个整数的值。
例如:给a和b分别输入3和6 ,输出为a=6 b=3
----------------------------------------------------*/ #include
/**********FOUND**********/
void fun (int a, b)
{
int t;
/**********FOUND**********/ t=a;
/**********FOUND**********/
a=b;
/**********FOUND**********/
b=t;
}
main()
{
int a,b;
printf("enter a,b:");scanf("%d%d",&a,&b);
fun(&a,&b);
printf("a=%d b=%d\n",a,b);
}
答案:
=======(答案1)=======
void fun (int *a,int *b)
=========或=========
fun (int *a,int *b)
=======(答案2)=======
t=*a;
=======(答案3)=======
*a=*b;
=======(答案4)=======
*b=t;
/*---------------------------------------------------- 【程序改错】第3题
------------------------------------------------------ 功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。
----------------------------------------------------*/ #include
#define N 11
main()
{
int i,number,a[N]={1,2,4,6,8,9,12,15,149,156};
printf("please enter an integer to insert in the array:\n");
/**********FOUND**********/
scanf("%d",&number)
printf("The original array:\n");
for(i=0;i printf("%5d",a[i]); printf("\n"); /**********FOUND**********/ for(i=N-1;i>=0;i--) if(number<=a[i]) /**********FOUND**********/ a[i]=a[i-1]; else { a[i+1]=number; /**********FOUND**********/