c语⾔经典程序合集1.c语⾔计算⾃然数之和
// 计算⾃然数和
#include<stdio.h>
int main()
{
int n, i, sum =0;
printf("输⼊⼀个正整数: ");
scanf("%d",&n);
for(i=1; i <= n;++i)
{
sum += i;// sum = sum+i;
}
printf("Sum = %d",sum);
return0;
}
2.⽤函数调⽤的⽅法实现两个数的相加
//
// Created by 有理想 on 2021/4/3.
//
#include<stdio.h>
int sum(int x,int y)
{
return x+y;
}
int main()
{
int a,b,c;
printf("请输⼊要相加的两个数:");
scanf("%d %d",&a,&b);
c =sum(a,b);
printf("a + b = %d",c);
}
3.c语⾔实现⼀元⼆次⽅程的求根
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,disc,x1,x2,realpart,imagpart;
printf("请输⼊⽅程系数并且以空格作为分隔符: "); scanf("%lf %lf %lf",&a,&b,&c);
if(fabs(a)<=1e-6)
printf("不是⼀元⼆次⽅程。\n");
else
{
disc=b*b-4*a*c;//定义判别式
if(fabs(disc)<=1e-6)//如果判别式⼩于0
printf("有两个相同的实根:%8.4f\n",-b/(2*a));
else
if(disc>1e-6)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("有两个不同的实根:%8.4f and %8.4f\n",x1,x2); }
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf(" 有两个复根1:\n");
printf("%8.4f+%8.4fi\n",realpart,imagpart);
printf("%8.4f-%8.4fi\n",realpart,imagpart);
}
}
return0;
}
4.输出指定数量的斐波那契数列
//
//  main.c
/
/  输出指定数量的斐波那契数列
//
//  Created by 有理想 on 2021/4/2.
//
#include<stdio.h>
int main()
{
int i, n, t1 =0, t2 =1, nextTerm;
printf("输出⼏项: ");
scanf("%d",&n);
printf("斐波那契数列: ");
for(i =1; i <= n;++i)
{
printf("%d, ", t1);
nextTerm = t1 + t2;
t1 = t2;
t2 = nextTerm;
}
return0;
}
5.输出指定数字前的斐波那契数列
//  输出指定数字前的斐波那契数列
/
/
//  Created by 有理想 on 2021/4/2.
//
#include<stdio.h>
int main()
{
int t1 =0, t2 =1, nextTerm =0, n;
printf("输⼊⼀个正数: ");
scanf("%d",&n);
// 显⽰前两项
printf("斐波那契数列: %d, %d, ", t1, t2);
nextTerm = t1 + t2;
while(nextTerm <= n)
{
printf("%d, ",nextTerm);
t1 = t2;
t2 = nextTerm;
nextTerm = t1 + t2;
}
return0;
}
6.使⽤for循环求解两个数的最⼤公约数
/
/  使⽤for循环求两个2数的最⼤公约数
//
//  Created by 有理想 on 2021/4/2.
//
#include<stdio.h>
int main()
{
int n1, n2, i, gcd;
printf("输⼊两个正整数,以空格分隔: ");
scanf("%d %d",&n1,&n2);
for(i=1; i <= n1 && i <= n2;++i)
{
// 判断 i 是否为最⼤公约数
if(n1%i==0&& n2%i==0)
gcd = i;
}
printf("%d 和 %d 的最⼤公约数是 %d", n1, n2, gcd);
return0;
}
7.使⽤while语句求解两个数最⼤公约数
//  使⽤while语句求两个数的最⼤公约数
//
/
/  Created by 有理想 on 2021/4/2.
//
#include<stdio.h>
int main()
{
int n1, n2;
printf("输⼊两个数,以空格分隔: ");
scanf("%d %d",&n1,&n2);
while(n1!=n2)
{
if(n1 > n2)
n1 -= n2;
else
n2 -= n1;
}
printf("GCD = %d",n1);
return0;
}
8.使⽤递归法求解阶乘
//  使⽤递归法求解阶乘
//
//  Created by 有理想 on 2021/4/2.
/
/
#include<stdio.h>
int main()
{
int f(int n);
int  m;
printf("请输⼊⼀个整数:");
scanf("%d",&m);
printf("%d\n",f(m));
return0;
}
int f(int n)
{
int x;
if(n==1||n==0)
x=1;
else
x=n*f(n-1);// 反复调⽤ int f( int n )函数然后返回出去。
return x;
}
9.猜数字游戏
//  猜数游戏
/
/
//  Created by 有理想 on 2021/4/2.
//
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
c语言用递归函数求n的阶乘void caizi(void)
{
int n;
char begin;
int count =1;
srand((int)time(NULL));
int m =(rand()%100)+1;
puts("游戏开始,请输⼊数字:");
while(1)
{
scanf("%d",&n);
if(n == m)
{
printf("猜中了,使⽤了 %d 次!\n", count);
if(count ==1)
{
printf("你是神级⼈物了!膜拜\n");
getchar();
printf("你已经达到最⾼级别,还需要玩吗?Y/N \n");
scanf("%c",&begin);
if(begin =='Y'|| begin =='y')//重复玩的⼀个嵌套循环
{
caizi();
}
else
{
printf("谢谢,再见!\n");
}
}
else if(count <=5)
{
printf("你是王级⼈物了!⾮常赞\n");
getchar();
printf("需要挑战最⾼级别不?Y/N \n");
scanf("%c",&begin);
if(begin =='Y'|| begin =='y')
{
caizi();
}
else
{
printf("谢谢,再见!\n");
}
}
else if(count <=10)
{
printf("你是⼤师级⼈物了!狂赞\n");
getchar();
printf("需要挑战最⾼级别不?Y/N \n");
scanf("%c",&begin);
if(begin =='Y'|| begin =='y')
{
caizi();
}
else
{
printf("谢谢,再见!\n");
}
}
else if(count <=15)
{
printf("你是钻⽯级⼈物了!怒赞\n");
getchar();

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。