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