A. 用c语言编写给定一个集合A,求A的所有非空子集。
#include <stdio.h>
#include <string.h>
#include <math.h>
void add(int *a,int n);
int main ()
{
	char A[25]; 
	gets(A);
	int i,t=0,k=0,h,number,l=strlen(A);
	int a[10]={1};
	number=(l-1)/2;
	h=pow(2,number)-1;
	for(t=1;t<=h;t++)
	{
		printf("{");
		for(i=0;i<number;i++)
		{
			if(a[i])
			{
				if(k++)
					printf(",");
				printf("%c",i+97);				
			}				
		}
		k=0;
		printf("}\n");
		add(a,number);
	}
}
void add(int *a,int n)
{
	int i;
	a[0]++;
	for(i=0;i<n;i++)
	{
		if(a[i]==2)
		{
			a[i]=0;
			a[i+1]++;
		}
	}
}
真的很用心!!!
B. c语言 给定一元二次方程的系数a,b,c,求方程的解。用开方函数
参考代码如下:
#include<stdio.h>
#include<math.h>
#define EPS 1e-6
int main(void)
{
float a,b,c,p,q,disc;
printf("ax*x+bx+c=0\n");
printf("请输入a b c:");
scanf("%f%f%f",&a,&b,&c);
p=-b/(2*a);
disc=b*b-4*a*c;
q=sqrt(fabs(disc))/(2*a);
if(fabs(a)<=EPS)//解决浮点数相等比较问题
    printf("参数错误\n");
else if(fabs(disc)<=EPS)
    printf("x1=x2=%.2f\n",p);
else if(disc>0){
    printf("x1=%.2f\n",p+q);
    printf("x2=%.2f\n",p-q);
} else {
    printf("x1=%.2f+%.2fi\n",p,q);
    printf("x2=%.2f-%.2fi\n",p,q);
}
return 0;
}
C. C语言 这是一个很简单的题目,给定2个整数A和B,请输出A+B的和。
#include
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d ",a+b);
return 0;
}

(3)c语言给定扩展阅读:
利用C语言编写一个求两数相加的和的编程思想和方法如下:
1、首先需要定义三个变量a,b,c,两个为相加的数,第三个为相加后得到的和。
2、然后使用scanf()语句接收从键盘输入的两个数,为变量a,b赋值。
3、接着进行a和b的加法运算,将结果赋值给变量c。
4、最后使用printf()语句将计算结果显示在屏幕上。
5、代码编写完毕后,点击运行后即可在调试窗口看到程序的运行结果。
C语言中任意输入两数求和
main()
{doublea,b,sum=0;
printf("请输入两个实数:");
scanf("%f%f",&a,&b);
sum=a+b;
printf("%f
",sum);
}
D. C语言中给定一个字符串,判断它是否包括字母和数字
1 定义两个flag,用来标记是否含有字母和数字,初始值为0;
2 输入字符串;
3 遍历字符串,如果发现字母,标记字母flag,如果发现数字,标记数字flag;
4 遍历结束,或者两个flag均被标记,退出循环;
5 输出结果。
代码如下:
intmain()
{
chars[100];
intc,n,i;
c=n=0;
gets(s);
for(i=0;s[i];i++)
{
if(s[i]>='0'&&s[i]<='9'&&n==0)
{
n==1;
if(c)break;
}
if((s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')&&c==0)
{
c==1;
if(n)break;
}
}
if(n)printf("含有数字 ");
elseprintf("没有数字 ");
if(c)printf("含有字母 ");
elseprintf("没有字母 ");
}
