永发信息网

题目描述 编制程序,统计文本stdin中字符$出现的次数,并将结果写入文件stdout 输入 字符文本 输出 $次数

答案:2  悬赏:70  手机版
解决时间 2021-11-17 20:21
题目描述 编制程序,统计文本stdin中字符$出现的次数,并将结果写入文件stdout 输入 字符文本 输出 $次数
最佳答案
楼主你好。
你贴的那段代码可以实现题目中的要求。
#include
int main()
{
char a[1000];
int b=0;
int i;
for(i=0;scanf("%c",&a[i]),a[i]!=' ';i++)//这里每次读取一起个字符到a[i]中并判断a[i]是否为空格,如果是空格就退出循环停止读取字符;否则进入循环体,判断a[i]若是'$'则计数器b自增1.
{
if(a[i]=='$')
b++;
}
printf("%d\n",b);//打印计数器的值
return 0;
}
输出:
0123456789!@#$%^&*()_+|$$$ $!@#
4
注意我在三个$$$后打了一个空格,因此读取到这里就会结束,不会读取后面的$!@#,结果为4。追问可是提交后答案错误追答题目中有要求用空格作为结束符么?
我看到这道题的第一反应是让用户输入一串字符串,将其保存到一个数组中,然后遍历数组统计其中的字符'$'个数,也就是相当于以回车为结束符。
楼主你确定题目就像你写的那样么?我觉得题目说的不明确,文本stdin,文件stdout,就是指标准输入输出还是从文件中读取然后将结果输出到文件中去。追问#includemain(){ char a[1000]; int b=0; int i; for(i=0;;i++){ scanf("%c",&a[i]); if(a[i]==' ') {break;} if(a[i]=='$') {b=b+1;} } printf("%d",b);}
但是这样是对的追答嗯,简单些:
#include
main(){
char ch;
int count=0;
scanf("%c",&ch);
while(ch!=' '){
if(ch=='$') count++;
scanf("%c",&ch);
}
printf("%d\n",count);
}
输出:
0123456789!@#$%^&*()_+|$$$ $!@#
4
Press any key to continue
全部回答
程序没有问题啊,只是没有必要使用数组,可以改为:
#include
int main()
{
char a;
int b=0;
for( ; scanf("%c",&a),a!=' '; )
{
if(a=='$')
b++;
}
printf("%d\n",b);
return 0;
}

或者,显式地使用标准输入输出文件:
#include
int main()
{
char a;
int b=0;
// int i;
for( ; fscanf(stdin, "%c",&a),a!=' '; )
{
if(a=='$')
b++;
}
fprintf(stdout, "%d\n",b);
return 0;
}追问你好,我把你的程序提交后运行错误怎么办
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样促进气胸自行吸收
不怕左右上下倒转是什么意思
英特尔固态硬盘535写入速度多少
怎么可以使对方电脑不用凭证便能连接到本电脑
请问一下丰田卡罗拉用美浮1号机油行不行
水文计算在水利水电工程的什么阶段发挥作用
求指点:汴京茶寮生意不错啊,挺好喝的,他们
600角钱等于多少元钱
威尔达实业发展有限公司在哪里啊,我有事要去
怎么在30秒内通关特殊关卡
手机开机电流达到1安是正常的吗?
求大佬告之 这是哪部gal
停车场(绿都大厦西)地址在什么地方,想过去办
谁住在县城,所说你们那里的交警严不严,一般
好背是什么意思啊
推荐资讯
清华大学研究生招生网直硕预录取是确定录取了
一天就喝一瓶水,上6次厕所正常吗
英语sheet bare什么意思?
根据经济危害允许水平怎么计算经济阈值
#山东兆物网络技术股份有限公司#这个公司待遇
樟木球在衣柜中怎么用
邮政储蓄银行储种定期整整什么意思
倒车入库怎么一把进入
葫芦岛建昌一高的地址是多少
一个人,长期处于什么样的环境下,精神上会出
K8563次火车从那到那?
与鹿有关的成语
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?