用C语言编写程序:

用C语言编写程序:,第1张

#include<stdioh>

struct student

{

int num;//学号

char name[10];//姓名

int score[3];//3门成绩

float average;//平均分

};

void enter(struct student s[],int n);//输入学生信息

void sort(struct student s[],int n);//平均分排序

void print(struct student s[],int n);//显示排名

int main()

{

int n;//班级学生人数

struct student stu[70];//n<70

printf("输入班级学生人数n :");

scanf("%d",&n);

enter(stu,n);

sort(stu,n);

print(stu,n);

return 0;

}

void enter(struct student s[],int n)

{

int i,j,sum=0;

printf("请输入 %d 个学生信息:",n);

for(i=0;i<n;i++)

{

printf("请输入第 %d 个学生的 学号 姓名 :",i+1);

scanf("%d %s",&s[i]num,&s[i]name);

printf("请输入第 %d 个学生的3门成绩 :",i+1);

sum=0;

for(j=0;j<3;j++)

{

scanf("%d",&s[i]score[j]);

sum=sum+s[i]score[j];

}

s[i]average=sum/30;

}

}

void sort(struct student s[],int n)

{

int i,j,p;

struct student temp;

for(i=0;i<n-1;i++)

{

p=i;

for(j=i+1;j<n;j++)

if(s[j]average>s[p]average)

p=j;

if(p!=i)

{

temp=s[i];

s[i]=s[p];

s[p]=temp;

}

}

}

void print(struct student s[],int n)

{

int i,j,m=1;//m代表名次

printf("\n 名次表:\n");

printf("学号\t姓名\t科目1\t科目2\t科目3\t平均分\t名次\n");

for(i=0;i<n;i++)

{

printf("%d\t%s\t",s[i]num,s[i]name);

for(j=0;j<3;j++)

printf("%d\t",s[i]score[j]);

printf("%42f\t %d\n",s[i]average,m++);

}

}

#include <stdioh>

void main()

{

int a,b, pt, pa= &a, pb= &b;

//----------指针相互交换地址-------------

scanf("%d %d",&a,&b);

pt= pa;

pa= pb;

pb= pt;

printf("\n%d,%d\n",pa, pb);

//----------指针相互交换内容-------------

int t;

pt= &t;

pa= &a;

pb= &b;

scanf("%d %d",&a,&b);

pt= pa;

pa= pb;

pb= pt;

printf("\n%d,%d\n",pa, pb);

}

#include "stdioh" 

#include "mathh" 

/求一元二次方程axx+bx+c=0的解/ 

main() 

float a,b,c,x1,x2,d; 

printf("请输入a:"); 

scanf("%f",&a); 

printf("请输入b:"); 

scanf("%f",&b); 

printf("请输入c:"); 

scanf("%f",&c); 

d=bb-4ac; 

if(d < 0) 

printf("方程没有实数解。\n"); 

if (d==0) 

x1=(-b)/(2a); 

printf("x1=%f\n",x1); 

if (d>0) 

x1=(-b+sqrt(d))/(2a); 

x2=(-b-sqrt(d))/(2a); 

printf("x1=%f,x2=%f\n",x1,x2);} 

}

请输入a:12

请输入b:34

请输入c:4

x1=-0122985,x2=-2710348

Press any key to continue

(1)上机输入和编辑程序。通过键盘向计算机输入程序,如发现有错误,要及时改正。最后将此源程序以文件形式存放在自己指定的文件夹内(如果不特别指定,一般存放在用户当前目录下),文件用c作为后缀,生成源程序文件,如fc。

(2)对源程序进行编译,先用C编译系统提供的“预处理器”(又称“预处理程序”或“预编译器”)对程序中的预处理指令进行编译预处理。例如,对于#include<stdioh>指令来说,就是将stdioh头文件的内容读进来,取代#include<stdioh>行。由预处理得到的信息与程序其他部分一起组成一个完整的、可以用来进行正式编译的源程序,然后由编译系统对该源程序进行编译。

编译的作用首先是对源程序进行检查,判定它有无语法方面的错误,如有,则发出“出错信息”,告诉编程人员认真检查改正。修改程序后重新进行编译,如果还有错,再发出“出错信息”。如此反复进行,直到没有语法错误为止。这时,编译程序自动把源程序转换为二进制形式的目标程序(在Visual C++中后缀为obj,如fobj)。如果不特别指定,此目标程序一般也存放在用户当前目录下,此时源文件没有消失。

在用编译系统对源程序进行编译时,自动包括了预编译和正式编译两个阶段,一气呵成。用户不必分别发出二次指令。

(3)进行连接处理。经过编译所得到的二进制目标文件(后缀为obj)还不能供计算机直接执行。前面已说明:一个程序可能包含若干个源程序文件,而编译是以源程序文件为对象的,一次编译只能得到与一个源程序文件相对应的目标文件(也称目标模块),它只是整个程序的一部分。必须把所有的编译后得到的目标模块连接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序(executive program),在Visual C++中其后缀为exe,如fexe。

即使一个程序只包含一个源程序文件,编译后得到的目标程序也不能直接运行,也要经过连接阶段,因为要与函数库进行连接,才能生成可执行程序。

以上连接的工作是由一个称为“连接编辑程序”(linkage editor)的软件来实现的。

(4)运行可执行程序,得到运行结果。

以上过程如图12所示。其中实线表示 *** 作流程,虚线表示文件的输入输出。例如,编辑后得到一个源程序文件fc,然后在进行编译时再将源程序文件fc输入,经过编译源程序,找出问题,修改源程序,并重新编译,直到无错为止。有时编译过程未发现错误,能生成可执行程序,但是运行的结果不正确。一般情况下,这不是语法方面的错误,而可能是程序逻辑方面的错误,例如计算公式不正确、赋值不正确等,应当返回检查源程序,并改正错误。

为了编译、连接和运行C程序,必须要有相应的编译系统。目前使用的很多C编译系统都是集成开发环境(IDE)的,把程序的编辑、编译、连接和运行等 *** 作全部集中在一个界面上进行,功能丰富,使用方便,直观易用。

vc里面建立一个控制台程序,代码如下:

#include<stdioh>

#include<stringh>

int

main()

{

int

len;

printf("请输入正方形的边长:");

while(scanf("%n",&len)){

printf("正方形的边长为:%d\n",len);

printf("正方形的表面积为:%d\n",lenlen);

printf("正方形的体积为:%d\n",lenlenlen);

printf("\n请输入正方形的边长:");

}

}

这段代码是计算正方形表面积和体积的,直接用记事本编写的,没有编译过,不知道有没错误,有错误你自己稍微修改下,大致是这样,我手头上没有vc,就不编译了

#include <stdioh>

int main()

{

int a=1,b=2,c=3,t;

t=a;

a=b;

b=t;

t=b;

b=c;

c=t;

printf("a=%d,b=%d,c=%d\n",a,b,c);

return 0;

}

#include <stdioh>

int main()

{

int a=1234,t;

for(t=0;a;a/=10)

t=t10+a%10;

printf("%d\n",t);

return 0;

}

#include <stdioh>

int main()

{

putchar('M');

return 0;

}

以上就是关于用C语言编写程序:全部的内容,包括:用C语言编写程序:、用C语言编写程序、如何用C语言程序解方程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9774907.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存