目录
题目1:
/*------------------------------------------------------------------------------
【程序设计】任意一个大于0的正整数,都可以写成若干个2的正整数次幂的和的形式。
例如:7=2^2+2^1+2^0
------------------------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
------------------------------------------------------------------------------*/
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
#define N 4
void binary_power(unsigned int x)
{
int flag =1;
unsigned int s,t,y;
printf("%u=",x);
/**********Program**********/
/********** End **********/
printf("\n");
}
int main()
{
unsigned int n[N]={1,15,32,144};
int i;
for(i=0;i<N;++i)
binary_power(n[i]);
return 0;
}
答案代码:
for(s=0;pow(2,s)<=x;s++);
for(s-=1;s>0;s--)
if(x>=pow(2,s))
{
x-=pow(2,s);
if(x==0) break;
printf("2^%d+",s);
}
printf("2^%d",s);
题目1 整体代码:
/*------------------------------------------------------------------------------
【程序设计】任意一个大于0的正整数,都可以写成若干个2的正整数次幂的和的形式。
例如:7=2^2+2^1+2^0
------------------------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,否则不得分。
仅在Program-End之间填入若干语句。不要删除标志否则不得分。
------------------------------------------------------------------------------*/
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
#define N 4
void binary_power(unsigned int x)
{
int flag =1;
unsigned int s,t,y;
printf("%u=",x);
/**********Program**********/
for(s=0;pow(2,s)<=x;s++);
for(s-=1;s>0;s--)
if(x>=pow(2,s))
{
x-=pow(2,s);
if(x==0) break;
printf("2^%d+",s);
}
printf("2^%d",s);
/********** End **********/
printf("\n");
}
int main()
{
unsigned int n[N]={1,15,32,144};
int i;
for(i=0;i<N;++i)
binary_power(n[i]);
return 0;
}
题目2:
/*-------------------------------------------------------
功能:从键盘输入2个整数相加,再输入答案,如果正确,显示"right",否则显示"error"。
--------------------------------------------------------*/
#include "stdio.h"
main( )
{
int a,b,c;
printf("please input a and b:\n");
scanf("%d,%d",&a , &b);
printf("please input the answer:\n");
scanf("%d",&c);
/**********Program**********/
/********** End **********/
printf("right\n");
else
printf("error\n");
}
答案代码:
if(a+b==c)
题目2 整体代码:
/*-------------------------------------------------------
功能:从键盘输入2个整数相加,再输入答案,如果正确,显示"right",否则显示"error"。
--------------------------------------------------------*/
#include "stdio.h"
main( )
{
int a,b,c;
printf("please input a and b:\n");
scanf("%d,%d",&a , &b);
printf("please input the answer:\n");
scanf("%d",&c);
/**********Program**********/
if(a+b==c)
/********** End **********/
printf("right\n");
else
printf("error\n");
}