【程序改错】 题目:809*??=800*??+9*??+1其中??代表的两位数,8*??的结果 为两位数,9*??的结果为3位数。求??代表的两位数,及809*?? 后的结果。
时间: 2023-12-15 17:31:48 浏览: 42
根据题目,我们可以列出以下条件:
1. 809*??=800*??+9*??+1
2. ??代表的两位数,8*??的结果为两位数,9*??的结果为3位数
根据第一条公式,我们可以得到:
809*??=800*??+9*??+1
9*??=1
??=1/9
但是题目中要求??为两位数,因此??应该为12。
根据第二条公式,我们可以得到:
8*12=96
9*12=108
因此,??代表的两位数为12,809*12=9708。
答案:??代表的两位数为12,809*12=9708。
相关问题
l = lambda x:len(str(x)) for i in range(20): if l(809*i)==4 and l(8*i)==2 and l(9*i)==3 x = i print(x) print(809*x==8000*x*0*x) print(809*x) 改错
这段代码的语法是错误的,应该将 lambda 函数的定义放在 for 循环前面。另外,代码中使用了 `x` 变量但没有定义,需要先定义并赋初值。
以下是修改后的代码:
```
l = lambda x: len(str(x))
x = 0
for i in range(20):
if l(809*i)==4 and l(8*i)==2 and l(9*i)==3:
x = i
break
print(x)
print(809*x==8000*x+9*x)
print(809*x)
```
修改的具体内容:
1. 将 `l = lambda x:len(str(x))` 修改为 `l = lambda x: len(str(x))`,使得 lambda 函数的定义正确。
2. 定义并赋初值给 `x` 变量。
3. 在 `if` 语句中加入冒号 `:`。
4. 在 `print` 语句中加入加号 `+`,使得计算正确。
5. 在最后一个 `print` 语句中输出 `809*x`,以验证计算结果是否正确。
【程序改错】 题目:输出多个字符。 注意:不可以增加或删除程序行,也不可以更改程序的结构。 */ #include"stdio.h main(){ int i; char *a1={'a','b’,'c','d','e'}**=*ERRR*==** for(i=0;i<=5;i++) /*****RROR*=======**
这段程序有一些错误,我把它们标注在下面了:
```c
#include "stdio.h"
main() // 缺少返回值类型
{
int i;
char *a1={'a','b’,'c','d','e'} // 错误的字符数组赋值方式
**=*ERRR*==** // 无意义的语句
for(i=0;i<=5;i++) // 循环应该是 i<5
/*****RROR*=======**/ // 错误的注释格式
printf("%c",*(a1+i)); // 缺少输出语句
}
```
修改后的程序如下:
```c
#include "stdio.h"
int main()
{
int i;
char a1[] = {'a', 'b', 'c', 'd', 'e'};
for (i = 0; i < 5; i++)
{
printf("%c", *(a1 + i));
}
return 0;
}
```
输出结果为:`abcde`