1.题目
自定义一个八进制转换为十进制
程序分析
这道题,我没有找出他要考的点,所以我就直接写答案,知道的大佬可以留言提示一下。
代码展示
#include <stdio.h>
void main(){
int a;
printf("请输入一个八进制数字:");
scanf("%o",&a);
printf("转换十进制后结果为%d",a);
}
运行展示
2.题目
求0—7所能组成的奇数个数
程序分析
我列出了他的所有可能性(左边为位数 右边为个数)
1 4
2 7 * 4
3 7*8*4
4 7*8*8*4
5 7*8*8*8*4
6 7*8*8*8*8*4
7 7*8*8*8*8*8*4
8 7*8*8*8*8*8*8*4
从中找到了规律
代码展示
#include <stdio.h>
void main(){
int i,a,b,c,k;
long int num,s;
for(i=1;i<=8;i++){
b=1;
s=0;
if(i==1){
c=1;
}else if(i==2){
c=7;
}else{
c=7;
for(k=3;k<=i;k++){
b*=8;
}
}
s=4*b*c;
num+=s;
printf("%d位数的奇数个数为%ld个\n",i,s);
}
printf("共有奇数个数为%ld个\n",num);
}
运行展示
3.题目
一个偶数总能表示为两个素数之和。
程序分析
刚开始的时候一脸懵逼,不知道从何处下手,后来我想到了用最笨的方法一个一个的试,先设其中一个数为1,即可得出另一个数为(a-1),然后依次递增,并且判断这两个数是不是素数,若是则满足条件,不是则继续递增。
代码展示
#include <stdio.h>
int Fan(int i){
int j;
for(j=2;j<i;j++){
if(i%j==0){
return 1;
}
}
return 0;
}
void main(){
int a,i;
printf("请输入一个偶数:");
scanf("%d",&a);
if(a%2==0){
for(i=1;i<=a/2;i++){
if(Fan(i)!=1&&Fan(a-i)!=1){
printf("%d %d\n",i,a-i);
}
}
}else{
printf("这不是一个偶数!");
}
}
运行展示
4.题目
判断一个素数能被几个9整除。
程序分析
先判断他是不是素数,然后直接除9得出结果
代码展示
#include <stdio.h>
int Fan(int i){
int j;
for(j=2;j<i;j++){
if(i%j==0){
return 1;
}
}
return 0;
}
void main(){
int a;
printf("请输入一个素数:");
scanf("%d",&a);
if(Fan(a)==0){
printf("%d可以被%d个9整除",a,a/9);
}else{
printf("这不是一个素数!");
}
}
运行展示