/* 用格雷戈里公式计算π的近似值, 精度为e */
#include<stdio.h>
#include<math.h>
int main(void)
{
double e,pi;
double funpi(double e);
printf("Enter e:");
scanf("%lf",&e);
pi=funpi(e);
printf("pi=%f\n",pi);
return 0;
}
double funpi(double e)
{
int denominator,flag;
double item,sum;
flag=1;
denominator=1;
item=1.0;
sum=0;
/* 当|item| >e时, 执行循环 */
while(fabs(item)>=e){
item=flag*1.0/denominator;
sum=sum+item;
flag=-flag;
denominator=denominator+2;
}
return sum*4;
}
![]()
/* 输出数字金字塔 */
#include<stdio.h>
int main(void)
{
void pyramid(int n);
pyramid(5);
return 0;
}
void pyramid(int n)
{
int i,j;
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%d",i);
putchar('\n');
}
}
![]()
#include<stdio.h>
float result_real,result_imag;
int main(void)
{
float imag1,imag2,real1,real2;
/* 函数声明 */
void complex_prod(float reai1,float imag1,float real2,float imag2);
void complex_add(float real1,float imag1,float real2,float imag2);
printf("Enter 1st complex number(real and imaginary):");
scanf("%f",&real1,&imag1);
printf("Enter 2nd complex number(real and imaginary):");
scanf("%f%f",&real2,&imag2);
complex_add(real1,imag1,real2,imag2);
printf("addition of complex is %f+%fi\n",result_real,result_imag);
complex_prod(real1,imag1,real2,imag2);
printf("product of complex is %f+%fi\n",result_real,result_imag);
return 0;
}
/* 定义求复数之和函数 */
void complex_add(float real1,float imag1,float real2,float imag2)
{
result_real=real1+real2;
result_imag=imag1+imag2;
}
/* 定义求复数之积函数 */
void complex_prod(float real1,float imag1,float real2,float imag2)
{
result_real=real1*real2-imag1*imag2;
result_imag=real1*imag2+real2*imag1;
}
![]()
#include<stdio.h>
int x;
int f();
int main(void)
{
int a=1;
x=a;
a=f();
{
int b=2;
b=a+b;
x=x+b;
}
printf("%d%d",a,x);
return 0;
}
int f()
{
int x=4;
return 0;
}
![]()
#include<stdio.h>
double fact_s(int n);
int main(void)
{
int i,n;
printf("Input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
printf("%3d!=%.of\n",fact_s(i));
return 0;
}
double fact_s(int n)
{
static double f=1;
f=f*n;
return(f);
}
![]()
#include<stdio.h>
int main(void)
{
int i;
char ch_lower,ch_upper;
for(i=1;i<=6;i++)
{
scanf("%c",&ch_lower);
if(ch_lower>='a'&&ch_lower<='z')
ch_upper=ch_lower-'a'+'A';
printf("%c->%c->%d\n",ch_lower,ch_upper,ch_upper%10);
}
return 0;
}
![]()
/* 关系运算示例 */
#include<stdio.h>
int main(void)
{
char ch='w';
int a=2,b=3,c=1,d,x=10;
printf("%d",a>b==c);
printf("%d",d=a>b);
printf("%d",ch>'a'+1);
printf("%d",d=a+b>c);
printf("%d",b-1==a!=c);
printf("%d\n",3<=x<=5);
return 0;
}
![]()
/* 逻辑运算示例 */
#include<stdio.h>
int main(void)
{
char ch='w';
int a=2,b=0,c=0;
float x=3.0;
printf("%d",a&&b);
printf("%d",a||b&&c);
printf("%d",!a&&b);
printf("%d",a||3+10&&2);
printf("%d",!(x==2));
printf("%d",!x==2);
printf("%d\n",ch||b);
return 0;
}
![]()
/* 大小写英文字母转换 */
#include<stdio.h>
int main(void)
{
char ch;
printf("input characters:");
ch=getchar();
while(ch!='\n'){
if(ch>='A'&&ch<='Z')
ch=ch-'A'+'a';
else if(ch>='a'&&ch<='z')
ch=ch-'a'+'A';
putchar(ch);
ch=getchar();
}
return 0;
}
![]()