| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 691 人关注过本帖
标题:哥哥姐姐帮忙呀 有道数组题没思路,帮忙介绍下
只看楼主 加入收藏
hn512391832
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2009-11-17
结帖率:0
收藏
已结贴  问题点数:10 回复次数:5 
哥哥姐姐帮忙呀 有道数组题没思路,帮忙介绍下
有篇短文共有三行文字,每行有80个字符。要统计出其中的大写英文字母,小写字母。数字 ,空格以及其他字符各有多少个。
搜索更多相关主题的帖子: 思路 
2009-11-17 10:44
dong152liang
Rank: 2
来 自:廊坊
等 级:论坛游民
帖 子:56
专家分:29
注 册:2009-11-8
收藏
得分:5 
先自己想想  要养成独立思考的习惯
2009-11-17 10:54
蓝色药剂
Rank: 4
等 级:业余侠客
帖 子:43
专家分:204
注 册:2007-11-24
收藏
得分:5 
提供些思路给你吧
1,需要用到文件处理函数:
   fopen()   打开文件函数,返回文件指针
   fclose()  关闭文件,对文件操作完,要调用这个函数
   fgetc()   从文件中获取一个字符
   EOF       文件结束标志,用while循环获取文件中的字符,只要不是EOF就继续获取

2,统计不同字符个数,可以每种字符定义一个变量来保存个数
   int AN=0; 记录大写字母
   int an=0; 小写字母
   int dn=0; 数字
   int sn=0; 空格
   int on=0; 其他

3,判断字符
   if(ch>='A' && ch<='Z')  大写字母
   else if(ch>='a' && ch<='a')     小写字母
   else if(ch>='0' && ch<='9')     数字
   else if(ch==' ')                空格
   else 。。。                     其他字符

程序自己组织下吧,源代码可以自己搜索原始帖子,有很多。函数用法,书上应该可以查的到。
2009-11-17 10:57
dong152liang
Rank: 2
来 自:廊坊
等 级:论坛游民
帖 子:56
专家分:29
注 册:2009-11-8
收藏
得分:0 
#include<stdio.h>
void main()
{
    char string[3][81];
int    i,j;
    char c;
    int num[5]={0,0,0,0,0};
    gets(string);
    for(i=0;i<3;i++)
        for(j=0;(c=string[i][j])!='\0';j++)
            if(c>='A'&&c<='Z')
                num[0]++;
            else if(c>='a'&&c<='z')
                num[1]++;
            else if(c>=0&&c<=9)
                num[2]++;
            else if(c==' ')
                num[3]++;
            else num[4]++;
            for(i=0;i<5;i++)
                printf("num[%d]=%d",i+1,num[i]);
}
2009-11-17 11:23
hn512391832
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2009-11-17
收藏
得分:0 
#include<stdio.h>
void main()
{
    char string[3][81];
int    i,j;
    char c;
    int num[5]={0,0,0,0,0};
    gets(string);/*warning C4047: 'function' : 'char *' differs in levels of indirection from 'char [3][81]'
D:\C语言\胡楠\as.c(9) : warning C4024: 'gets' : different types for formal and actual parameter 1这怎么有警告错哪了能不能讲一下*/
    for(i=0;i<3;i++)
        for(j=0;(c=string[i][j])!='\0';j++)
            if(c>='A'&&c<='Z')
                num[0]++;
            else if(c>='a'&&c<='z')
                num[1]++;
            else if(c>='0'&&c<='9')/*else if(c>=0&&c<=9)该加单引号*/
                num[2]++;
            else if(c==' ')
                num[3]++;
            else num[4]++;
            for(i=0;i<5;i++)
                printf("num[%d]=%d\n",i+1,num[i]);/*应该加"\n"更好点*/
}
2009-11-17 11:49
dong152liang
Rank: 2
来 自:廊坊
等 级:论坛游民
帖 子:56
专家分:29
注 册:2009-11-8
收藏
得分:0 
我刚学程序,四楼的是我编的,各位高手帮忙找下四楼程序的错误,谢谢了
2009-11-17 11:57
快速回复:哥哥姐姐帮忙呀 有道数组题没思路,帮忙介绍下
数据加载中...
 
   



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

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