求出字母大小写转换

字母大小写转换  时间:2021-05-05  阅读:()
C语言常用算法CCCC语言常用算法归纳应当掌握的一般算法一、基本算法:交换、累加、累乘二、非数值计算常用经典算法:穷举、排序(冒泡,选择)、查找(顺序即线性)三、数值计算常用经典算法:级数计算(直接、简接即递推)、一元非线性方程求根(牛顿迭代法、二分法)、定积分计算(矩形法、梯形法)、矩阵转置四、其他:迭代、进制转换、字符处理(统计、数字串、字母大小写转换、加密等)、整数各数位上数字的获取、辗转相除法求最大公约数(最小公倍数)、求最值、判断素数(各种变形)、数组元素的插入(删除)、二维数组的其他典型问题(方阵的特点、杨辉三角形)详细讲解一、基本算法1111.
交换(两量交换借助第三者)例1、任意读入两个整数,将二者的值交换后输出.
main(){inta,b,t;scanf("%d%d",&a,&b);printf("%d,%d\n",a,b);t=a;t=a;t=a;t=a;a=b;a=b;a=b;a=b;b=t;b=t;b=t;b=t;printf("%d,%d\n",a,b);}【解析】程序中加粗部分为算法的核心,如同交换两个杯子里的饮料,必须借助第三个空杯子.
假设输入的值分别为3、7,则第一行输出为3,7;第二行输出为7,3.
其中t为中间变量,起到"空杯子"的作用.
注意:三句赋值语句赋值号左右的各量之间的关系!
【应用】例2、任意读入三个整数,然后按从小到大的顺序输出.
main(){inta,b,c,t;scanf("%d%d%d",&a,&b,&c);/*以下两个if语句使得a中存放的数最小*/if(a>b){t=a;t=a;t=a;t=a;a=b;a=b;a=b;a=b;b=t;b=t;b=t;b=t;}if(a>c){t=a;t=a;t=a;t=a;a=c;a=c;a=c;a=c;c=t;c=t;c=t;c=t;}/*以下if语句使得b中存放的数次小*/C语言常用算法if(b>c){t=b;t=b;t=b;t=b;b=c;b=c;b=c;b=c;c=t;c=t;c=t;c=t;}printf("%d,%d,%d\n",a,b,c);}2222.
累加累加算法的要领是形如"ssss=s+s+s+s+A"的累加式,此式必须出现在循环中才能被反复执行,从而实现累加功能.
"A"通常是有规律变化的表达式,s在进入循环前必须获得合适的初值,通常为0.
例1、求1+2+3+……+100的和.
main(){inti,s;s=0;s=0;s=0;s=0;i=1;i=1;i=1;i=1;while(ia[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}for(i=0;ia[n-2])a[n-1]=x;/*比最后一个数还大就往最后一个元素中存放*/else/*查找待插位置*/{j=0;while(ja[j])j++;/*从最后一个数开始直到待插位置上的数依次后移一位*/for(k=n-2;k>=j;k--)a[k+1]=a[k];a[j]=x;/*插入待插数*/}for(j=0;j=i;k--)a[k+1]=a[k];a[i]=x;/*插入待插数*/}}for(i=0;i=m&&j=n&&ifloatg(floatx,floateps);main(){floatx,eps;scanf("%f%f",&x,&eps);printf("\n%f,%f\n",x,g(x,eps));}floatg(floatx,floateps){intn=1;floats,t;s=1;t=1;do{t=t*x/(2*n);s=s+(n*n+1)(n*n+1)(n*n+1)(n*n+1)*t;/*加波浪线的部分为直接法描述部分,t为递推法描述部分*/n++;}while(fabs(t)>eps);returns;}2222.
一元非线性方程求根C语言常用算法(1111)牛顿迭代法牛顿迭代法又称牛顿切线法:先任意设定一个与真实的根接近的值x0作为第一次近似根,由x0求出f(x0),过(x0,f(x0))点做f(x)的切线,交x轴于x1,把它作为第二次近似根,再由x1求出f(x1),过(x1,f(x1))点做f(x)的切线,交x轴于x2,……如此继续下去,直到足够接近(比如|x-x0|=1e-5);printf("%f\n",x);}(2222)二分法算法要领是:先指定一个区间[x1,x2],如果函数f(x)在此区间是单调变化的,则可以根据f(x1)和f(x2)是否同号来确定方程f(x)=0在区间[x1,x2]内是否有一个实根;如果f(x1)和f(x2)同号,则f(x)在区间[x1,x2]内无实根,要重新改变x1和x2的值.
当确定f(x)在区间[x1,x2]内有一个实根后,可采取二分法将[x1,x2]一分为二,再判断在哪一个小区间中有实根.
如此不断进行下去,直到小区间足够小为止.
具体算法如下:(1)输入x1和x2的值.
(2)求f(x1)和f(x2).
(3)如果f(x1)和f(x2)同号说明在[x1,x2]内无实根,返回步骤(1),重新输入x1和x2的值;若f(x1)和f(x2)不同号,则在区间[x1,x2]内必有一个实根,执行步骤(4).
(4)求x1和x2的中点:x0=(x1+x2)/2.
(5)求f(x0).
(6)判断f(x0)与f(x1)是否同号.
①如果同号,则应在[x0,x2]中寻找根,此时x1已不起作用,用x0代替x1,用f(x0)代替f(x1).
②如果不同号,则应在[x1,x0]中寻找根,此时x2已不起作用,用x0代替x2,用f(x0)代替f(x2).
(7)判断f(x0)的绝对值是否小于某一指定的值(例如10-5).
若不小于10-5,则返回步骤(4)重C语言常用算法复执行步骤(4)、(5)、(6);否则执行步骤(8).
(8)输出x0的值,它就是所求出的近似根.
例如,用二分法求方程2x3-4x2+3x-6=0在(-10,10)之间的根.
#include"math.
h"main(){floatx1,x2,x0,fx1,fx2,fx0;do{printf("Enterx1&x2");scanf("%f%f",&x1,&x2);fx1=2*x1*x1*x1-4*x1*x1+3*x1-6;fx2=2*x2*x2*x2-4*x2*x2+3*x2-6;}while(fx1*fx2>0);do{x0=(x1+x2)/2;fx0=2*x0*x0*x0-4*x0*x0+3*x0-6;if((fx0*fx1)1e-5);printf("%f\n",x0);}3333.
梯形法计算定积分定积分∫badxxf)(的几何意义是求曲线y=f(x)、x=a、x=b以及x轴所围成的面积.
可以近似地把面积视为若干小的梯形面积之和.
例如,把区间[a,b]分成n个长度相等的小区间,每个小区间的长度为h=(b-a)/n,第i个小梯形的面积为[f(a+(i-1)·h)+f(a+i·h)]·h/2,将n个小梯形面积加起来就得到定积分的近似值:∑∫=+++≈nibahhiafhiafdxxf12/)]())1(([)(根据以上分析,给出"梯形法"求定积分的N-S结构图:输入区间端点:a,b输入等分数nh=(b-a)/2,s=0i从1到nsi=(f(a+(i-1)*h)+f(a+i*h))*h/2s=s+si输出s上述程序的几何意义比较明显,容易理解.
但是其中存在重复计算,每次循环都要计算小梯形的上、下底.
其实,前一个小梯形的下底就是后一个小梯形的上底,完全不必重复计C语言常用算法算.
为此做出如下改进:∫∑=+++≈banihiafbfafhdxxf11)](2/)(2/)([)(矩形法求定积分则更简单,就是将等分出来的图形当作矩形,而不是梯形.
例如:求定积分∫++40)2*3*(dxxxx的值.
等分数n=1000.
#include"math.
h"floatDJF(floata,floatb){floatt,h;intn,i;floatHSZ(floatx);n=1000;h=fabs(a-b)/n;t=(HSZ(a)+HSZ(b))/2;for(i=1;i=1;day--)peach=(peach+1)*2;printf("Thefirstday:%d\n",peach);}又如,用迭代法求x=a的根.
求平方根的迭代公式是:xn+1=0.
5*(xn+a/xn)[算法](1)设定一个初值x0.
(2)用上述公式求出下一个值x1.
(3)再将x1代入上述公式,求出下一个值x2.
(4)如此继续下去,直到前后两次求出的x值(xn+1和xn)满足以下关系:|xn+1-xn|=1e-5);printf("%f\n",x1);}2222.
进制转换(1111)十进制数转换为其他进制数一个十进制正整数m转换成r进制数的思路是,将m不断除以r取余数,直到商为0时止,以反序输出余数序列即得到结果.
注意,转换得到的不是数值,而是数字字符串或数字串.
例如,任意读入一个十进制正整数,将其转换成二至十六任意进制的字符串.
voidtran(intm,intr,charstr[],int*n){charsb[]="0123456789ABCDEF";inti=0,g;do{g=m%r;str[i]=sb[g];m=m/r;i++;}while(m!
=0);*n=i;}main()C语言常用算法{intx,r0;/*r0为进制基数*/inti,n;/*n中存放生成序列的元素个数*/chara[50];scanf("%d%d",&x,&r0);if(x>0&&r0>=2&&r0=0;i--)printf("%c",a[i]);printf("\n");}elseexit(0);}(2222)其他进制数转换为十进制数其他进制整数转换为十进制整数的要领是:"按权展开",例如,有二进制数101011,则其十进制形式为1*25+0*24+1*23+0*22+1*21+1*20=43.
若r进制数an……a2a1(n位数)转换成十进制数,方法是an*rn-1+……a2*r1+a1*r0.
注意:其他进制数只能以字符串形式输入.
例1、任意读入一个二至十六进制数(字符串),转换成十进制数后输出.
#include"string.
h"#include"ctype.
h"main(){charx[20];intr,d;gets(x);/*输入一个r进制整数序列*/scanf("%d",&r);/*输入待处理的进制基数2-16*/d=Tran(x,r);printf("%s=%d\n",x,d);}intTran(char*p,intr){intd,i,cr;charfh,c;d=0;fh=*p;if(fh=='-')p++;for(i=0;i='A')cr=toupper(c)-'A'+10;elsecr=c-'0';d=d*r+cr;d=d*r+cr;d=d*r+cr;d=d*r+cr;}if(fh=='-')d=-d;return(d);}3333.
矩阵转置矩阵转置的算法要领是:将一个m行n列矩阵(即m*n矩阵)的每一行转置成另一个n*m矩阵的相应列.
C语言常用算法例1、将以下2*3矩阵转置后输出.
即将123转置成144562536main(){inta[2][3],b[3][2],i,j,k=1;for(i=0;i='x'&&a[i]='X'&&a[i]=0;j--)printf("%d",a[j]);printf("\n");}C语言常用算法6666.
辗转相除法求两个正整数的最大公约数该算法的要领是:假设两个正整数为a和b,先求出前者除以后者的余数,存放到变量r中,若r不为0,则将b的值得赋给a,将r的值得赋给b;再求出a除以b的余数,仍然存放到变量r中……如此反复,直至r为0时终止,此时b中存放的即为原来两数的最大公约数.
例1、任意读入两个正整数,求出它们的最大公约数.
[法一:用while循环时,最大公约数存放于bbbb中]main(){inta,b,r;doscanf("%d%d",&a,&b);while(amax)max=a[i];elseif(a[i]#includemain(){intk,j,a[101];clrscr();/*清屏函数*/for(k=2;k=0;j--)printf(输出时每行前导空格递减*/for(j=0;j<=i;j++)printf("%4d",a[i][j]);printf("\n");}}

创梦云 香港沙田、长沙联通2核1G仅需29元一个月 挂机宝7元一个月

商家介绍:创梦云是来自国内的主机销售商,成立于2018年4月30日,创梦云前期主要从事免备案虚拟主机产品销售,现在将提供5元挂机宝、特惠挂机宝、香港云服务器、美国云服务器、低价挂机宝等产品销售。主打高性价比高稳定性挂机宝、香港云服务器、美国云服务器、香港虚拟主机、美国虚拟主机。官方网站:http://cmy0.vnetdns.com本次促销产品:地区CPU内存硬盘带宽价格购买地址香港特价云服务器1...

ParkinHost:俄罗斯离岸主机,抗投诉VPS,200Mbps带宽/莫斯科CN2线路/不限流量/无视DMCA/55折促销26.4欧元 /年起

外贸主机哪家好?抗投诉VPS哪家好?无视DMCA。ParkinHost今年还没有搞过促销,这次parkinhost俄罗斯机房上新服务器,母机采用2个E5-2680v3处理器、128G内存、RAID10硬盘、2Gbps上行线路。具体到VPS全部200Mbps带宽,除了最便宜的套餐限制流量之外,其他的全部是无限流量VPS。ParkinHost,成立于 2013 年,印度主机商,隶属于 DiggDigi...

digital-vm:VPS低至$4/月,服务器$80/月,10Gbps超大带宽,不限流量,机房可选:日本新加坡美国英国西班牙荷兰挪威丹麦

digital-vm,这家注册在罗马尼亚的公司在国内应该有不少人比较熟悉了,主要提供VPS业务,最高10Gbps带宽,还不限制流量,而且还有日本、新加坡、美国洛杉矶、英国、西班牙、荷兰、挪威、丹麦这些可选数据中心。2020年,digital-vm新增了“独立服务器”业务,暂时只限“日本”、“新加坡”机房,最高也是支持10Gbps带宽... 官方网站:https://digital-vm.co...

字母大小写转换为你推荐
本公司在线代理http404未找到打开网页提示HTTP 404未找到文件netshwinsockreset开始-运行-输入CMD-确定-输入netsh winsock reset,按Enter确定。然后重启。 是什么意思重庆电信dns重庆的DNS服务器地址是多少?degradeios工资internal大飞资讯新闻资讯包括什么内容?大飞资讯单仁资讯集团怎么样宜人贷官网我在宜人财富贷款2万元,下款的时候时候系统说银行卡号错误,然 我在宜人财富贷款2万我在宜人财富贷款徐州商标求江苏徐州地区的商标代理机构!
免备案虚拟主机 中文域名查询 php主机租用 krypt duniu hkbn 新加坡服务器 便宜建站 双12活动 好玩的桌面 云图标 ibrs 圣诞促销 合租空间 idc资讯 php空间推荐 ca187 免费外链相册 网通服务器 外贸空间 更多