一道C语言编程题目求解答!

键盘输入一个实数a,输出它的立方根。请自行设计算法编写程序,不允许调用pow函数。
假设a的立方根为x,则x3=a,问题转化求一元高次方程x3-a=0的解
迭代法!!!!!!

2个回答

#include
int main()
{
double a,n,m,x;
scanf("%lf",&a);
n=0;
m=a;
while(1) /*用n,m反复迭代,每次用n,m的平均值逼近*/
{
x=(n+m)/2;
if(a>0)
{
if(x*x*x<=a)
{
n=x;
}
else
m=x;
}
else
{
if(x*x*x<=a)
m=x;
else
n=x;

    }
    if((x*x*x-a<=0.000001)&&(x*x*x-a>=-0.000001))/*设置迭代的精度*/
       break;


}
printf("%lf  %lf",x,x*x*x);

}
求赞

qq_16907619
bwangccc 回复Justin_bibo: 输入0.008咋办 -1到1的还得考虑
接近 3 年之前 回复
Justin_bibo
鉏飞祥 回复wylasr06: 怎么说??
接近 3 年之前 回复
lht1510720220
wylasr06 这解有问题
接近 3 年之前 回复
Justin_bibo
鉏飞祥
接近 3 年之前 回复
qq_36519547
qq_36519547 http://ask.csdn.net/questions/344348看一下这道题 谢谢了
接近 3 年之前 回复
qq_36519547
qq_36519547 while(1) 中的1干嘛的 没见过
接近 3 年之前 回复

如果a=0.008,会输出什么

qq_16907619
bwangccc 回复Justin_bibo: 不是精度不够吧 而是根本求不出吧 因为你一开始就认为答案在0到a之间 一直在0到0.008里面找 然而它的立方根是0.2,你在那个区间怎么取平均值都得不到0.2
接近 3 年之前 回复
Justin_bibo
鉏飞祥 估计会错,精度不够。真想高精度,就用数组迭代,小数点后多少位都可以。
接近 3 年之前 回复
qq_16907619
bwangccc 回复qq_16907619: 发错地方了 我是想问楼下的
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C++一道题目,求解答。
问题是这样的:n两个人玩捡树枝游戏,树枝的数量由用户来输入。但是树枝的数量不能超过21,用投掷硬币来决定先后顺序。每个人能一次性拿一枝或者两枝。谁拿到最后一枝树枝谁就输。n请用C++写出来。
求解答数据结构一道题目
1. 若进栈序列为ABCD,请写出全部可能的出栈序列和不可能的出栈序列
题目一道,求算法解答.........
输入a,n,k(1<=a,n<=1e9 1<=k<=10000 ,rn注意:有多组测试数据,请用EOF标志判断结束输入):rn2 32 5rn2 30 5rnrn输出(a^n)%k的结果(a的n次方被k除的余数):rn1rn4
求一道C语言编程题!题目如下
编写一个程序,程序中要调用名为 one_three()的函数。该函数要在一行中显示单词“one“,再调用two()函数,然后再在另一行中显示单词“three”。函数two()应该能在一行中显示单词“two”。main()函数应该在调用one_three()函数之前显示短语“starting now:”,函数调用之后要显示“done!”。这样,最后的输出结果应如下所示:rnrnrnstarting now:rnrnonerntwornthreerndone!
一道c语言编程题,求大佬解答
因为我实在是太菜了[face]monkey:50.gif[/face]希望不要被老师看到8n咱也没有积分…能给的都给了…n嘤嘤嘤大佬帮帮忙吧n题目描述:n给定一场ACM比赛的题目数量和提交列表,请你打印输出最终榜单。榜单的格式见输出和样例。n根据比赛规则,榜单有以下要求:nn每道题的通过罚时按照分钟计算。每次未通过提交增加20分钟罚时,输入数据保证每个队伍罚时均小于10000分钟。到比赛结束都没有通过的题目不计入该队伍的罚时。n每队通过后的题目在榜单的题目栏中用“+”号显示。如果仅提交一次就通过了,则显示“+”。否则显示“+k”,k 为这个队伍对于这道题通过之前的总提交次数。输入数据保证 k 不大于 9。n每队提交但是未通过的题目在榜单的题目栏中用“-”号显示。如果仅提交一次,则显示“-”。否则显示“-k”,k 为这个队伍对于这道题的总提交次数。输入数据保证 k 不大于9。n每队没有提交的题目需要在榜单的该队的题目栏留空。n题目提交状态为“Compile Error”的提交不计入榜单。n对于某个队伍,在通过某个题目后再次提交该题目,则通过后的提交不计入榜单。n如果某个队伍没有提交,或者所有的提交均不计入榜单。则榜单上不显示该队伍。n题目提交状态为“Accepted”的提交表示本题正确通过,其它状态均表示未通过。n输入描述:nn第一行一个数字 n(n≤14),表示这场比赛有 n 道题目,题目的标号从 A开始。n接下来若干行,每行格式形如:时间 题号 结果 队名,表示一条提交记录,提交记录按提交时间顺序排列。n其中,时间形如HH:MM,输入数据保证时间一定小于05:00。n题号为单独的一个大写字母。n结果属于集合 Accepted, Wrong Answer, Time Limit Exceeded, Compile Error, Memory Limit Exceeded, Output Limit Exceeded, Runtime Error, Presentation Error 。n队名为一个含有空格、大写和小写字母的字符串,队名长度不超过 43。n输入以一行 “GAME OVER!” 结尾,表示比赛结束。n输出描述:nn输出的榜单有 n+4栏,每栏之间间隔 2个空格。nRank一栏的宽度为 4个字符,表示该队伍的排名。nWho一栏的宽度43个字符,表示该队伍的名字。nSolved一栏宽度为 6个字符,显示每个队伍通过题目的数量。nPenalty一栏宽度为 7个字符,按要求显示每队总用时(每题通过时间+有效的总罚时)。n接下来是题目栏,每个题目栏的宽度均为 3个字符,按要求显示“+”或“-”,表示每个队伍通过题目的情况。n每一栏的第一行为这一栏的名称,其中,Who需左对齐,其他栏需右对齐。n题目栏的名称为题目的标号。n接下来若干行,按顺序输出每个队伍的信息,每栏的信息需右对齐。n队伍按照通过题目数量排名,如果两队通过题目数量相等,总用时少的队伍排名靠前。n如果出现题数和罚时均相等的队伍,则按照队名的字典序排序,同时Rank一栏的值需相等。第一个与他们排名不相等的队伍的排名选择绝对排名,例如前五个队伍的排名分别为1、2、3、3、3,则第六个队伍的绝对排名为6。
一道C语言编程题目,有关组合
两个乒乓球赛进行比赛,各出3人,甲队为A,B,C3人,乙队为X,Y,Z3人,已经抽签决定比赛名单,有人向队员打听比赛名单,A说他不和X比,C说他不和X,Z比,请编程序找出3对赛手的名单。rnrn请问该如何编写,谢谢!
解答一道题目?
rnrn又一道高智商的智力题 rnBy 正夫 rnrnrnrn有两个自然数X和Y,1甲、乙两人足够聪明。rn把X+Y告诉了甲,把X*Y告诉了乙。rn然后,rn甲说:“我不知道X和Y各是多少,但你也不知道。”rn乙说:“我知道X和Y各是多少了!”rn甲接着说:“我也知道X和Y各是多少了!”rnrn请问你知道X和Y各是多少?rnrn rn
一个c语言编程题目,急需解答!
编写一个这样的函数,即可接受任何数值类型的数组作为参数、找到该数组中最大和最小值,并返回指向这些值的指针(提示:需要采用某种方法将数组包含的元素数目告知函数)。
一道编程题目,要疯了,求解答
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。假设第一年就一头老母牛,第二年就2头母牛,第三牛就3头母牛,第四年就4头母牛,第五年就6头。第六年就9头。请编程实现在第n年的时候,共有多少头母牛?rn 母牛生小牛,满脑子的牛,救救孩子吧
今晚的一道笔试题目,求解答
有函数如下rn[code=C/C++][/code]rnvoid test(int i)rnrn if (i>1)rn rn test(i/2);rn test(i/2);rn rn printf("*");rnrnrn执行test(5); 则打印了几个*??rnrn刚实验了一下 是7个 我选的3个 不懂 求解!
求高手帮忙解答一道Oracle题目
有一张表叫 sun 内容和字段如下rnrnchengshi yuan xianrn 沈阳 1 2 rn 沈阳 2 3rn 海南 3 1rn 广东 5 2rn 海南 3 2rn 沈阳 3 1rnrn我想这样子,查询出来的结果显示如下,如果yuan 大于 xian 就是下降,rnxian大于yuan就是上升,然后统计上升和下降的数量,那么上面的内容rn统计后应该如下,城市名循序不需要排列,但是统计的数量一定要正确.rnrn chengsh 下降 上升rn 沈阳 1 2 rn 海南 2 0rn 广东 1 0 rnrn应该如何编写语句?rnrn------------------------------------------------------------------------rnrnrn上面的问题解决后剩下最后一个问题rn有一张表叫 tongji 字段如下rnrn chengshi xiajiang shangshengrnrn现在表里面没内容...rn要求编写语句把表 sun 的内容自动分析出结果像上面的样子然后插入进表 tongji rn上面结果插入后如下rnrn chengshi xiajiang shangshengrn 沈阳 1 2 rn 海南 2 0rn 广东 1 0
一道C语言的题目,求大神解答
输入一个正整数,逐位分割该数的每一位数字,求由数字所构成的最大整数。例如;输入624891,得到最大整数:986421。要求定义和调用函数计算并返回一个x可构成的最大整数。
一道笔试题目,求解答。急急急。。。
以下是该项目的要求。你需要有一个配置文件,你应该有一个URL和难题的起始号码,如号码是1,意味着程序将提取所有的困惑,如果数字是50,然后将提取的困惑难题50开始的结束。rnrn这是一个非常直截了当的屏幕抓取工作可以在你选择的语言:Perl,Python,PHP,Java,Ruby,无论净。交付将Excel输出和代码。rnrn我们需要screenscrape数据为arukone拼图位于这里在以下网址:rnrnhttp://www.menneske.no/arukone/5x5/eng/?数= 1rnrn输出应该是一个Excel文件包括所有的困惑。rnrn每个问题应该输出:拼图,难度,并以每个编号的点的位置(坐标数,行,列coordnate)。rnrn例如,样品5x5谜位于http://www.menneske.no/arukone/5x5/eng/?数= 499rnrn将输出:rnrn499,超级简单,3,0,4rnrn499,超级简单,2,1,1rnrn499,超级简单,3,1,3rnrn499,超级简单,1,1,4rnrn499,超级简单,2、3、4rnrn499,超级简单,1,4,4rnrn应该有1434(常数)为5x5拼图的Excel文件。rnrn如果你有问题,请不要犹豫,打电话或写信给我,我们的工程师会回答你所有的问题,或引导你通过测试。rnrn请回复你的预计完成日期。
一道关于字符串处理的题目,求解答!~~
[code=Java]rnrnpublic class StringUtils rn public static void main(String[] args) rn System.out.println(leftPad("1234", 10, '#'));rn System.out.println(rightPad("1234", 10, '#'));rn System.out.println(repeat("123", 4));rn System.out.println(john(new Integer[] 1, 2, 3, 4 , "-"));rn rn //1 支持指定字符长度的leftPad 输入:"1234", 10, '#' 输出:######1234rn public static String leftPad(String str, int size, char padChar) rn return null;rn rn //2 支持指定字符长度的rightPad 输入:"1234", 10, '#' 输出:1234######rnrn public static String rightPad(String str, int size, char padChar) rn return null;rn rn //3 提供repeat方法,将一个字符串按照指定次数重复并返回 输入:"123", 4 输出:123123123123rn public static String repeat(String str, int repeat) rn return null;rn rn //4 提供join方法将数组按照指定分隔符连接字符串 输入:new Integer[] 1, 2, 3, 4 , "-" 输出:1-2-3-4rn public static String john(Object[] ary, String str) rn return null;rn rnrnrn[/code]
一道.Netframework的基础理论题目,求详细解答?
Which one of the following namespaces of the .NET Framework do you use to create metadata dynamically at runtime? rnrnA.System.AppDomainSetup rnB.System.ManagementrnC.System.Reflection.Emit rnD.System.Activator rnE.System.Runtimernrn
一道acmC语言题目,求大神解答
描述n国庆前每日一弹其中一道题是一个递推公式:f(n)=f(n-1)+f(n-2)。现在已知f(1)=1,f(2)=1。现在请你设计一个程序计算第n项对520取余的值(%520)。nn输入n多组输入;n对于每组输入:n只有一行,一个n(0<n≤10^9),表示第n项。n输出n输出f(n)%520的值。n样例输入
一道SQL题目,求高手解答,谢谢!
题目如下:rnrn学生表S:Sno(学号),Sname(姓名),Sage(年龄)rn选课表SC:Sno(学号),Cno(课程号),Grade(成绩)rn课程表C:……rn查询每一个年龄对应的选修了课程的人数。rn
一道数据结构关于链表的题目,求解答!
![图片说明](https://img-ask.csdn.net/upload/201905/04/1556938856_455761.jpg)
一道C++题目,求高手解答
[设计要求] 一、定义学生(student)类,其中至少包括姓名、性别、学号、班级和两门功课的成绩。rn 二、实现下面的功能 rn 1、设计菜单实现功能选择; rn 2、输入功能:输入学生信息,并保存到文件中;rn 3、计算每个学生的总分与平均分并排序rn 4、能根据学号修改学生信息rn 5、能根据学号删除学生信息rn 6、查询功能:rn 1)能够根据学号查询学生信息;rn 2)能够根据姓名、班级查询学生信息rn 3)统计学生成绩,按照班级和科目计算平均分。rn
一道数学运算题目求牛人解答
String value = "6+-*/2+3-4*2";rnrn要求先乘除后加减 rn如果遇到多个运算符取最后一个运算符进行两个数的计算 rnrn看那位大牛会哦
一道简单的Map题目求解答
package Map;rnrnimport java.util.HashMap;rnimport java.util.Map;rnrnclass Dogrn String name;rn Dog(String name)this.name = name;rn @Overridern public boolean equals(Object arg0) rn // TODO Auto-generated method stubrn if( (arg0 instanceof Dog) && (((Dog)arg0).name == name) )rn System.out.println(this.name + " " + ((Dog)arg0).name + " " + "true");rn return true;rn rn elsern System.out.println(this.name + " " + ((Dog)arg0).name + " " + "false");rn return false;rn rn rn rn[color=#FF0000] @Overridern public int hashCode() rn // TODO Auto-generated method stubrn System.out.println(this.name.length());rn return this.name.length();rn [/color]rn @Overridern public String toString() rn // TODO Auto-generated method stubrn return "dog is " + this.name;rn rnrnrnrnpublic class MapTest rn public static void main(String[] args) rn // TODO Auto-generated method stubrn Map m = new HashMap();rn //add some key/value pairsrn Dog d1 = new Dog("clover");rn d1.name = "magoli";rn m.put(d1, "The value is " + d1);rn System.out.println(m);rnrn[color=#FF0000] d1.name = "cagnolia";rn System.out.println("4.1 d1: " + d1);rn System.out.println("4.1 result--------------: " + m.get(d1)); // #4.1rn System.out.println(m);[/color]rn rnrnrn上面这段代码的运行结果是rn4.1 d1: dog is cagnoliarn4.1 result--------------: nullrnmap中的内容是dog is cagnolia=The value is dog is magolirn那么如果是map是根据key来返回value的话,那么为什么key已经变化了就不能返回value呢,查找的结果就是null呢rnrn然后我把Dog里面的hashcode改成了return 4;就是一个很没意思的返回数值,运行结果就变成了rn4.1 d1: dog is cagnoliarn4.1 result--------------: The value is dog is magolirnmap中的内容是dog is cagnolia=The value is dog is magoli,求高手帮忙解答下,非常感谢!!!
FreeBSD下C语言编程求解答!
最近我在FreeBSD上做c语言实验题rn要求写一个c程序,能自动搜索全目录找出指定文件,并输出文件内容,下面是我写的代码 rn[code=C/C++]rn#include rn#include rnint main()rnrn printf("Please input filename which you need to find!\n");rn FILE *fp1, *fp2;rn char searchFilename[30];rn scanf("%s", &searchFilename);rn char printFile[100];//="cat ";rn char str[100] = "find / -name ";rn strcat(str, searchFilename);rn char record[]="> temp.txt";rn strcat(str, record);rn system(str);rn fp1 = fopen("temp.txt", "r"); rn char load[100];rn fgets(load, 100, fp1);rn fclose(fp1);rn printf("%s", load);rn int i;rn for(i=0; i<=99; i++)rn if(load[i] == '$')rn load[i] == NULL;rn rn fp2 = fopen(load, "r");rn fgets(printFile, 100, fp2);rn printf("%s\n", printFile); rn //if(load == "\0")rn // strcat(printFile, load);rn // system(printFile);rn // printf("%s", printFile);rn //elsern // printf("This file is not exited, please check again!\n");rn //rn fclose(fp2);rn return 1;rnrn[/code]rn编译没问题,就是执行的时候有问题rn比如,我当前目录下已经存在test.c文件了rnrn然后黑屏输入输出为:rnPlease input filename which you need to search!rntest.crn/usr/cworkspace/test.crnSegmentation fault (core dumped)rnrnrnrn这究竟是什么原因啊!?求该问题解决方案,如果大神有全系统搜索指定文件并输出文件内容的c语言方案,能不能说说!
一道题目,请大家解答!
试编程计算Z=5X+3Y+10 已知X,Y均放在数据段,其值由编程者自定。结果Z仍放数据段。
求一道推理题的C语言编程解法。
在一条街上,有三座不同颜色的相邻房子,颜色是:红、蓝、绿。三座房子里住着三个不同国籍的人,国籍分别是:英国、西班牙、日本。三个人养着不同的宠物,宠物名分别是:美洲虎、蜗牛、斑马。关于房子、颜色、国籍和宠物的关系,我们有如下的信息:rn 英国人住红房子;rn 美洲虎是西班牙人的宠物;rn 日本人住在养蜗牛的人的右边;rn 养蜗牛的人住在蓝房子的左边。rn问哪国人养的是斑马?rnrn请给出解题思路、数据结构和程序结构,不要用六重循环啊!谢谢!
一道C语言编程练习题,求解释
代码如下:rnmain() rn char a,b,c,*d; rna='\'; b='\xbc'; rnc='\0xab'; d="\0127"; rnprintf("%c%c%c%c\n",a,b,c,*d); rn rn编译时出现错误,以下叙述中正确的是 rnA) 程序中只有a='\';语句不正确 rnB) b='\xbc';语句不正确 rnC) d="\0127";语句不正确 rnD) a='\';和 c='\0xab';语句都不正确rn rn标准答案是选D, 但我不明白 c='\0xab'这个错在那了,我在VC++6.0rn环境下编译没错误的,该怎么解释这个错误,求大神们解释下!还有这个字符在内存中rn是怎么存放的,求详解!谢谢!
求一道编程题目
rn用 c 语言实现:rn要求:编写代码容易看懂;rnrn设有n个人围坐一圈并按顺时针方向从1到n 编号,从第s个人开始进行1到 m的报数,rn报数到第m个人,此人出圈,再从他的下一个人重新开始1到m 的报数,如此进行下去rn直到所有的人都出圈为止。rn现要求按出圈次序,每10个人一组,给出这n个人的顺序表。请编制函数 Josegh() rn实现此功能并调用函数WriteDate()把结果p输出到文件JOSE.OUT中。rn设 n=100,s=1, m=10。rn(1) 将1到n个人的序号存入一维数组p中;rn(2) 若第i个人报数后出圈,则将p[i]置于数组的倒数第 i 个位置上,而原来rn 第i+1个至倒数第i个元素依次向前移动一个位置;rn(3) 重复第(2) 步直至圈中只剩下p[1] 为止。rn 注意:部分源程序存放在PROG1.C中。rn 请勿改动主函数main()和输出数据函数WriteDat()的内容。rn
一道题目 求解释
[code=C/C++]rnrnunionrnrn int i;rn char x[2];rna;rnrnint main(int argc, char* argv[])rnrn a.x[0] = 10;rn a.x[1] = 1;rnrn cout<
一道求质数的题目
题目就是求101到200之间所有的质数并打印出来。我写的程序如下,但得不到正确结果,大家帮忙看看,问题在哪rnpublic class zhishurn public static void main(String argus[])rn int i = 101;rn int j = 2;rn while(i<=200)rn boolean f = true;rn while(j
求一道算法题目
有一个数组A1,3,4,5,7,8,9,10......,长度为M,注意此数组按升序排列,有另一数组B2,3,4,5,6,7,8,9,...长度为N,注意此数组也是升序的,现在要求用一个循环统计两个数组中共有的元素的个数。注意是要求一个循环统计实现。rn  
求一道题目
数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.rnrn[color=#FF0000]时间复杂度必须为o(N)[/color]
一道题目,求答案。。。
分别指出下列指令中源操作数和目的操作数的寻址方式.若是存储器寻址,试用表达式写出其EA=? PA=?rn例:MOV [DI],AXrn源操作数: 寄存器寻址rn目的操作数:寄存器间接寻址,其EA=(DI) PA=((DS)*16)+(DI)rn(1)MOV SI,2100H (2)MOV CS,DISP[BX] (3)MOV [SI],AX (4)ADC AX,[BX][SI]rn(5)AND AX,DX (6)MOV AX,[BX+10H] (7)MOV AX,ES:[BX] rn(8)MOV AX,[BX+SI+20H] (9)MOV [BP],CX (10)PUSH DSrn
一道题目 求输出
char str1[] = "abc";rnchar str2[] = "abc";rnconst char str3[] = "abc"; rnconst char str4[] = "abc"; rnconst char* str5 = "abc";rnconst char* str6 = "abc";rncout << boolalpha << ( str1==str2 ) << endl; // 输出什么?rncout << boolalpha << ( str3==str4 ) << endl; // 输出什么?rncout << boolalpha << ( str5==str6 ) << endl; // 输出什么?rnrn以上三条输出语句分别输出什么
一道“国信蓝点杯”预赛题目(C语言编程)
用户输入一 串字符:比如,this is tHE cpp2005Programrn要求输出格式:This Is The Cpp_2005_programrnrn每个子字符串首字母要大写,其他小写;各个子字符串之间只能有一个空格;出现数字串的前后的字母串用下划线连接,只有首字母大写。子字符串以空格划分。rnrn求解!!!有没有简单的处理方式。
需要解答疑惑!一道C语言编程的问题求解答
#includenint main()nn int m=0,n=0,i=0,num=0;n scanf("%d",&m);n scanf("%d",&n);n for(i=0;i<=n;)n n if(i<2)n n num=1;n i++;n n elsen n i=num+i;n num=i-num;n n if(i>m)n n printf("%d ",num);n n nnreturn 0;nnn n 虽然这个程序符合题意,运行起来没有问题。但作为一个新人n 怎么想到这种方法? 为什么一开始是i=0?而不是1n 为什么 要让 i=num+i;n num=i-num;n 根本想不到,求帮助,如何想到这种方法?
求一道笔试题的解答。。。
[code=java]public class Test rn private List names = new ArrayList<>();rn public synchronized void add(String name)rn names.add(name);rn rn public synchronized void printAll()rn for(int i=0;i
一道面试题,求解答
You will be given a map of Soteholm as an N×M grid. Each square in the grid has a side length of 1 km and is either water or land. Your goal is to compute the total length of sea coast of all islands. Sea coast is all borders between land and sea, and sea is any water connected to an edge of the map only through water. Two squares are connected if they share an edge. You may assume that the map is surrounded by sea. Lakes and islands rnin lakes are not contributing to the sea coast.rn[img=https://img-bbs.csdn.net/upload/201412/11/1418275997_561218.png][/img]rnFigure 1: rnGray squares are land and white squares are water. The thick black line is the sea coast. This example corresponds to Sample Input 1.rnrnInputrnrnThe first line of the input contains two space separated integers N and M where 1 ≤ N, M ≤ 1000. The following N lines each contain a string of length M consisting of only zeros and ones. Zero means water and one means land.rnrnOutputrnrnOutput one line with one integer, the total length of the coast in km.rnrnSample Input 1rnrn5 6 rn011110rn010110 rn111000rn000010 rn000000 rnrnSample Output 1rnrn20rnrn大意就是算出图中粗线的长度,每个方块的变长是一,所以图中的长度是20rn我已经写出了一个通用算法,但是提交之后总是回复我测试答案错误,我也不知道哪里遗漏的需要考虑的情况,求大神解答。rn下面是我写的代码:rn[code=java]rnimport java.util.Scanner;rnrnpublic class Coast rnrn private static int N = 0;rnrn private static int M = 0;rnrn private static int coast_length = 0;rnrn /**rn * @param argsrn */rn public static void main(String[] args) rn rn rn boolean flag = false;rn Scanner scanner = new Scanner(System.in);rnrn while (!flag) rn String str = scanner.nextLine();rn String newStr[] = str.split(" ");rn N = Integer.parseInt(newStr[0]);rn M = Integer.parseInt(newStr[1]);rn if (1 <= N && N <= 1000 && 1 <= M && M <= 1000) rn flag = true;rn rn rn rn flag = false;rn String sMap[] = new String[N];rn for (int i = 0; i < N; i++) rn sMap[i] = scanner.nextLine();rn rn char[][] map2 = changeMap(sMap);rnrn calcCoastLength(map2);rn scanner.close();rn rn rn public static int autotest()rn int rd = (Math.random()>0.5?1:0); rn return rd;rn rnrn private static char[][] changeMap(String[] sMap) rn char map[][] = new char[N][M];rn String line[] = new String[M];rn for (int i = 0; i < N; i++) rn line = sMap[i].split(" ");rn for (int j = 0; j < M; j++) rn map[i][j] = line[0].charAt(j);rn rn rnrn N += 2;rn M += 2;rnrn char[][] map2 = new char[N][M];rn map2 = addBounds(map);rn return map2;rn rn rn private static char[][] addBounds(char[][] map)rn char[][] map2 = new char[N][M];rn for (int i = 0; i < N; i++) rn for (int j = 0; j < M; j++) rn map2[0][j] = '0';rn map2[N - 1][j] = '0';rn map2[i][0] = '0';rn map2[i][M - 1] = '0';rn if (i >= 1 && j >= 1 && i < (N - 1) && j < (M - 1)) rn map2[i][j] = map[i - 1][j - 1];rn rn rn rn return map2;rn rnrn private static void calcCoastLength(char[][] map) rnrn for (int i = 0; i < N; i++) rn for (int j = 0; j < M; j++) rn int lake = map[i][j];rn if (map[i][j] == '0' && i >= 1 && j >= 1 && i < N - 1rn && j < M - 1) rn if (map[i - 1][j] != lake && map[i][j - 1] != lakern && map[i + 1][j] != lake && map[i][j + 1] != lake) rn map[i][j] = '1';rn rn rn rn rnrn for (int i = 0; i < N; i++) rn for (int j = 0; j < M; j++) rn int islandlength = 0;rn if (map[i][j] == '1' && i >= 1 && j >= 1 && i < N - 1rn && j < M - 1) rn islandlength = 4;rn if (map[i - 1][j] == '1') rn islandlength -= 1;rn rn if (map[i][j - 1] == '1') rn islandlength -= 1;rn rn if (map[i + 1][j] == '1') rn islandlength -= 1;rn rn if (map[i][j + 1] == '1') rn islandlength -= 1;rn rn rn coast_length += islandlength;rn rn rn System.out.print(coast_length + "");rn rnrn[/code]
一道面试题 求解答
[code=Java]rnpublic class Examplern String str = new String("good");rn char[] ch = 'a','b','c';rn public void static main(String[] args)rn Example ex = new Example();rn ex.change(ex.str,ex.ch);rn System.out.print(ex.str + " and ");rn System.out.print(ex.ch)rn rn public void change(String str,char ch[])rn str = "test ok";rn ch[0] = 'g';rn rnrn[/code]rnrn答案是good and gbc
一道C语言编程题!!!需求解答与思想
1. 在一个a.txt文件中,放入一下字符串:rna 34rnaa 36rnaaa 28rnab 17rnaab 12rnbc 13rnbbc 25rncd 20rnccd 18rn要求输入一个字符串,输出所有可以用以上字符串组合而成的组合形式,并在其后输出其数字相加之和,如果没有,则不输出。rn例如输入:aaabcrn 输出:a aa bc 83rn aa a bc 83rn aaa bc 41rn a a a bc 115rn
一道C语言编程题,本人初学者,求大神解答
编写程序实现功能:数据文件story.txt是一篇英文小故事,请先统计其中26个字母的出现次数。n要求一:再根据用户要求,输出某个字母的出现次数,直到用户输入#为止。n要求二:请输出出现频率最高的三个字母和它们的出现次数。n
C语言编程问题,不懂求解答
截得其中的一段nnn我想问问其中k=0,k=1的作用,新手不懂求问求解答~!!!!n还有if(k==0)什么意思。。。。nnint main()nn int i,k=0;n char username[15],usernode[6];n system("color 3f");//*************************改变编译器窗口颜色和字符颜色n /*n 0 = 黑色 8 = 灰色n 1 = 蓝色 9 = 淡蓝色n 2 = 绿色 A = 淡绿色n 3 = 湖蓝色 B = 淡浅绿色n 4 = 红色 C = 淡红色n 5 = 紫色 D = 淡紫色n 6 = 黄色 E = 淡黄色n 7 = 白色 F = 亮白色n */n printf("\n\n\n\t\t欢迎进入学生信息管理系统!\n\n\n");n printf("\t\t\t系统编程员:王誉睿\n\n");n printf("\t\t\t\t\t2016.06.20\n\n");n for(i=0;i<3;i++)n nn printf("\n\n\n\t\t请输入您的姓名:\n\n\n");n gets(username);n printf("\n\n\n\t\t请输入您的6位密码:\n\n\n");n gets(usernode);n if(strcmp(username,"wangyurui")==0&&strcmp(usernode,"666666")==0)n n printf("\n登陆成功!");n wait();n k=1;n homepage();n break;n n elsen n system("cls");n printf("\n\n\t\t\t您输入的姓名或密码有误!\n\n");n printf("\t\t\t请重新输入:\n");n continue;n n n if(k==0)n printf("\n\n\t\t\t您已连续3次输入错误!!!\n\n");n printf("\t\t\t您将被强行退出程序!\n\n");n printf("\t\t\t正在退出程序\t");n wait();n quit();nn
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件