轮回的夏 发表于 2016-8-12 18:48:45

函数章节第四小节最后一问

本帖最后由 轮回的夏 于 2016-8-12 19:07 编辑

编写一个用来统计输入的各个数字,空白符以及所有其他字符出现次数的程序,分别存储在变量num,blank,othersl里边分别打印出来下面是我自己编写的程序


#include<stdio.h>//为什么程序运行的时候,按下F6之后还需要按多一下回车键才能继续运行

void main()

{
      char num={ 0 } , blank={ 0 } , other={ 0 };//所有字符储存于这些数组中
      char c={ 0 };
      intblanks , number, others;//此处定义的变量用来存放所计算数字,空白符以及其他字符出现次数
      blanks=number=others=0;
      
      int a , b , d ;//该变量用于储存sentence的长度
      int i = 0 ,j = 0 ,k = 0;//储存字符数组的重要变量
      
      
      printf("Please input a sentence:");
      
      while((c=getchar())!='*')
               
      {
               
                a=b=d=sizeof(c);
                while(c==' '|| c=='\t'|| c=='\n')
                {
                        ++blanks;
                        while( a )
                        {
                              blank=c;
                              
                              a--;
                              i++;
                        }
                        
                }
               
               
                while(   '0'<c   ||   c<'9')
                {
                        ++number;
                        while( b )
                        {
                              num=c;
                              
                              b--;
                              j++;
                        }
                        
                        
                }
                while( c!=' ' || c!='\t' || c!='\n' || c<'0' || c>'9' )
                {
                        ++others;
                        while( d )
                        {
                              other=c;
                              d--;
                              k++;
                        }
                        
                }
               
               
      }
      
      
      printf("There are %d blanks in this sentence \n",blanks);
      for(i=1;i<a;i++)
      {
                printf("%c ",blank);
                while(i%5==0)
                {
                        printf("\n");
                }
      }
      
      
      
      printf("There are %d numbers in this sentence\n",number);
      
      for(j=1;j<a;j++)
      {
                printf("%c ",num);
                while(j%5==0)
                {
                        printf("\n");
                }
      }
      
      printf("There are %d other characters in this sentence\n",others);
      
      
      for(k=1;k<a;k++)
      {
                printf("%c ",other);
                while(k%5==0)
                {
                        printf("\n");
                }
      }
      
}
一开始我会出现不知道如何使用getchar输入一串字符,然后分别储存在数组之中

然后我想了挺久(本人比较蠢),想出了个解决方法
#include<stdio.h>

int main()
{
      char a={ 0 },c={ 0};
      intk ,   i=0 , j=0 ;
      printf("Please input a sentence :");
      while( ( c=getchar() )!='\n')
      {
                a=c;
      }

      j=0;
      for(k=0;k<=i;k++)
      {
                printf("%c\n",c);
      }
}


写出来之后,打算使用里面的循环方法套用到原函数
但是套用进去之后发现运行的时候,只要按下回车键就会报错

轮回的夏 发表于 2016-8-12 19:09:45

对了,还有一点,本人使用的是VC++6.0

鱼C篮球 发表于 2023-12-6 16:49:08

编写一个用来统计输入的各个数字,空白符以及所有其他字符出现次数的程序,分别存储在变量num,blank,othersl里边分别打印出来下面是我自己编写的程序


#include<stdio.h>//为什么程序运行的时候,按下F6之后还需要按多一下回车键才能继续运行

void main()

{
      char num={ 0 } , blank={ 0 } , other={ 0 };//所有字符储存于这些数组中
      char c={ 0 };
      intblanks , number, others;//此处定义的变量用来存放所计算数字,空白符以及其他字符出现次数
      blanks=number=others=0;
      
      int a , b , d ;//该变量用于储存sentence的长度
      int i = 0 ,j = 0 ,k = 0;//储存字符数组的重要变量
      
      
      printf("Please input a sentence:");
      
      while((c=getchar())!='*')
               
      {
               
                a=b=d=sizeof(c);
                while(c==' '|| c=='\t'|| c=='\n')
                {
                        ++blanks;
                        while( a )
                        {
                              blank=c;
                              
                              a--;
                              i++;
                        }
                        
                }
               
               
                while(   '0'<c   ||   c<'9')
                {
                        ++number;
                        while( b )
                        {
                              num=c;
                              
                              b--;
                              j++;
                        }
                        
                        
                }
                while( c!=' ' || c!='\t' || c!='\n' || c<'0' || c>'9' )
                {
                        ++others;
                        while( d )
                        {
                              other=c;
                              d--;
                              k++;
                        }
                        
                }
               
               
      }
      
      
      printf("There are %d blanks in this sentence \n",blanks);
      for(i=1;i<a;i++)
      {
                printf("%c ",blank);
                while(i%5==0)
                {
                        printf("\n");
                }
      }
      
      
      
      printf("There are %d numbers in this sentence\n",number);
      
      for(j=1;j<a;j++)
      {
                printf("%c ",num);
                while(j%5==0)
                {
                        printf("\n");
                }
      }
      
      printf("There are %d other characters in this sentence\n",others);
      
      
      for(k=1;k<a;k++)
      {
                printf("%c ",other);
                while(k%5==0)
                {
                        printf("\n");
                }
      }
      
}


一开始我会出现不知道如何使用getchar输入一串字符,然后分别储存在数组之中

然后我想了挺久(本人比较蠢),想出了个解决方法
#include<stdio.h>

int main()
{
      char a={ 0 },c={ 0};
      intk ,   i=0 , j=0 ;
      printf("Please input a sentence :");
      while( ( c=getchar() )!='\n')
      {
                a=c;
      }

      j=0;
      for(k=0;k<=i;k++)
      {
                printf("%c\n",c);
      }
}




写出来之后,打算使用里面的循环方法套用到原函数
但是套用进去之后发现运行的时候,只要按下回车键就会报错

@FishC_GPT
页: [1]
查看完整版本: 函数章节第四小节最后一问