C语言:从p所指字符串中找出ASCII码最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。-使字符串的前导*号不得多于n个,若多余n个,则删除多余的*号,
//fun函数:从p所指字符串中找出ASCII码最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
#include <stdio.h>
void fun( char *p )
{ char max,*q; int i=;
max=p[i];
while( p[i]!= )
{ if( max<p[i] )
{ max=p[i];
/**********found**********/
q = p + i;//先找到最大值,记录最大值的位置。
}
i++;
}
/**********found**********/
while(q>p )
{ *q=*(q-);//进行顺序后移。
q--;
}
p[]=max;
}
void main()
{ char str[];
printf("Enter a string: "); gets(str);
printf("\nThe original string: "); puts(str);
fun(str);
printf("\nThe string after moving: "); puts(str); printf("\n\n");
}
//fun函数:根据一下公式求圆周率值,并作为函数返回值。Π/2=1+1/3+1/3*2/5+1/3*2/5*3/7+...
#include <math.h>
#include <stdio.h>
double fun(double eps)
{ double s,t; int n=;
s=0.0;
/************found************/
t=1.0;
while( t>eps)
{ s+=t;
t=t * n/(*n+);
n++;
}
/************found************/
return (s*);
}
void main()
{ double x;
printf("\nPlease enter a precision: "); scanf("%lf",&x);
printf("\neps=%lf, Pi=%lf\n\n",x,fun(x));
}
//规定输入的字符串中只包含字母和*号,fun函数:使字符串的前导*号不得多于n个,若多余n个,则删除多余的*号,若少于或等于n个,则不做处理,字符串尾部和中间的*号不删除。
#include <stdio.h>
void fun( char *a, int n )
{
char *b;
b = a;
int i = ;
while (!('A' <= *b&&*b <= 'Z'))
{
//printf("%c\n", *b);
b++;
i++;
}
if (i > n)
{
a = a + n;//注意位置不在while里面
while (*b != '\0')
{
*a = *b;
a++;
b++;
}
*a = '\0';
}
} void main()
{ char s[]; int n;void NONO ();
printf("Enter a string:\n");gets(s);
printf("Enter n : ");scanf("%d",&n);
fun( s,n );
printf("The string after deleted:\n");puts(s);
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *in, *out ;
int i, n ; char s[] ;
in = fopen("in.dat","r") ;
out = fopen("out.dat","w") ;
for(i = ; i < ; i++) {
fscanf(in, "%s", s) ;
fscanf(in, "%d", &n) ;
fun(s,n) ;
fprintf(out, "%s\n", s) ;
}
fclose(in) ;
fclose(out) ;
}
//使用数组完成:
void fun( char *a, int n )
{
char b[81];
int z = 0;
while (*a != '\0')
{
b[z] = *a ;
z++; a++;
}
a = a - z;//指针位置返还
b[z] = '\0';//标记结束
int i = 0;
while (!(b[i]>='A'&&b[i] <= 'Z'))
{
i++;
}
if (i > n)
{
a = a + n;
while (b[i]!='\0')
{
*a = b[i];
//printf("%c\n", *a);
a++;
i++;
}
*a ='\0';
}
}
C语言:从p所指字符串中找出ASCII码最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。-使字符串的前导*号不得多于n个,若多余n个,则删除多余的*号,的更多相关文章
- 最长(大)回文串的查找(字符串中找出最长的回文串)PHP实现
首先还是先解释一下什么是回文串:就是从左到右或者从右到左读,都是同样的字符串.比如:上海自来水来自海上,bob等等. 那么什么又是找出最长回文串呢? 例如:字符串abcdefedcfggggggfc, ...
- 在字符串中找出第一个只出现一次的字符,Python实现
要求: 1. 不能依赖库函数直接实现此功能,需使用基础的数据结构实现 2. 时间复杂度 O(n) 思路: 1. 用字典存储每个字符在字符串中出现的次数 2. 列表是有序的,用来存储字符的出现先后 3. ...
- javascript实现:在N个字符串中找出最长的公子串
'use strict' module.exports = function 找出最长公子串 (...strings) { let setsOfSubstrings = [] strings.redu ...
- C语言:对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中。-在数组中找出最小值,并与第一个元素交换位置。
//对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中. #include <stdio.h& ...
- 使用strtok_s函数从一个字符串中分离出单词
下面的代码从含有多个结束符的字符串中分离出单词来,需要对strtok_s有清楚的认识.这段代码是我在写一个处理文件中单词个数时用来分离读取到的字符串中的单词时写的,亲测可用~ 1 2 3 4 5 6 ...
- 输入n个字符串,找出最长最短字符串(若有个数相同的,都打印出来)
首先,要求找到最长最短字符串,我们应该用数组将其存起来,输入的个数是不固定的,我们就可以用Scanner获取要输入的个数,最终找到的个数也不固定,我们可以封装两个方法,并且返回值类型为数组. 我遇到的 ...
- C语言 选择排序算法原理和实现 从数组中 找出最小的元素然后交换位置
#include <stdio.h> int main(void) { /* 选择排序算法 原理:从数组中 找出最小的元素然后交换位置: */ int a[10] = {9,5,10,7, ...
- 海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)
前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些. 先拿10000个数建堆, ...
- 海量数据中找出前k大数(topk问题)
海量数据中找出前k大数(topk问题) 前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小 ...
随机推荐
- script放在body和放在head的区别
放在body中:在页面加载的时候被执行 放在head中:在被调用时被执行 原因: 1.浏览器是从上到下解析HTML的. 2.放在head里的js代码,会在body解析之前被解析:放在body里的js代 ...
- Date、DateFormat、Calendar、Math、System
Date(基本已过时了,被Calendar替换) 构造方法(有两个) Date(); Date(long l);long类型的毫秒值 常用方法(其他方法都已被Calendar替换) getTime() ...
- MVC HTML辅助方法
HTML辅助方法(HTML Helper)用来辅助产生HTML,在开发View的时候会面对许多HTML标签,处理这些HTML标签非常繁琐,为了降低View的复杂度,可以使用HTML辅助方法帮助你产生一 ...
- AcWing 905. 区间选点
//1.将每个区间按右端点从小到大排序 //2.从前往后依次枚举每个区间,如果当前区间中已经包含点,就直接跳过,否则,选择当前区间的右端点 //选右端点的话,可以尽可能的包含在多个区间里 #inclu ...
- Flink架构(一)- 系统架构
1. 系统架构 Flink是一个分布式系统,用于有状态的并行数据流处理.也就是说,Flink会分布式地运行在多个机器上.在分布式系统中,常见的挑战有:如何对集群中的资源进行分配与管理.协调进程.数据存 ...
- Spring Cloud和Spring Boot版本问题导致Nacos 注册失败!
之前学习consul注册中心的时候就遇到版本问题,这次学习nacos的时候又遇到版本问题,可惜没长记性,排查了一天最后才发现是boot和cloud的版本有问题. 记录一下,防止以后再出现这种浪费时间的 ...
- Common Subsequence Gym - 102307C 公共序列
2019 ICPC Universidad Nacional de Colombia Programming Contest C D J C. Common Subsequence 题意:给出长度 ...
- AS报错:Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency 'com.and
build->Rebuid-project 寻找错误根源: 报错里可以发现: Resolved versions for app (26.1.0) and test app (27.1.1) d ...
- Nuxt的默认模板和默认布局
Nuxt为我们提供了超简单的默认模版订制方法,只要在根目录下创建一个app.html就可以实现了 注:建立了默认模板后,记得要重启服务器,否则你的显示不会成功 默认布局主要针对于页面的统一布局使用.它 ...
- MySQL 学习(二)总体框架 & redo-log 和 bin-log 的介绍
文章部分总结来自课程,非原创 MySQL 组织架构 下面这张图就可以解释关于 MySQL 底层的组织架构了. 上面的图可以直观地展示两个重要的东西 : 一条 SQL 的执行流程 MyS ...