马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 轮回的夏 于 2016-8-12 19:07 编辑
编写一个用来统计输入的各个数字,空白符以及所有其他字符出现次数的程序,分别存储在变量num[10],blank,othersl里边分别打印出来下面是我自己编写的程序
#include<stdio.h>//为什么程序运行的时候,按下F6之后还需要按多一下回车键才能继续运行
void main()
{
char num[100]={ 0 } , blank[100]={ 0 } , other[100]={ 0 };//所有字符储存于这些数组中
char c[100]={ 0 };
int blanks , 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[100]=getchar())!='*')
{
a = b = d =sizeof(c);
while(c[i]==' '|| c[i]=='\t'|| c[i]=='\n')
{
++blanks;
while( a )
{
blank[i]=c[i];
a--;
i++;
}
}
while( '0'<c[j] || c[j]<'9' )
{
++number;
while( b )
{
num[j]=c[j];
b--;
j++;
}
}
while( c[k]!=' ' || c[k]!='\t' || c[k]!='\n' || c[k]<'0' || c[k]>'9' )
{
++others;
while( d )
{
other[k]=c[k];
d--;
k++;
}
}
}
printf("There are %d blanks in this sentence \n",blanks);
for(i=1;i<a;i++)
{
printf("%c ",blank[i]);
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[j]);
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[k]);
while(k%5==0)
{
printf("\n");
}
}
}
一开始我会出现不知道如何使用getchar输入一串字符,然后分别储存在数组之中
然后我想了挺久(本人比较蠢),想出了个解决方法#include<stdio.h>
int main()
{
char a[10]={ 0 },c[10]={ 0 };
int k , i=0 , j=0 ;
printf("Please input a sentence :");
while ( ( c[j]=getchar() )!='\n')
{
a[i++]=c[j++];
}
j=0;
for(k=0;k<=i;k++)
{
printf("%c\n",c[j++]);
}
}
写出来之后,打算使用里面的循环方法套用到原函数
但是套用进去之后发现运行的时候,只要按下回车键就会报错 |