帮忙看两个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 编辑 ]