(do-while,break语句)小华的寒假作业上,有这样一个趣味填空题:给出用等号连接的两个整

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(do-while,break语句)小华的寒假作业上,有这样一个趣味填空题:给出用等号连接的两个整相关的知识,希望对你有一定的参考价值。

(do-while,break语句)小华的寒假作业上,有这样一个趣味填空题:给出用等号连接的两个整数,如“1234=127”。当然,现在这个等号是不成立的。现在让你在左边的整数中间某个位置插入一个加号,看有没有可能让等号成立。以上面的式子为例,如果写成123+4=127,这就可以了。请你编写一个程序来解决它,要求: 输入:只有那个不相等的式子。假定,等号两边的整数都不会超过2000000000。 输出:如果存在这样的方案,请输出那个正确的式子,否则,请输出“Impossible!”。

static void Main(string[] args)

int Num1, Num2;
while (true)

Console.WriteLine("请输入不相等的式子:");
string str = Console.ReadLine();
if (str.Contains("="))

string[] Arr = str.Split('=');
if (Arr.Length == 2 && int.TryParse(Arr[0], out Num1) && int.TryParse(Arr[1], out Num2))

if (Num1 > 0 && Num2 > 0 && Num2 <= 2000000000 && Num2 <= 2000000000) break;
else Console.WriteLine("两边数字必须都在0到2000000000之间");




string StrNum1 = Num1.ToString(), result = "";
bool found = false;
for (int i = 0; i < StrNum1.Length - 1; i++)

int SpNum1 = Convert.ToInt32(StrNum1.Substring(0, i + 1));
int SpNum2 = Convert.ToInt32(StrNum1.Substring(i + 1, StrNum1.Length - (i + 1)));
if (SpNum1 + SpNum2 == Num2)

result = SpNum1.ToString() + "+" + SpNum2.ToString() + "=" + Num2.ToString();
found = true;



if (found)

Console.WriteLine(result);

else

Console.WriteLine("Impossible!");

Console.ReadLine();

我自己写的,没有用do-while,用的while。但是功能完完全全是你想要的。

参考技术A 你是上师大C语言A班的吧。。。这是我的答案。。你最好改一点点。。。
#include<stdio.h>
#include<math.h>
int main()

char ch;
int na, nb;
long m, n;
long a, b, c;
a = 0; na = 0;
while((c = getchar()) != '=')
a = 10 * a + c - '0';
++na;

b = 0; nb = 0;
while((ch = getchar()) != '\n')
b = 10 * b + ch - '0';
++nb;

if(na < nb)
printf("Impossible!\n");
do
m = a / pow(10, --na);
n = a % (long)pow(10, na);
c = m + n;
if(c == b)
printf("%ld + %ld = %ld", m, n, c);
break;

while(na >= 1);
if(na == 0)
printf("Impossible!\n");
return 0;
追问

╭(╯ε╰)╮谢谢啦

本回答被提问者采纳
参考技术B 这个要用数组吧,简单说下思路
int a[]=new int[1000];
int sum=0;int i=0;
do
sum+=a[i];
i++;
while(sum<=2000000000);
break;
printf("Impossible!\n");
参考技术C 追问

不懂怎么编这个程序〒_〒

追答

你是大几的?

追问

大一……

C语言的break和continue语句

break 语句通常用在循环语句和开关语句中。当 break 用于开关语句 switch 中时,可使程序跳出 switch而执行 switch 以后的语句。
当 break 语句用于 do-while、 for、 while 循环语句中时,可使程序终止循环而执行循环后面的语句, 通常 break 语句总是与 if 语句联在一起。即满足条件时便跳出循环。

continue 语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。 continue 语句只用在 for、while、 do-while 等循环体中,常与 if 条件语句一起使用,用来加速循环。

以上是关于(do-while,break语句)小华的寒假作业上,有这样一个趣味填空题:给出用等号连接的两个整的主要内容,如果未能解决你的问题,请参考以下文章

shell-跳出循环break和continue

作业五 循环结构

break,continue语句

continue,break;

Break语句和Continue语句

不就是循环嘛,循环与分支知识点详解!!