| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1642 人关注过本帖
标题:练习作业题挺难的,大家一起来看看
只看楼主 加入收藏
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
 问题点数:0 回复次数:20 
练习作业题挺难的,大家一起来看看

1,编写一个程序,用于接收一个字符串,并统计某字符在改字符串中出现的次数。

提示:
(1),使用gets函数接收字符串.
(2),从头开始一个字符一个字符地检索字符串,判断是否等于某字符,如果等于,则计数器加1,并输出某字符每次出现的位置(下标加1),直到遇到字符结束符'\0'.

2,编写一个程序,用于接收两个字符串,然后比较这两个字符串,输出比较结束.



3,编写一个程序,用语接收两个字符串,判断第一个字符串是否包含第二个字符串,如果包含说明第二个字符串在第一个字符串中的位置,第二个字符串第一个字符串在第一个字符串中出现的位置。(草,这个题听书上写的我都不懂,作毛!晕死)



以上3题 还请大家给点提示,刚学到C语言 字符串,会做的话加我QQ49271743,还忘请教!

搜索更多相关主题的帖子: 作业 练习 
2006-10-02 09:13
honkerman
Rank: 2
等 级:新手上路
威 望:4
帖 子:3078
专家分:0
注 册:2006-8-25
收藏
得分:0 

以前有人问过,搜一搜


" target="_blank">God Bless You[GLOW=255,#00ff00,2]My Friends![/GLOW]
2006-10-02 10:05
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
我想找个人讨论讨论
不知道 2楼的是否愿意和交流呢
2006-10-02 10:08
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 
我想找个人讨论讨论
不知道 2楼的是否愿意和交流呢
2006-10-02 10:09
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 1000
void Sort(char *);
void Swap (char *,char *);
void Statistics(char *ptr);
int main (void){
char arr[SIZE];
printf ("输入字符串:\n\n");
fgets(arr,SIZE,stdin);
fflush(stdin);
Sort(arr);
printf ("\n从小到大排序字符窜:\n");
printf ("\n%s\n",arr);
Statistics(arr);
exit(0);
}
/*统计函数*/
void Statistics(char *ptr){
int i,j,t=1;
char ch;
i=0;
j=i+1;
while (ptr[i]!='\0'){
ch=ptr[i];
t=1;
for (;ptr[i]==ptr[j];t++)
j++;
printf ("\n字符\'%c\'共有%d个.\n",ch,t); //输出遇到换行,表示回车('\n')或换行('\r')符
i=j;
j=i+1;
}
return ;
}
/*排序函数(从小到大)*/
void Sort (char *pt){
unsigned int i,j;
for (i=0,j=i+1;pt[j]!='\0';){
if (pt[i]<=pt[j])
j++ ;
else
Swap(pt+i,pt+j);
if (pt[j]=='\0'){
i++;
j=i+1;
}
}
return ;
}
/*交换值函数*/
void Swap(char *ptr,char *poi){
char temp;
temp=*ptr;
*ptr=*poi;
*poi=temp;
return ;
}

这个是我以前帮一个MM写的作业,和第一题差不多,你自己参考一下。其他也差都很简单,自己好好练练,你的书还没读透。

由于工作,N久都没来了!
2006-10-02 10:52
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用yansongyang在2006-10-2 9:13:21的发言:

1,编写一个程序,用于接收一个字符串,并统计某字符在改字符串中出现的次数。

提示:
(1),使用gets函数接收字符串.
(2),从头开始一个字符一个字符地检索字符串,判断是否等于某字符,如果等于,则计数器加1,并输出某字符每次出现的位置(下标加1),直到遇到字符结束符'\0'.
提示都写的很清楚了. while(str[i]!='\0'){ if(str[i]==x) count++; i++;}
2,编写一个程序,用于接收两个字符串,然后比较这两个字符串,输出比较结束.

模拟strcmp函数,就是两个字符串对应位置上的字符比较,返回第一次出现的前者与后者的差值(非0).若有一者不够长,则当作0(这里就是0,而非'0')相减.若两者是一样的,则返回0了.
len=strlen(str1)<strlen(str2)?strlen(str1):strlen(str2);
while(i<len)
{
if(str1[i]!=str2[i])
{
return(str1[i]-str2[i]);
}
i++;
}
if(strlen(str1)!=strlen(str2))
{
if(strlen(str1)>len)
{
return(str1[len]);
}
else
{
return(-1*str2[len]);
}
}
else
{
return(0);
}


3,编写一个程序,用语接收两个字符串,判断第一个字符串是否包含第二个字符串,如果包含说明第二个字符串在第一个字符串中的位置,第二个字符串第一个字符串在第一个字符串中出现的位置。(草,这个题听书上写的我都不懂,作毛!晕死)
这个是模式匹配问题.
朴素模式匹配:将子串对应与主串比较,若此次匹配不成功,则i主串移动一位,重复比较,直到i>=strlen(主)-strlen(子);结束.其中有一次匹配成功则返回匹配成功的位置(i);
for(i=0;i<=strlen(s)-strlen(t);i++)
{
for(j=0;j<strlen(t);j++)
{
if(str[i+j]!=str[j])
{
break;
}
}
if(j>=strlen(t))
{
return(i);
}
}

还有一个是快速模式匹配,这个算法挺难懂的,一时也说不清,楼主查一下相关资料,自己看看吧.



以上3题 还请大家给点提示,刚学到C语言 字符串,会做的话加我QQ49271743,还忘请教!


倚天照海花无数,流水高山心自知。
2006-10-02 10:57
sunyuantz
Rank: 1
等 级:新手上路
威 望:1
帖 子:407
专家分:0
注 册:2006-3-20
收藏
得分:0 

哎发晚了不过还是要先帖出来
#include<stdio.h>
main()
{char str[50],ch;
int i,j=0;
gets(str);
printf("inputer a character:");
ch=getchar();
for(i=0;i<50;i++)
{if(str[i]==ch)
{j++;printf("character number is:%d\n",i+1);}
if(str[i]=='\0') break;
}
printf("this %c have %d times in sentence",ch,j);
getch();
}



我不是名人,所以不要签名。等哪天我成名人了......你都认识我了还要签名干嘛!
2006-10-02 11:59
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
讨论不分先后.多个人的程序就有不同的思路.
集思广益嘛.

倚天照海花无数,流水高山心自知。
2006-10-02 12:44
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 

谢谢以上 的提示了!! 还忘大家以后多多教教我了!
呵呵 !

2006-10-02 13:19
yansongyang
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2006-9-16
收藏
得分:0 

2,编写一个程序,用于接收两个字符串,然后比较这两个字符串,输出比较结束.

3,编写一个程序,用语接收两个字符串,判断第一个字符串是否包含第二个字符串,如果包含说明第二个字符串在第一个字符串中的位置,第二个字符串第一个字符串在第一个字符串中出现的位置。(草,这个题听书上写的我都不懂,作毛!晕死)

这2道题能不能用最简单的 因为我现在就学到字符串了
6楼和7楼写的我都看不懂

2006-10-03 14:03
快速回复:练习作业题挺难的,大家一起来看看
数据加载中...
 
   



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

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