寻找最大元素
写一个程序,从键盘输入一篇英文文章,查找每一句的最大元素,在该元素后面插入字符串“(max)”。 例:输入abc.fed. 输出abc(max).f(max)ed.
求高手
不要意思,刚才贴的格式不对#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAX_CHAR_PER_SENTENCE 200
int get_sentence(char* sentence);
void convert( char* input, char* output );
int main() {
char input_sentence;
char output_sentence;
while( get_sentence(input_sentence) ) {
convert( input_sentence, output_sentence );
printf("%s", output_sentence);
//printf( "%s\n", input_sentence );
}
}
int get_sentence(char* sentence) {
int i = 0;
while( scanf("%c",&sentence) != EOF) {
if( sentence != '.' ) ++i;
else {
sentence[++i] = 0;
return 1;
}
}
return 0;
}
void convert( char* input, char* output ) {
//找句子最大元素偏移量
int i = 0, max_index = 0, mid;
char max = input;
while( input != '.' ) {
if( input > max ) {
max_index = i;
max = input;
}
++i;
}
mid = max_index + 1;//最大元素后面
//拷贝最大元素之前
strncpy( output, input, mid );
output=0;
//标记
strcat( output, "(max)" );
//拷贝最大元素之后
strcat( output, input+mid );
} 读文件,保存文件,比较句子,确实有点挑战。。。 这有一个比较笨的方法, 找一句中的最大元素, 找到一句的结束, 把这句放到一个vector里面,遍历修改就可以了,要是一个单词, 就把一句话按空格分割一次放到vector,遍历查找修改。 最大元素的定义是什么?什么叫最大元素 ? oggplay 发表于 2014-2-21 08:12 static/image/common/back.gif
读文件,保存文件,比较句子,确实有点挑战。。。
你好像什么都会啊 大神、。。。。 zhaopengfei 发表于 2014-2-21 11:04 static/image/common/back.gif
你好像什么都会啊 大神、。。。。
我是骗积分的 oggplay 发表于 2014-2-21 11:08 static/image/common/back.gif
我是骗积分的
有这个嫌疑 不过还是有点实力的 骗分的~~~:funk::funk::funk::funk: soldier 发表于 2014-2-21 10:37 static/image/common/back.gif
这有一个比较笨的方法, 找一句中的最大元素, 找到一句的结束, 把这句放到一个vector里面,遍历修改就可以 ...
能给个代码吗:cry oggplay 发表于 2014-2-21 08:12 static/image/common/back.gif
读文件,保存文件,比较句子,确实有点挑战。。。
求帮助a:shy: oggplay 发表于 2014-2-21 08:12 static/image/common/back.gif
读文件,保存文件,比较句子,确实有点挑战。。。
→_→纳尼读文件????这还需要文件操作???←_← 本帖最后由 oggplay 于 2014-2-21 18:28 编辑
牡丹花下死做鬼 发表于 2014-2-21 17:39 static/image/common/back.gif
→_→纳尼读文件????这还需要文件操作???←_←
不读到内存怎么操作——《》—— 其实楼主的意思是从硬盘读取一个文件 然后修改 保存到硬盘:big oggplay 发表于 2014-2-21 18:26 static/image/common/back.gif
不读到内存怎么操作——《》—— 其实楼主的意思是从硬盘读取一个文件 然后修改 保存到硬盘
→_→不知道是谁理解错了 #include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAX_CHAR_PER_SENTENCE 200
int get_sentence(char* sentence);
void convert( char* input, char* output );
int main() {
char input_sentence;
char output_sentence;
while( get_sentence(input_sentence) ) {
convert( input_sentence, output_sentence );
printf("%s", output_sentence);
//printf( "%s\n", input_sentence );
}
}
int get_sentence(char* sentence) {
int i = 0;
while( scanf("%c",&sentence) != EOF) {
if( sentence != '.' ) ++i;
else {
sentence[++i] = 0;
return 1;
}
}
return 0;
}
void convert( char* input, char* output ) {
//找句子最大元素偏移量
int i = 0, max_index = 0, mid;
char max = input;
while( input != '.' ) {
if( input > max ) {
max_index = i;
max = input;
}
++i;
}
mid = max_index + 1;//最大元素后面
//拷贝最大元素之前
strncpy( output, input, mid );
output=0;
//标记
strcat( output, "(max)" );
//拷贝最大元素之后
strcat( output, input+mid );
} 仰望天上的光 发表于 2014-2-21 19:22 static/image/common/back.gif
不要意思,刚才贴的格式不对
谢谢哈
不过编译时有点小问题
只能到第一个句号
luckin 发表于 2014-2-21 20:01 static/image/common/back.gif
谢谢哈
不过编译时有点小问题
因为你的第二句没有句号,不是一个句子。 仰望天上的光 发表于 2014-2-21 20:11 static/image/common/back.gif
因为你的第二句没有句号,不是一个句子。
厉害:victory:
完美运行 路过看看= =!
页:
[1]