帮忙看两个C语言代码,错哪了啊?
谢谢各位帮忙啊!
这是第一个,组建时就提示错误!
程序代码://输入一行字符,分别统计其中英文字母,空格,数字和其它字符的个数
#include<stdio.h>
void main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf("请输入一行字符:\n");
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
else if(c==' ')
space++;
else if(c>='0'&&C<='9')
digit++;
else
other++;
}
printf("该行字符中,有英文字母%d个、空格%d个、数字%d个、其他字符%d个。",letters,space,digit,other);
}
这是第二个,问题在代码中说明了!位于代码快结束处
程序代码://*****************************************************//
//有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出
//该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”!
//*****************************************************//
#include<stdio.h>
#include<stdlib.h>
#define N 15
void main()
{
int a[N]={45,678,34,67,233,65,93,12,69,49,36,84,91,47,75},top,bott,mid,loca,i,j,temp,m,flag=1;
char c='Y';
printf("已知数组中数据从高到低排序为:\n\n");
for(i=0;i<=(N-1);i++) //对数据进行降序排序存放在原数组中
{
for(j=0;j<(N-1)-i;j++)
{
if(a[(N-1)-j-1]<a[(N-1)-j])
{temp=a[(N-1)-j-1];a[(N-1)-j-1]=a[(N-1)-j];a[(N-1)-j]=temp;}
}
printf("%d ",a[i]);
}
printf("\n");
//******************以下输入一个数并进行查找**********************//
while(flag)
{
printf("请输入您要查找的数m:");
scanf("%d",&m);
top=0;
bott=N-1;
if(m<a[N-1]||m>a[0])
loca=-1;
for(i=0;i<(N-1)/2;i++)
{
mid=(bott+top)/2;
if(m==a[mid])
{loca=mid;i=(N-1)/2;}
else if(m<a[mid])
top=mid+1;
else bott=mid-1;
}
if(loca==-1) printf("查找无此数!\n");
else printf("该数位于数组中第%d号位置\n",loca+1);
//****为什么****为什么****运行时为什么不暂停让用户输入'c'的值??****为什么****为什么****
printf("是否继续,按'Y'继续,按'N'结束!\n");
scanf("%c",&c);
//****为什么****为什么****运行时为什么不暂停让用户输入'c'的值??****为什么****为什么****
if(c=='N'||c=='n')
flag=0;
}
system("PAUSE"); /*让程序暂停,用前得加#include<stdlib.h>*/
} [ 本帖最后由 ljcbc 于 2010-4-21 14:04 编辑 ]











