您的位置:

c语言环形变量,c语言变量语句

本文目录一览:

在C语言中怎么环形交换三个数的值?

通过赋值,将右边的值赋给左边。

例如创建三个整型变量:int a,b,c;

a=10,b=20,c=30;

先定义一个中间变量:int mid;

mid=a;

a=b;

b=c;

c=mid;

这样就把b的值赋给a,c的值赋给b,a的值赋给c

C语言 环形排序

#include stdio.h

#include time.h

#include stdlib.h

void Graph(char rect[9]);

int main()

{

int i,j,k;

char Cyc[9]={0};//Cyc[0]到Cyc[7]用于保存8个数,Cyc[8]为空白区

int CurNode=9,Temp;

srand((unsigned int)time(NULL));

for(i=0;i8;i++)//随机产生序列

{

Cyc[i]=(rand()%8)+1;

if(CurNode==9 Cyc[i]==1) CurNode=i;//记录数字1的位置

for(j=0;ji;j++)

{

if(Cyc[i]==Cyc[j])

{

i--;

break;

}

}

}

printf("原始状态:\n");

Graph(Cyc);

printf("开始移动:\n");

for(i=2;i=8;i++)//下一个要找的数

{

for(j=0;j8;j++)//扫描找数

{

if(Cyc[j]==i)

{

Temp=(CurNode+1)%8;

if(i!=Cyc[Temp])//如果位置正确就不用再移

{

Cyc[8]=i;//移入中心区

Cyc[j]=0;

Graph(Cyc);

if(Temp!=j)

{

if(Tempj) j+=8;

for(k=j;kTemp;k--)

{

Cyc[k%8]=Cyc[(k-1)%8];//顺时针轮转

}

Cyc[Temp]=0;

Graph(Cyc);

}

Cyc[Temp]=Cyc[8];//从中心区移出

Cyc[8]=0;

Graph(Cyc);

}

CurNode=Temp;//记录当前位置

break;

}

}

}

printf("移动完成!\n");

return 1;

}

void Graph(char rect[9])

{

int i;

char buf[9];

for(i=0;i9;i++)

{

if(rect[i]) buf[i]=rect[i]+48;

else buf[i]=' ';

}

printf("%c-%c-%c\n",buf[0],buf[1],buf[2]);

printf("|\\|/|\n");

printf("%c-%c-%c\n",buf[7],buf[8],buf[3]);

printf("|/|\\|\n");

printf("%c-%c-%c\n\n",buf[6],buf[5],buf[4]);

}

C语言,可以的话讲一下每一步呗。求大佬帮忙

思路:

圆环体积就是大圆柱-小圆柱。

总表面积就是两个侧面积+两个大圆面积-两个小圆面积。

算法不止一种,这里不是重点。重点是如何转换成编程思想。

1、根据题意,要使用结构体封装参数,因此需定义一个包含全部圆环参数的结构类型。

2、圆环参数需要输入,因此要定义一个输入函数,负责输入参数,验证参数,并存储到对应的结构变量。

3、解析功能需求,实现体积和面积分别需要计算圆的面积、周长和柱侧面积。所以程序应包含所有实现功能的函数,分别为:计算圆面积,计算圆周长,计算圆柱侧面积,计算圆柱体积。

(这里部分函数很简单,你可能想为什么不直接写在main函数中,因为这些代码在项目中可能会被多次重复调用,写成独立函数调用更简洁,且方便阅读、修改,这是一种编程思想)。

以下是我写代码,已详细备注:

#include stdio.h

#define PI 3.1415926

typedef struct ringClass//定义一个圆环结构类型

{

  double r;//外圆半径

  double rh;//内圆半径

  double h;//高

}RC;

void SetRC(RC *prc);//给圆环结构输入赋值,参数传递结构变量地址!

double getRP(double pr);//获取圆周长的函数,参数是圆的半径

double getrRA(double pr);//获取圆面积的函数,参数是圆的半径

double getRCArea(RC rc);//获取圆环体表面积的函数

double getRCVolume(RC rc);//获取圆环体体积的函数

int main( )

{

  RC rc={0,0,0};//定义一个圆环结构变量并初始化

  SetRC(rc);

  printf("圆环表面结为:%lf\n",getRCArea(rc));

  printf("圆环的体积为:%lf\n",getRCVolume(rc));

  return 0;

}

void SetRC(RC *prc)//给圆环结构输入赋值

{

  printf("请输入分别圆环的参数:\n");

  printf("外圆半径:"),scanf("%lf",(prc-r));

  printf("内圆半径:"),scanf("%lf",(prc-rh));

  printf("圆环的高:"),scanf("%lf",(prc-h));

  if(prc-r=prc-rh)

  {

      printf("无效输入!外圆半径必须大于内圆半径\n\n");

      SetRC(prc);

  }

  else printf("输入成功,参数为:r=%lf,rh=%lf,h=%lf\n",prc-r,prc-rh,prc-h);

}

double getRCVolume(RC rc)//获取环体积

{

  double d1,d2,v1,v2;

  d1=getrRA(rc.r);//获取外圆柱顶圆面积

  d2=getrRA(rc.rh);//获取内圆柱顶圆面积

  v1=d1*rc.h;//获取大圆柱体体积

  v2=d2*rc.h;//获取小圆柱体体积

  return v1-v2;//圆环体积就是大圆柱-小圆柱

}

double getRCArea(RC rc)//获取环表面积

{

  double pr1,pr2,c1,c2,d1,d2;

  pr1=getRP(rc.r);//获取外圆柱体顶圆周长

  pr2=getRP(rc.rh);//获取内圆柱体顶圆周长

  c1=pr1*rc.h;//获取外圆柱体的侧面积,顶圆周长乘以高

  c2=pr2*rc.h;//获取内圆柱体的侧面积

  d1=getrRA(rc.r);//获取外圆柱顶圆面积

  d2=getrRA(rc.rh);//获取内圆柱顶圆面积

  return c1+c2+d1+d1-d2-d2;//总表面积就是两个侧面积+两个大圆面积-两个小圆面积

}

double getRP(double pr)//获取圆周长

{

  return 2*PI*pr;

}

double getrRA(double pr)//获取圆面积

{

  return PI*pr*pr;

}

C语言课程 定义pi字符常量,输入大圆,小圆半径,求出圆环的面积

思路:圆环的面积就是大圆的面积减去小圆的面积,先定义两个变量r1,r2,接着输出两个圆的差就是圆环的面积。

参考代码:

#include stdio.h

#define PI 3.14

int main()

{

float r1,r2;

scanf("%f %f",r1,r2);

printf("%.2f\n",r1*r1*PI-r2*r2*PI);

return 0;

}

/*

输出:

5 3

50.24

*/