以前写的C语言的小程序(二)(供学习C语言初期的练习和参考)分别求出个十百位数字 计算一元二次方程的根 简易的计算器 将一个数组中的值按逆序重新存放 绝对值函数 利用函数调用分别求2的幂和阶乘

供初学者练习和参考使用,代码直接可以运行,这里我就不贴出结果截图了,可以自己运行看看。

1.分别求出个十百位数字

#include<stdio.h>
int main()
{
	int a=456,x,y,z;
	x=a/100;
	y=a/10-10*x;  //比较难理解  a/10就为非个位数
 //非个位数为45,45减去最高位的10倍就是该位 
	z=a%10;
	printf("x=%d,y=%d,z=%d\n",x,y,z);
	return 0;
}

2.计算一元二次方程的根

#include <stdio.h>
#include <math.h>
int main()
{
	double delat,a,b,c,x1,x2;
	printf("请输入方程的系数:");
	scanf("%lf %lf %lf",&a,&b,&c);
	delat=b*b-4*a*c;
	if (delat<=0)
	{
	printf("无法计算\n");
	}
	else
	{
		x1=(-b+sqrt(delat))/(2*a);
		x2=(-b-sqrt(delat))/(2*a);
		printf("x1=%5.2lf,x2=%5.2lf\n",x1,x2);
}
	return 0;
}

3.简易的计算器

#include<stdio.h>
int main()
{
	int A,B;
	char C;
	scanf("%d%c%d",&A,&C,&B);
	switch (C)
	{
		case '+':printf("%d+%d=%d\n",A,B,A+B);break;
		case '-':printf("%d-%d=%d\n",A,B,A-B);break;
		case '*':printf("%d*%d=%d\n",A,B,A*B);break;
		case '/':printf("%d/%d=%d\n",A,B,A/B);break;
		case '%':printf("%d%%%d=%d\n",A,B,A%B);break;//注意有两个取余号 
	}
	return 0;
}

4.将China作为另一种密码形式输出

#include<stdio.h>
int main()
{
	char c1,c2,c3,c4,c5;
	c1='C';
	c2='h';
	c3='i';
	c4='n';
	c5='a';
	c1='C'+4;
	c2='h'+4;
	c3='i'+4;
	c4='n'+4;
	c5='a'+4;
	printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);
	return 0;
}

5.将一个数组中的值按逆序重新存放

#include <stdio.h>
int main()
{
	int a[5]={10,60,5,42,19};
	int i,t;
	for (i=0;i<3;i++)
	{
		t=a[i];
		a[i]=a[4-i];
		a[4-i]=t;	
	
	 
	 } 
	 for (i=0;i<5;i++)
	 printf("%d ",a[i]);
	return 0;
}

6.将字符数组s2中的全部字符复制到字符数组s1中

#include <stdio.h>
int main()
{
	char a1[40];
	char a2[10];
	printf("请输入第一行字符串:\n");
	gets(a1);
	printf("请输入第二行字符串:\n");
	gets(a2);
	int i,j,t;
	for(i=0;a1[i]!='\0';i++)
	t=i;
	for(j=0;a2[j]!='\0';j++)
	a1[t+j+1]=a2[j];
	a1[t+j+2]='\0';
	puts(a1);
	return 0;
}

7.绝对值函数

#include<stdio.h>
#include<math.h>
int main()
{
	int a,b,c1,c2;
	a=1;
	b=2;
	c1=((a+b)+abs(a-b))/2; //abs()求绝对值 
	a=a+b;
	b=a-b;
	a=a-b;
	c2=((a+b)+abs(a-b))/2;
	printf("a=%d,b=%d\n",a,b);
	printf("c1=%d,c2=%d\n",c1,c2);
	return 0;
	
 } 

8.利用函数调用分别求2的幂和阶乘

#include <stdio.h>
int fac(int n)
{
	int c;
	if(n==0||n==1)
	c=1;
	else
	c=fac(n-1)*n;
	return c;
}
int powf(int n)
{
	int c;
	if(n==0)
	c=1;
	else
	c=powf(n-1)*2;
	return c;
}
int main()
{
	int i,n,sum=0;
	printf("请输入2的幂:");
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	sum=sum+fac(powf(i));
	printf("sum=%d",sum);
	return 0;
 } 

发布了21 篇原创文章 · 获赞 11 · 访问量 1868

猜你喜欢

转载自blog.csdn.net/qq_42455308/article/details/104817409
今日推荐