SWUST OJ 318
题目输入:
输入一个十进制数,用程序将其变换成2进制数和8进制数。
输入
每一组数据只有一行,即需要被变换的十进制整数。(输入有多组测试数据)
输出
对应每一组数据,输出对应的2进制和8进制,第一行输出2进制,第二行输出8进制数
样例输入
3
样例输出
11
3
c语言实现:
#include<stdio.h>
int main ()
{
int a, i, j, b[1000];
while(scanf("%d", &a) !=EOF)
{
j = a;
if(a==0) printf("0");
for(i=0;a!=0;i++)
{
b[i]=a%2;//2进制的来源 ,记录余数
a=a/2;//a/2
}
for(i=i-1;i>=0;i--)//末尾数字,比实际的吧b[i]的i还多1
{
printf("%d", b[i]);//
}
printf("\n");
printf("%o\n", j);//八进制
}
return 0;
}
我是3.11写的这道题,就捕获异常,比较简单分享给各位python初学者:
while True:
try:
a = input("")
one=bin(int(a))[2:]
two=oct(int(a))[2:]
print(one)
print(two)
except:
break
大家输出不用图省事直接输出类似于 print(oct(int(a))[2:])
先赋值再输出就行
关于捕获的一些知识点:
基本语法:
try:
可能发生错误的代码
except:
如果出现异常执行的代码
捕获常规代码:小例子:(需求)
try:
f=open(‘linux.txt’,’r’)
except:
f=open(‘linux.txt’,’w’)
捕获指定异常:
try:
print(name)
except NameError(错误类型) as e:->(是一个instance,as是关键字,e拿来访问NameError的属性)
print(“出现了变量未定义的异常”)
如有错误请多指正,谢谢啦