语句转义字符

转义字符  时间:2021-05-20  阅读:()
下载第3章程序控制语句3.
1程序的三种基本结构通常的计算机程序总是由若干条语句组成,从执行方式上看,从第一条语句到最后一条语句完全按顺序执行,是简单的顺序结构;若在程序执行过程当中,根据用户的输入或中间结果去执行若干不同的任务则为选择结构;如果在程序的某处,需要根据某项条件重复地执行某项任务若干次或直到满足或不满足某条件为止,这就构成循环结构.
大多数情况下,程序都不会是简单的顺序结构,而是顺序、选择、循环三种结构的复杂组合.
三种基本结构的流程图、N-S图以及PAD图可以参看本书第1章1.
4节"算法"相关内容.
C语言中,有一组相关的控制语句,用以实现选择结构与循环结构:选择控制语句:if;switch、case循环控制语句:for、while、do…while转移控制语句:break、continue、goto我们将在后面几节中详细介绍.
3.
2数据的输入与输出在程序的运行过程中,往往需要由用户输入一些数据,而程序运算所得到的计算结果等又需要输出给用户,由此实现人与计算机之间的交互,所以在程序设计中,输入输出语句是一类必不可少的重要语句,在C语言中,没有专门的输入输出语句,所有的输入输出操作都是通过对标准I/O库函数的调用实现.
最常用的输入输出函数有scanf()、printf()、getchar()和putchar(),以下分别介绍.
3.
2.
1scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该输入数据按指定的输入格式被赋给相应的输入项.
函数一般格式为:scanf("控制字符串",输入项列表);其中控制字符串规定数据的输入格式,必须用双引号括起,其内容是由格式说明和普通字符两部分组成.
输入项列表则由一个或多个变量地址组成,当变量地址有多个时,各变量地址之间用逗号","分隔.
scanf()中各变量要加地址操作符,就是变量名前加"&",这是初学者容易忽略的一个问题.
应注意输入类型与变量类型一致.
下面探讨控制字符串的两个组成部分:格式说明和普通字符.
1.
格式说明格式说明规定了输入项中的变量以何种类型的数据格式被输入,形式是:32C语言程序设计下载%[]各个格式字符及其意义见表3-1.
表3-1输入格式字符格式字符意义d输入一个十进制整数o输入一个八进制整数x输入一个十六进制整数f输入一个小数形式的浮点数e输入一个指数形式的浮点数c输入一个字符s输入一个字符串各修饰符是可选的,可以没有,这些修饰符是:⑴字段宽度例如:scanf("%3d",&a)按宽度3输入一个整数赋给变量a.
⑵l和h可以和d、o、x一起使用,加l表示输入数据为长整数,加h表示输入数据为短整数,例如:scanf("%10ld%hd",&x,&i)则x按宽度为10的长整型读入,而i按短整数读入.
⑶字符**表示按规定格式输入但不赋予相应变量,作用是跳过相应的数据.
例如:scanf("%4d%*d%4d",&x,&y,&z)执行该语句,若输入为"123"结果为x=1,z=3,y未赋值,2被跳过.
2.
普通字符普通字符包括空格、转义字符和可打印字符.
(1)空格在有多个输入项时,一般用空格或回车作为分隔符,若以空格作分隔符,则当输入项中包含字符类型时,可能产生非预期的结果,例如:scanf("%d%c",&a,&ch)输入32q期望a=32,ch=q,但实际上,分隔符空格被读入并赋给ch.
为避免这种情况,可使用如下语句:scanf("%d%c",&a,&ch)此处%d后的空格,就可跳过字符"q"前的所有空格,保证非空格数据的正确录入.
(2)转义字符:\n、\t先看下面的例子:scanf("%d%d",&a,&b);scanf("%d%d%d",&x,&y,&z);输入为123456结果为:a=1,b=2,x=3,y=4,z=5若将上述语句改为:scanf("%d%d\n",&a,&b);scanf("%d%d%d",&x,&y,&z);对同样的输入,其结果为a=1,b=2,x=4,y=5,z=6,由于在第一个scanf的最后有一个\n,所以第二个scanf语句将从第二个输入行获得数据.
(3)可打印字符例如:scanf("%d,%d,%c",&a,&b,&ch);当输入为:1,2,q即:a=1,b=2,ch=q若输入为12q除a=1正确赋值外,对b与ch的赋值都将以失败告终,也就是说,这些不打印字符应是输入数据分隔符,scanf在读入时自动去除与可打印字符相同的字符.
[例3-1]试编写求梯形面积的程序,数据由键盘输入.
分析:设梯形上底为A,下底为B,高为H面职为S,则S=(A+B)*H÷2程序如下:main(){floata,b,h,s;printf("pleaseinputa,b,h:");scanf("%f%f%f",&a,&b,&h);s=0.
5*(a+b)*h;printf("a=%5.
2fb=%5.
2fh=%5.
2f",a,b,h);printf("s=%7.
4f",s);}运行结果如下:RUNpleaseinputa,b,h:3.
54.
22.
8a=3.
50b=4.
20h=2.
80s=10.
78003.
2.
2printf()函数与格式化输入函数scanf()相对应的是格式化输出函数printf(),其功能为按控制字符串规定的格式,向缺省输出设备(一般为显示器)输出在输出项列表中列出的各输出项,其基本格式为:printf("控制字符串",输出项列表)第3章程序控制语句33下载输出项可以是常量、变量、表达式,其类型与个数必须与控制字符串中格式字符的类型、个数一致、当有多个输出项时,各项之间用逗号分隔.
控制字符串必须用双引号括起,由格式说明和普通字符两部分组成.
1.
格式说明一般格式为:%[]格式字符规定了对应输出项的输出格式,常用格式字符见表3-2.
表3-2输出格式字符格式字符意义格式字符意义c按字符型输出o按八进制整数输出d按十进制整数输出x按十六进制整数输出u按无符号整数输出s按字符串输出f按浮点型小数输出g按e和f格式中较短的一种输出e按科学计数法输出修饰符是可选的,用于确定数据输出的宽度、精度、小数位数、对齐方式等,用于产生更规范整齐的输出,当没有修饰符时,以上各项按系统缺省设定显示.
(1)字段宽度修饰符表3-3列出了字段宽度修饰符.
表3-3字段宽度修饰符修饰符格式说明意义M%md以宽度m输出整型数,不足m时,左补空格0m%0md以宽度m输出整型数,不足m时,左补零m,n%m.
nf以宽度m输出实型小数,小数位为n位例如:设i=123,a=12.
34567,则:printf("%4d+++%5.
2f",i,a);输出:123+++12.
35printf("%2d+++%2.
1f",i,a);输出:123+++12.
3可以看出,当指定场宽小于数据的实际宽度时,对整数,按该数的实际场宽输出,对浮点数,相应小数位的数四舍五入.
例如:12.
34567按%5.
2f输出,输出12.
35.
若场宽小于等于浮点数整数部分的宽度,则该浮点数按实际位数输出,但小数位数仍遵守宽度修饰符给出的值.
如上面的12.
34567按%2.
1f输出,结果为:12.
3.
在实际应用中,还有一种更灵活的场宽控制方法,用常量或变量的值作为输出场宽,方法是以一个"*"作为修饰符,插入到%之后.
例如:i=123;printf("%*d",5,i);34C语言程序设计下载此处,5为场宽,输出为123在程序中,可以用一个整形变量K来指示场宽:printf("%*d",k,i);可以根据k的值动态地决定i的显示场宽,这在解某些问题时是相当有用的.
(2)对齐方式修饰符负号"-"为"左对齐"控制符,一般所有输出数据为右对齐格式,加一个"-"号,则变为"左对齐"方式.
例如:i=123,a=12.
34567printf("%4d%10.
4f",i,a);输出为:12312.
3457printf("%-4d%10.
4f",i,a);输出为:12312.
3457printf("%4d%-10.
4f",i,a);输出为:12312.
3457(3)l和h可以与输出格式字符d、f、u等连用,以说明是用long型或short型格式输出数据,如:%hd短整型%lf精度型%ld长整型%hu无符号短整型2.
普通字符普通字符包括可打印字符和转义字符,可打印字符主要是一些说明字符,这些字符按原样显示在屏幕上,如果有汉字系统支持,也可以输出汉字.
转义字符是不可打印的字符,它们其实是一些控制字符,控制产生特殊的输出效果.
例如:i=123,n=456,a=12.
34567,且i为整型,n为长整型.
printf("%4d\t%7.
4f\n\t%lu\n",i,a,n);输出为:12312.
3457456其中\t为水平制表符,作用是跳到下一个水平制表位,在各个机器中,水平制表位的宽度是不一样的,这里设为8个字符宽度,那么"\t"跳到下一个8的倍数的列上.
"\n"为回车换行符,遇到"\n",显示自动换到新的一行.
在c语言中,如果要输出%,则在控制字符中用两个%表示,即%%.
[例3-2]输出格式控制符的使用.
#includemain(){inta;第3章程序控制语句35下载36C语言程序设计下载longintb;shortintc;unsignedintd;chare;floatf;doubleg;a=1023;b=2222;c=123;d=1234;e='x';f=3.
1415926535898;g=3.
1415926535898;printf("a=%d\n",a);printf("a=%0\n",a);printf("a=%x\n",a);printf("b=%ld\n",b);printf("c=%d\n",c);printf("d=%u\n",d);printf("e=%c\n",e);printf("f=%f\n",f);printf("g=%f\n",g);printf("\n");}执行程序,输出为:RUNa=1023a=1777a=3ffb=2222c=123d=1234e=xf=3.
141593g=3.
1415933.
2.
3getchar()函数与putchar()函数putchar()与getchar()是对单个字符进行输入输出的函数.
getchar()的功能是返回键盘输入的一个字符,它不带任何参数,其通常格式如下:ch=getchar()ch为字符型变量,上述语句接收从键盘输入的一个字符并将它赋给ch.
putchar()的作用是向屏幕上输出一个字符,它的功能与printf函数中的%c相当.
putchar()必须带输出项,输出项可以是字符型常量、变量、表达式,但只能是单个字符而不能是字符串.
[例3-3]输入一个字符,回显该字符并输出其ASCII码值.
#includemain(){charch;ch=getchar();putchar(ch);printf("%d\n",ch);}运行程序:RUNgg103需要注意的是,字符输入输出函数定义在头文件stdio.
h中,故当程序中使用putchar()或getchar()函数时,必须在main()之前用语句:#include"stdio.
h"将stdio.
h包含进来.
3.
2.
4程序应用举例[例3-4]下面的程序是一个复数加法的例子.
#includemain(){floata1,b1,a2,b2;charch;printf("\t\t\tcomplexsAddition\n");printf("pleaseinputthefirstcomplex:\n");printf("\trealpart:");scanf("%f",&a1);printf("\tvirtualpart:");scanf("%f",&b1);printf("%5.
2f+i%5.
2f\n",a1,b1);printf("\npleaseinputthesecondcomplex:\n");printf("\trealpart:");scanf("%f",&a2);printf("\tvirtualpart:");scanf("%f",&b2);printf("%5.
2f+i%5.
2f\n",a2,b2);printf("\nTheadditionis:");printf("%6.
3f+i%6.
3f\n",a1+a2,b1+b2);printf("programnormalterminated,pressenter.
.
.
");ch=getchar();ch=getchar();}运行结果如下:RUNcomplexsadditionpleaseinputthefirstcomplex:realpart:1.
2virtualpart:3.
4第3章程序控制语句37下载38C语言程序设计下载1.
20+i3.
40pleaseinputthesecondcomplex:realpart:5.
6virtualpart:7.
85.
60+i7.
80Theadditionis:6.
800+i11.
200programnormalterminated,pressenter.
.
.
.
3.
3条件控制语句在程序的三种基本结构中,第二种即为选择结构,其基本特点是:程序的流程由多路分支组成,在程序的一次执行过程中,根据不同的情况,只有一条支路被选中执行,而其他分支上的语句被直接跳过.
C语言中,提供if语句和switch语句选择结构,if语句用于两者选一的情况,而switch用于多分支选一的情形.
3.
3.
1if语句1.
if语句的两种基本形式首先,我们看一个例子,由此了解选择结构的意义及设计方法.
[例3-5]输入三个数,找出并打印其最小数.
分析:设三个数为A、B、C,由键盘读入,我们用一个变量MIN来标识最小数,A、B、C与MIN皆定义为int型变量.
每次比较两个数,首先比较A和B,将小的一个赋给MIN,再把第三个数C与MIN比较,再将小的一个赋给MIN,则最后MIN即为A、B、C中最小数.
算法如下:1)输入A、B、C.
2)将A与B中小的一个赋给MIN.
3)将MIN与C中小的一个赋给MIN.
4)输出MIN.
将第2)步细化为:若A语句当表达式为真时,执行语句,表达式为假时跳过语句.
A=y,只需顺序打出,否则,应将x,y中的数进行交换,然后输出.
两数交换必须使用一个中间变量t,定义三个浮点数x、y、t.
算法:1)读入x、y;2)大数存入x,小数存入y;3)输出x、y.
第2)步求精:若xmain(){floatx,y,t;printf("inputx,y:");scanf("%f%f",&x,&y);if(x语句1elseif语句2elseif语句3else语句4对应的流程图见图3-4.
40C语言程序设计下载开始结束x=10000则tax=0.
05*(price-10000);price=10000;否则,若price>=5000则tax=0.
03*(price-5000)+tax;price=5000;否则,若price>=1000则tax=0.
02*(price-1000)+tax;price=1000;程序如下:#includemain(){floatprice,tax=0;printf("inputprice:");scanf("%f",&price);if(price>=10000.
0){tax=0.
05*(price-10000)+tax;price=10000;}if(price>=5000.
0){tax=0.
03*(price-5000)+tax;price=5000;}if(price>=1000.
00){tax=0.
02*(price-1000)+tax;}printf("thetax=%10.
3f",tax);}第3章程序控制语句41下载语句1语句2语句3语句4表达式2表达式3表达式1真真假假假42C语言程序设计下载运行程序:RUN15000thetax=480.
0004.
if语句嵌套在一个if语句中可以又出现另一个if语句,这称为if语句的嵌套或多重if语句:ifif……else语句2;[例3-8]计算函数1x>0y=0x=0-1x=0)if(x>0)y=1;elseBEGINEND输入xx>=0x>0y=0y=-1y=1输出y真真假假第3章程序控制语句43下载y=0;elsey=-1;printf("y=%4.
0f\n",y);}对多重if,最容易犯的错误是if与else配对错误,例如,写成如下形式:y=0;if(x>=0)if(x>0)y=1;elsey=-1;从缩排上可以看出,作者希望else是与ifx>=0配对,但是C语言规定else总是与离它最近的上一个if配对,结果,上述算法的流程图变成图3-6,完全违背了设计者的初衷.
改进的办法是使用复合语句,将上述程序段改写如下:y=0;if(x>=0){if(x>0)y=1;}elsey=-1;3.
3.
2switch语句if语句只能处理从两者间选择之一,当要实现几种可能之一时,就要用if.
.
.
elseif甚至多重的嵌套if来实现,当分支较多时,程序变得复杂冗长,可读性降低.
C语言提供了switch开关语句专门处理多路分支的情形,使程序变得简洁.
switch语句的一般格式为:switchcase常量表达式1:语句序列1;break;case常量表达式2:语句序列2;break;……case常量表达式n:语句n;break;default:语句n+1;其中常量表达式的值必须是整型,字符型或者枚举类型,各语句序列允许有多条语句,不需要按复合语句处理,若语句序列i为空,则对应的break语句可去掉.
图3-7是switch语句的流程图.
特殊情况下,如果switch表达式的多个值都需要执行相同的语句,可以采用下面的格式:y=0y=1x>=0x>0y=-1真真图3-6错误的算法流程图假44C语言程序设计下载switch(i){case1:case2:case3:语句1;break;case4:case5:语句2;break;default:语句3;}当整型变量i的值为1、2或3时,执行语句1,当i的值为4或5时,执行语句2,否则,执行语句3.
[例3-9]输入月份,打印1999年该月有几天.
程序如下:#includemain(){intmonth;intday;表达式=常量表达式1表达式=常量表达式2表达式=常量表达式i表达式=常量表达式i+1表达式=常量表达式n语句序列1语句序列2语句序列i+1语句序列n语句序列n+1BREAKBREAKBREAKBREAK图3-7switch语句的流程图第3章程序控制语句45下载printf("pleaseinputthemonthnumber:");scanf("%d",&month);switch(month){case1:case3:case5:case7:case8:case10:case12:day=31;break;case4:case6:case9:case11:day=30;break;case2:day=28;break;default:day=-1;}ifday=-1printf("Invalidmonthinput!
\n");elseprintf("1999.
%dhas%ddays\n",month,day);}3.
3.
3程序应用举例[例3-10]解一元二次方程ax2+bx+c=0,a、b、c由键盘输入.
分析:对系数a、b、c考虑以下情形1)若a=0:①b0,则x=-c/b;②b=0,则:①c=0,则x无定根;②c0,则x无解.
2)若a0;①b2-4ac>0,有两个不等的实根;②b2-4ac=0,有两个相等的实根;③b2-4ac#includemain(){floata,b,c,s,x1,x2;doublet;46C语言程序设计下载printf("pleaseinputa,b,c:");scanf("%f%f%f",&a,&b,&c);if(a==0.
0)if(b!
=0.
0)printf("therootis:%f\n",-c/b);elseif(c==0.
0)printf("xisinexactive\n");elseprintf("noroot!
\n");else{s=b*b-4*a*c;if(s>=0.
0)if(s>0.
0){t=sqrt(s);x1=-0.
5*(b+t)/a;x2=-0.
5*(b-t)/a;printf("Therearetwodifferentroots:%fand%f\n",x1,x2);}elseprintf("Therearetwoequalroots:%f\n",-0.
5*b/a);else{t=sqrt(-s);x1=-0.
5*b/a;/*实部*/x2=abs(0.
5*t/a);/*虚部的绝对值*/printf("Therearetwovirtualroots:");printf("%f+i%f\t\t%f-i%f\n",x1,x2,x1,x2);}}}运行结果如下:RUNpleaseinputa,b,c:123Therearetwovirtualroots:-1.
000000+i1.
000000-1.
000000-i1.
000000RNUpleaseinputa,b,c:253Therearetwodifferentroots:-1.
500000and-1.
000000RNUpleaseinputa,b,c:003Noroot!
3.
4循环控制语句循环控制结构(又称重复结构)是程序中的另一个基本结构.
在实际问题中,常常需要进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算.
C语言提供了while语句、do.
.
.
while语句和for语句实现循环结构.
3.
4.
1while语句while语句是当型循环控制语句,一般形式为:while语句;语句部分称为循环体,当需要执行多条语句时,应使用复合语句.
while语句的流程图见图3-8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行.
[例3-11]求n!
分析:n!
=n*(n-1)*(n-2)*.
.
2*1,0!
=1.
即S0=1,Sn=Sn-1*n.
可以从S0开始,依次求出S1、S2、.
.
.
Sn.
统一令S等于阶乘值,S的初值为0!
=1;变量i为计数器,i从1变到n,每一步令S=S*i,则最终S中的值就是n!
.
流程图见图3-9,程序如下:main(){intn,i;longints;printf("pleaseinputn(n>=0):");scanf("%d",&n);if(n>=0){s=1;if(n>0){i=1;while(i=0):00!
=1第3章程序控制语句47下载语句真假表达式图3-8while语句的流程图48C语言程序设计下载RUNpleaseinputn(n>=0):66!
=720RUNpleaseinputn(n>=0):-2Invalidinput!
考察图3-9中循环部分的流程图可以看出,在循环前各变量应有合适的值(s=1),另外,控制循环结束的变量(此处为i)必须在循环体中被改变,否则,循环将无限进行下去,成为死循环.
图3-9例3-11的算法流程图[例3-12]利用格里高利公式求π:π/4=1-1/3+1/5-1/7+.
.
.
直到最后一项的绝对值小于等于10-6为止.
程序如下:#include#include{main(){doublee,pi;longintn,s;t=1.
0;n=1;s=1;pi=0.
0;BEGIN读入nN>=0S=1假真真真假i=1i=i+1s=s*i输出s报错ENDi=0第3章程序控制语句49下载while(fabs(t)>=1e-6){pi=pi+t;n=n+2;s=-s;t=(float)(s)/(float)(n);}pi=pi*4;printf("pi=%lf\n",pi);}运行结果为:RUNpi=3.
141591本题中,将多项式的每一项用t表示,s代表符号,在每一次循环中,只要改变s、n的值,就可求出每一项t.
一般情况下,while型循环最适合于这种情况:知道控制循环的条件为某个逻辑表达式的值,而且该表达式的值会在循环中被改变,如同例3-12的情况一样.
3.
4.
2do.
.
.
while语句在C语句中,直到型循环的语句是do.
.
.
while,它的一般形式为:do语句while其中语句通常为复合语句,称为循环体.
do.
.
.
while语句的流程图见图3-10,其基本特点是:先执行后判断,因此,循环体至少被执行一次.
但需要注意的是,do.
.
.
while与标准的直到型循环有一个极为重要的区别,直到型循环是当条件为真时结束循环,而do.
.
.
while语句恰恰相反,当条件为真时循环,一旦条件为假,立即结束循环,请注意do.
.
.
while语句的这一特点.
例[3-13]计算sin(x)=x-x3/3!
+x5/5!
-x7/7!
+.
.
.
直到最后一项的绝对值小于1e-7时为止.
分析:这道题使用递推方法来做.
让多项式的每一项与一个变量n对应,n的值依次为1,3,5,7,.
.
.
,从多项式的前一项算后一项,只需将前一项乘一个因子:(-x2)/((n-1)*n)用s表示多项式的值,用t表示每一项的值,程序如下:#include#includemain(){doubles,t,x;intn;printf("pleaseinputx:");语句表达式真图3-10do.
.
.
while语句的流程图50C语言程序设计下载scanf("%lf",&x);t=x;n=1;s=x;do{n=n+2;t=t*(-x*x)/((float)(n)-1)/(float)(n);s=s+t;}while(fabs(t)>=1e-7);printf("sin(%f)=%lf",x,s);}运行结果如下:RUNpleaseinputx:1.
5753sin(1.
575300)=0.
999990RUNpleaseinputx:-0.
65sin(-0.
650000)=-0.
6051863.
4.
3for语句for语句是循环控制结构中使用最广泛的一种循环控制语句,特别适合已知循环次数的情况.
它的一般形式为:for(;;)语句for语句很好地体现了正确表达循环结构应注意的三个问题:1)控制变量的初始化.
2)循环的条件.
3)循环控制变量的更新.
表达式1:一般为赋值表达式,给控制变量赋初值;表达式2:关系表达式或逻辑表达式,循环控制条件;表达式3:一般为赋值表达式,给控制变量增量或减量.
语句:循环体,当有多条语句时,必须使用复合语句.
for循环的流程图如图3-11,其执行过程如下:首先计算表达式1,然后计算表达式2,若表达式2为真,则执行循环体;否则,退出for循环,执行for循环后的语句.
如果执行了循环体,则循环体每执行一次,都计算表达式3,然后重新计算表达式2,依此循环,直至表达式2的值为假,退出循环.
[例3-14]计算自然数1到n的平方和.
#include#includemain(){inti;floats;表达式1表达式3循环体表达式2假图3-11for循环的流程图真第3章程序控制语句51下载printf("pleaseinputn:");scanf("%d",&n);s=0.
0;for(i=1;i52C语言程序设计下载BEGINENDi=0k=0i;j++)/*控制列*/printf("*");printf("\n");/*换行*/}}打印结果如下:RUN********************************************************将程序中for(j=0;jmain(){intr;floatarea;for(r=1;r100.
0)break;printf("square=%f\n",area);}printf("nowr=%d\n",r);}54C语言程序设计下载运行程序:RUNsquare=3.
141593square=12.
566373square=28.
274338square=50.
265488square=78.
539825nowr=6当break处于嵌套结构中时,它将只跳出最内层结构,而对外层结构无影响.
2.
continue语句continue语句只能用于循环结构中,一旦执行了continue语句,程序就跳过循环体中位于该语句后的所有语句,提前结束本次循环周期并开始新一轮循环.
[例3-17]计算半径为1到15的圆的面积,仅打印出超过50的圆面积.
#includemain(){intr;floatarea;for(r=1;r#includemain(){第3章程序控制语句55下载intj,n,p,q,flagp,flagq;printf("pleaseinputn:");scanf("%d",&n);if(((n%2)!
=0)||(n<=4))printf("inputdataerror!
\n");else{p=1;do{p=p+1;q=n-p;flagp=1;for(j=2;j<=(int)(floor(sqrt((double)(p))));j++){if((p%j)==0){flagp=0;break;}}flagq=1;for(j=2;j<=(int)(floor(sqrt((double)(q))));j++){if((q%j)==0){flagq=0;break;}}}while(flagp*flagq==0);printf("%d=%d+%d\n",n,p,q);}}程序运行结果如下:RUNpleaseinputn:88=3+5RUNpleaseinputn:9898=19+79RUNpleaseinputn:9inputdataerror!
56C语言程序设计下载

妮妮云(30元),美国300G防御 2核4G 107.6元,美国高速建站 2核2G

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...

IMIDC(rainbow cloud):香港/台湾/日本/莫斯科独立服务器特价,闪购大促销,最低30usd/月起

imidc怎么样?imidc彩虹网路,rainbow cloud知名服务器提供商。自营多地区数据中心,是 Apnic RIPE Afrinic Arin 认证服务商。拥有丰富的网路资源。 在2021年 6.18 开启了输血大促销,促销区域包括 香港 台湾 日本 莫斯科 等地促销机型为 E3係,参与促销地区有 香港 日本 台湾 莫斯科 等地, 限量50台,售罄为止,先到先得。所有服务器配置 CPU ...

火数云-618限时活动,国内云服务器大连3折,限量50台,九江7折 限量30台!

官方网站:点击访问火数云活动官网活动方案:CPU内存硬盘带宽流量架构IP机房价格购买地址4核4G50G 高效云盘20Mbps独享不限openstack1个九江287元/月立即抢购4核8G50G 高效云盘20Mbps独享不限openstack1个九江329元/月立即抢购2核2G50G 高效云盘5Mbps独享不限openstack1个大连15.9元/月立即抢购2核4G50G 高效云盘5Mbps独享不限...

转义字符为你推荐
答案winrar思科route支持ipad支持ipadnetbios端口怎么关闭8909端口!其他端口就不用了photoshop技术什么是ps技术重庆宽带测速重庆电信测速我的网速溢出ms17-010win10华为 slatl10是什么型号联通iphone4联通iphone4跟苹果的iphone4有什么不一样? 比如少了什么功能? 还是什么的?csshackcss常见的hack方法有哪些
高防直连vps 新通用顶级域名 骨干网 kvmla Vultr paypal认证 directadmin ssh帐号 dropbox网盘 警告本网站 qq数据库 hnyd 嘉洲服务器 web服务器的架设 老左来了 徐正曦 河南移动网 常州联通宽带 空间首页登陆 万网空间管理 更多