C语言题目

目录

 

题目1:

题目2:


题目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");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值