简单c语言程序 纠错。

#include<stdio.h>
void main()
{
char a[10];int i;

scanf("%s",a);
for(i=0;i<=9;i++);
{
if(a[i]>='a'&&a[i]<='z')
a[i]=a[i]+32;
else a[i]=a[i] ;
}

printf("%s",a);
}

程序目的,把小写字母改成大写字母。

第1个回答  2010-06-05
首先,小写字母的ASCI码值大于大写字母,所以“a[i]=a[i]+32;”应该为“a[i]-=32;”。

好久没看C了,用C++给你编了个:
#include<iostream.h>
void main(){

char a[10];
cin>>a;

for(int i=0;i<10;i++){
if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
else
a[i]=a[i];
}

for(i=0;i<10;i++)
cout<<a[i]<<"\t";
}
第2个回答  2010-06-05
有两处错误 看注释

#include<stdio.h>
void main()
{
char a[10];int i;

scanf("%s",a);
for(i=0;i<=9;i++) // for 后没有分号
{
if(a[i]>='a'&&a[i]<='z')
a[i]=a[i]-32; // 小写字母的ASCII 码大
else a[i]=a[i] ;
}

printf("%s",a);
}本回答被提问者采纳
第3个回答  2010-06-05
输出时候出错了,应该是
简单c语言程序 纠错。
悬赏分:0 - 离问题结束还有 14 天 23 小时
#include<stdio.h>
void main()
{
char a[10];int i;

scanf("%s",a);
for(i=0;i<=9;i++);
{
if(a[i]>='a'&&a[i]<='z')
a[i]=a[i]+32;
else a[i]=a[i] ;
}
for(i=0;i<=9;i++)
printf("%s",a[i]);}
相似回答