首页 > 用户发贴区 > 编程问题提问区 > 帮忙看看一个指针程序
2007
12-18

帮忙看看一个指针程序

程序目的:编写程序,从键盘输入一行字符,一回车键为结束,分别统计其中的大写字母,小写字母,空格,数字和其他字符的个数!
这是我的失败代码:
#include <stdio.h>
int daxie(char *str);
int xiaoxie(char *str);
int space(char *str);
int num(char *str);
void main()
{   char a[80];
    char *str=a;
    int daxie1=0;
    int xiaoxie1=0;
    int space1=0;
    int num1=0;
    int others=0;
    printf(“请输入,按回车结束:”);
    while((*str++=getchar())!=’\n’);
    *str=’\0′;
    str=a;
    while((*str++)!=’\0′)
    {
        if(daxie(str))
                daxie1+=1;
        else if(xiaoxie(str))
                xiaoxie1+=1;
        else if(space(str))
                space1+=1;
        else if(num(str))
                num1+=1;
              else
                others+=1;
    }
    printf(“大写有:%d\n小写有:%d\n空格有:%d\n数字有:%d\nothers:%d\n”,daxie1,xiaoxie1,space1,num1,others);getch();
}
int daxie(char *str)
{
    if(*str>=65&&*str<=90)
        return 1;
    else
        return 0;
}
int xiaoxie(char *str)
{
    if(*str>=97&&*str<=122)
        return 1;
    else
        return 0;
}
int space(char *str)
{
    if(*str==’\32′)
        return 1;
    else
        return 0;
}
int num(char *str)
{
    if(*str>=48&&*str<=57)
        return 1;
    else
        return 0;
}
请大虾指教!!!


帮忙看看一个指针程序》有 7 条评论

  1. wfnh 说:

    没人吗>?急啊!!大哥!

  2. 独孤傲天 说:

    #include <stdio.h>
    #include<conio.h>
    int daxie(char *str);
    int xiaoxie(char *str);
    int space(char *str);
    int num(char *str);
    void main()
    {   char a[80];
        char *str=a;
        int daxie1=0;
        int xiaoxie1=0;
        int space1=0;
        int num1=0;
        int others=0;
        printf(“请输入,按回车结束:”);
     *str=getchar();
        while(*str!=’\n’)
     {
      str++;
      *str=getchar();
     }
        *str=’\0′;
     str=a;
        while(*str!=’\0′)
        {
            if(daxie(str))
                    daxie1++;
       else
        if(xiaoxie(str))
         xiaoxie1++;
        else
         if(space(str))
          space1++;
         else
          if(num(str))
           num1++;
           else
            others++;
      str++;
        }
        printf(“大写有:%d\n小写有:%d\n空格有:%d\n数字有:%d\nothers:%d\n”,daxie1,xiaoxie1,space1,num1,others);
     getch();
    }
    int daxie(char *str)
    {
        if(*str>=65&&*str<=90)
            return 1;
        else
            return 0;
    }
    int xiaoxie(char *str)
    {
        if(*str>=97&&*str<=122)
            return 1;
        else
            return 0;
    }
    int space(char *str)
    {
        if(*str==’ ‘)
            return 1;
        else
            return 0;
    }
    int num(char *str)
    {
        if(*str>=48&&*str<=57)
            return 1;
        else
            return 0;
    }

  3. wfnh 说:

    谢了!!!

  4. wfnh 说:

    还是请问我的程序哪里出问题呢?是这里吗:?

    while((*str++=getchar())!=’\n’);
        *str=’\0′;

    我觉得好象对的饿喔!?

  5. wfnh 说:

    ??/大哥解答吧!!!

  6. 太平洋的微笑 说:

    我没有用指针

    #include”stdio.h”
    main()
    {char c;
     int letter=0,space=0,number=0,other=0;
     printf(“shu ru yi hang zi fu\n”);
     c=getchar();
     while(c!=’\n’)
     {if(‘a’<=c&&c<=’z'||’A'<=c&&c<=’z') letter++;
      else if(c==’ ‘) space++;
      else if(c>=’0′&&c<=’9′) number++;
      else other++;c=getchar();
     }
     printf(“%d%d%d%d”,letter,space,number,other);
     getch();
    }

    你看一下

  7. 浩然天宇 说:

    你应用getch();函数时忘记了加一个头函数#include “conio.h”了

    开始时,你调用一下这个,就OK了

留下一个回复