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("没有字母 ");
}