| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 888 人关注过本帖
标题:麻烦帮解一下题,把我难着了
只看楼主 加入收藏
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

#include <stdio.h>
#include <conio.h>
#include <process.h>
/*排序*/
void arrayTaxis(char [],int);

int main(void)
{
/*characterArray存放字母,characterNUM字母的个数*/
char characterArray[30],characterNUM=0;
/*numberArray存放字母,numberNUM字母的个数*/
char numberArray[30] ,numberNUM=0;
char ch;
int i;
FILE *pt;

/*判断能否打开文件*/
if((pt=fopen("ZDATA.txt","w"))==NULL)
{
printf("Cannot open the file\n");
printf("Press any key to end...");
getch();
exit(0);
}

clrscr(); /*清屏*/
while(1)
{
/*在这里我没有选择,getchar()和别的输入字符的函数,
例如 getchar()要结束时,必须要按回车,而用getch()
就不必要按了,直接按'#' 就可以结束*/
ch=getch();
/*由于getch(),不会在屏幕上显示*/
printf("%c",ch);
if(ch=='#')
break;
if(ch>='0' && ch<='9')
{
numberArray[numberNUM]=ch;
numberNUM++;
}
else if((ch>='A' && ch<='Z')
||(ch>='a' && ch<='z')
)
{
characterArray[characterNUM]=ch;
characterNUM++;
}
}
/*打印字母和数字的个数*/
printf("\nThe character NUMBER :%d \nThe number NUMBER :%d\n",
characterNUM,numberNUM);

/*排序*/
arrayTaxis(characterArray,characterNUM);
arrayTaxis(numberArray,numberNUM);

/*向文件输入数字和字母*/
for(i=0;i<numberNUM;i++)
fputc(numberArray[i],pt);
fputc('\n',pt);
for(i=0;i<characterNUM;i++)
fputc(characterArray[i],pt);

/*暂停*/
getch();
/*关闭文件*/
fclose(pt);
}
void arrayTaxis(char array[],int size)
{
int i,j;
char temp;
for(i=0;i<size-1;i++)
for(j=0;j<size-1-i;j++)
{
if(array[j]>array[j+1])
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}

}
}


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-15 20:26
heshibinno1
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-3-15
收藏
得分:0 

呵呵 谢谢 太感谢了
问题已解决

2007-03-16 20:04
grub2linux
Rank: 1
等 级:新手上路
帖 子:335
专家分:0
注 册:2004-12-25
收藏
得分:0 
neverTheSame 兄的解答中,还是要打回车的

如下就不用打回车了,碰到‘#’就执行,这样就能完全达到楼主的要求了

ch=getch();
printf("%c",ch);
改为:
ch=getche();

再去掉后面的getch();



[此贴子已经被作者于2007-3-17 11:37:24编辑过]


有缘相识!我中文系的 3月拿下C/C++/VC 5天写游戏 2月写游戏系统 有空去http://mykool.go2.
2007-03-17 11:35
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
LS 上楼为什么说我的程序要按回车才能结束,
你试过吗,我怎么测试的时侯不要按回车就结束呢>

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-17 11:44
grub2linux
Rank: 1
等 级:新手上路
帖 子:335
专家分:0
注 册:2004-12-25
收藏
得分:0 
不好意思,我也觉得有点奇怪
看程序确实不用回车,刚才我用C-FREE要回车的,不知道什么原因?

在WIN-TC不要了
可能是C-FREE的问题。
不过,可能还是用 getche()更合适一点

[此贴子已经被作者于2007-3-17 11:57:33编辑过]


有缘相识!我中文系的 3月拿下C/C++/VC 5天写游戏 2月写游戏系统 有空去http://mykool.go2.
2007-03-17 11:56
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
不错,getche()在这个程序中的确是比getch()合适.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-17 12:02
快速回复:麻烦帮解一下题,把我难着了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.147465 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved