当前位置:首页 » 编程语言 » c语言简单代码大全
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言简单代码大全

发布时间: 2022-12-16 17:55:47

c语言必背代码有哪些

1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/

#include "stdio.h"

main()

{int i,j,result;

for (i=1;i<10;i++)

{ for(j=1;j<10;j++)

{

result=i*j;

printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/

}

printf(" ");/*每一行后换行*/

}

}

5、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,

请在空白处完善程序。*/

main()

{ int a[4][4],b[4][4],i,j; /*a存放原始数组数据,b存放旋转后数组数据*/

printf("input 16 numbers: ");

/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/

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

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

{ scanf("%d",&a[i][j]);

b[3-j][i]=a[i][j];

}

printf("array b: ");

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

{ for(j=0;j<4;j++)

printf("%6d",b[i][j]);

printf(" ");

}

}

6、/*编程打印直角杨辉三角形*/

main()

{int i,j,a[6][6];

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

{a[i][i]=1;a[i][0]=1;}

for(i=2;i<=5;i++)

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

a[i][j]=a[i-1][j]+a[i-1][j-1];

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

{for(j=0;j<=i;j++)

printf("%4d",a[i][j]);

printf(" ");}

}

7、/*通过键盘输入3名学生4门课程的成绩,

分别求每个学生的平均成绩和每门课程的平均成绩。

要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车

其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/

#include <stdio.h>

#include <stdlib.h>

main()

{ float a[4][5],sum1,sum2;

int i,j;

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

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

scanf("%f",&a[i][j]);

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

{ sum1=0;

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

sum1+=a[i][j];

a[i][4]=sum1/4;

}

Ⅱ c语言浪漫代码

#include <stdio.h>
int main()
{
int i, j, k, l, m;
char c = '*'; //ASCII码里面 3 就是一个字符小爱心
for (i = 1; i <= 5; i++)
printf("\n"); //开头空出5行
for (i = 1; i <= 4; i++)
{ //前3行中间有空隙分开来写
for (j = 1; j <= 32 - 2 * i; j++)
printf(" "); //左边的空格,每下一行左边的空格比上一行少2个 //8*n-2*i
for (k = 1; k <= 4 * i - 2; k++)
printf("%c", c); //输出左半部分字符小爱心
for (l = 1; l <= 17 - 4 * i; l++)
printf(" "); //中间的空格,每下一行的空格比上一行少4个
for (m = 1; m <= 4 * i - 2; m++)
printf("%c", c); //输出右半部分字符小爱心
printf("\n"); //每一行输出完毕换行
}
for (i = 1; i <= 3; i++)
{ //下3行中间没有空格
for (j = 1; j <= 22 + 1; j++)
printf(" "); //左边的空格 //8*(n-1)+1
for (k = 1; k <= 31; k++)
printf("%c", c); //输出字符小爱心
printf("\n"); //每一行输出完毕换行
}
for (i = 7; i >= 1; i--)
{ //下7行
for (j = 1; j <= 38 - 2 * i; j++)
printf(" "); //左边的空格,每下一行左边的空格比上一行少2个//8*(n+1)-2*i
for (k = 1; k <= 4 * i + 1; k++)
printf("%c", c); //每下一行的字符小爱心比上一行少4个(这个循环是i--)
printf("\n"); //每一行输出完毕换行
}
for (i = 1; i <= 38; i++)
printf(" "); //最后一行左边的空格
printf("%c", c); //最后一个字符小爱心
for (i = 1; i <= 5; i++)
printf("\n"); //最后空出5行
return 0;
}

Ⅲ c语言编程代码

两种方法我写在一起,可以独立拆开。

#include <stdio.h>

void finda1(char a[3][10]);

void finda2(char a[3][10]);

void show(char (*p)[10]);

int main()

{

char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原数组内容: ");

show(a);

printf(" 1、用数组指针的方法(函数finda1): ");

finda1(a);

printf("执行后: ");

show(a);


printf(" --------------------- ");


char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};

printf("原数组内容: ");

show(a);

printf(" 2、用指针数组的方法(函数finda2): ");

finda2(b);

printf("执行后: ");

show(b);

return 0;

}

void finda1(char a[3][10])

{

int i,j;

char (*p)[10]=a;

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

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

if(p[i][j]=='a')

printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';

}

void finda2(char a[3][10])

{

int i,j;

char *p[3]={&a[0][0],&a[1][0],&a[2][0]};

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

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

if(p[i][j]=='a')

printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';


}

void show(char (*p)[10])

{

int i,j;

for(i=0;i<3;i++,printf(" "))

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

printf("%c ",p[i][j]);

}

Ⅳ c语言代码有哪些

如下:

1、乘法表。用C语言输出9*9乘法口诀。共9行9列,i控制行,j控制列。

2、编写函数countpi,利用公式计算π的近似值,当某一项的值小于10-5时,认为达到精度要求,请完善函数。将结果显示在屏幕上并输出到文件p7_3.out中。

3、反向输出。完善程序,实现将输入的字符串反序输出,如输入windows 输出swodniw。

4、替换输出:编写函数replace(char *s,char c1,char c2)实现将s所指向的字符串中所有字符c1用c2替换,字符串、字符c1和c2均在主函数中输入,将原始字符串和替换后的字符串显示在屏幕上,并输出到文件p10_2.out中。

5、解决排序问题:写一个void sort(int *x,int n)实现将x数组中的n个数据从大到小排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件p9_1.out中。

C语言语言特点

简洁的语言:C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。

具有结构化的控制语句:C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。

Ⅳ C语言基本代码,求详细解释,越详细越好。

解释如下:

#include"stdio.h"//头文件

#include"math.h"//数学库函数

double pcos(double a);//声明子函数

main()//主函数

{

double x,y;//定义x,y这两个双精度数据

printf("please input one number:");

//输出please input one number:

scanf("%lf",&x);//出入一个数据并赋值给x

y=pcos(x);//把x传入pcos函数,返回值赋值给y

printf("cos of %lf is %lf ",x,y);//输出cos of x is y

}

double pcos(double a)//定义子函数名,形式参数

{

double b;//定义双精度数据b

b=cos(a);//计算cos(a),并赋值给b

return b;//返回b的值

}

(5)c语言简单代码大全扩展阅读:

注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。

注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂。为了让别人一看就知道这段代码是做什么用的。

正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。

Ⅵ c语言100行简单一点的代码

登录幼儿园200个小朋友的数据:姓名、性别、年龄、身高、体重、出生日期,分别按年龄排序后输出。
#include<stdio.h>
#define N 200
struct child
{
char name[10];
char sex[3];
int age;
int height;
float weight;
struct {
int year;
int month;
int day;
}bdate;
}ch[N];
void input()
{
int i;
for(i=0;i<N;i++)
{
printf("\n请输入第%d名小朋友信息:\n",i+1);
printf("姓名:");
scanf("%s",ch[i].name);
printf("性别:");
scanf("%s",ch[i].sex);
printf("年龄:");
scanf("%d",&ch[i].age);
printf("身高:");
scanf("%d",&ch[i].height);
printf("体重:");
scanf("%f",&ch[i].weight);
printf("出生日期[YYYY-MM-DD]:");
scanf("%d-%d-%d",&ch[i].bdate.year,&ch[i].bdate.month,&ch[i].bdate.day);
}
}
void sort()
{
struct child ct;
int i,j;
for(i=0;i<N-1;i++)
for(j=0;j<N-i-1;j++)
if(ch[j].height<ch[j+1].height)
{
ct=ch[j];
ch[j]=ch[j+1];
ch[j+1]=ct;
}
}
void output()
{
int i;
printf("\n\t幼儿园小朋友一览(依身高排序)\n");
printf("===================================================\n");
printf(" 姓名 性别 年龄 身高 体重 出生日期 \n");
printf("===================================================\n");
for(i=0;i<N;i++)
printf(" %-8s %-2s %2d %d %3.1f %d.%d.%d\n",ch[i].name,ch[i].sex,ch[i].age,ch[i].height,ch[i].weight,ch[i].bdate.year,ch[i].bdate.month,ch[i].bdate.day);
}
void main()
{
input();
sort();
output();
}

Ⅶ 求50行简单C语言程序代码,基础的就好

#include <stdio.h>
#include <stdlib.h>

#define NUM 10
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//冒泡排序算法
//基本思想:比较相邻的两个数,如果前者比后者大,则进行交换。每一轮排序结束,选出一个未排序中最大的数放到数组后面。
void bubbleSort(int *arr, int n) {
int i,j;
for (i = 0; i<n - 1; i++)
for (j = 0; j < n - i - 1; j++) {
//如果前面的数比后面大,进行交换
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//最差时间复杂度为O(n^2),平均时间复杂度为O(n^2)。稳定性:稳定。辅助空间O(1)。
//升级版冒泡排序法:通过从低到高选出最大的数放到后面,再从高到低选出最小的数放到前面,
//如此反复,直到左边界和右边界重合。当数组中有已排序好的数时,这种排序比传统冒泡排序性能稍好。
//升级版冒泡排序算法
void bubbleSort_1(int *arr, int n) {
//设置数组左右边界
int left = 0, right = n - 1;
//当左右边界未重合时,进行排序
while (left<=right) {
int i,j;
//从左到右遍历选出最大的数放到数组右边
for (i =left; i < right; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
right--;
//从右到左遍历选出最小的数放到数组左边
for (j = right; j> left; j--) {
if (arr[j + 1] < arr[j]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
left++;
}
}
int main(int argc, char *argv[]) {
int arr[NUM],i,j,temp;
printf("请输入10个数:\n");
for(i=0; i<NUM; i++) {
printf("请输入第(%d)个数:",i+1);
scanf("%d",&arr[i]);
}
printf("\n输入如下排列:\n");
for(i=0; i<NUM; i++) {
printf("%4d",arr[i]);
}/*
for(i=0; i<NUM; i++) {
for(j=i+1; j<NUM; j++) {
if(arr[i]>arr[j]) {
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}*/
bubbleSort_1(arr,NUM);
/*printf("\n从小到大如下排列:\n");
for(i=0; i<NUM; i++) {
printf("%4d",arr[i]);
}*/
printf("\n从大到小如下排列:\n");
for(i=NUM-1; i>=0; i--) {
printf("%4d",arr[i]);
}
return 0;
}

Ⅷ 跪求100行左右的c语言简单代码,大一水平就行,什么类型都可以。

//学生成绩管理系统C代码
/*头文件*/
#include<stdio.h>
#include<dos.h>
#include<stdlib.h>/*其它说明*/
#include<string.h>/*字符串函数*/
#include<mem.h>/*内存操作函数*/
#include<ctype.h>/*字符操作函数*/
#include<alloc.h>/*动态地址分配函数*/

#defineLENsizeof(STUDENT)

typedefstructstu/*定义结构体数组用于缓存数据*/
{
charnum[6];
charname[5];
intscore[3];
intsum;
floataverage;
intorder;
structstu*next;
}STUDENT;

/*函数原型*/
STUDENT*init();/*初始化函数*/
intmenu_select();/*菜单函数*/
STUDENT*create();/*创建链表*/
voidprint(STUDENT*head);/*显示全部记录*/
voidsearch(STUDENT*head);/*查找记录*/
STUDENT*delete(STUDENT*head);/*删除记录*/
STUDENT*sort(STUDENT*head);/*排序*/
STUDENT*insert(STUDENT*head,STUDENT*newnode);/*插入记录*/
voidsave(STUDENT*head);/*保存文件*/
STUDENT*load();/*读文件*/

/*主函数界面*/
main()
{
STUDENT*head,newnode;
head=init();/*链表初始化,使head的值为NULL*/
for(;;)/*循环无限次*/
{
switch(menu_select())
{
case1:head=create();break;
case2:print(head);break;
case3:search(head);break;
case4:head=delete(head);break;
case5:head=sort(head);break;
case6:head=insert(head,&newnode);break;/*&newnode表示返回地址*/
case7:save(head);break;
case8:head=load();break;
case9:exit(0);/*如菜单返回值为9则程序结束*/
}
}
}

/*初始化函数*/
STUDENT*init()
{
returnNULL;/*返回空指针*/
}

/*菜单选择函数*/
menu_select()
{
intn;
structdated;/*定义时间结构体*/
getdate(&d);/*读取系统日期并把它放到结构体d中*/
printf("pressanykeytoenterthemenu......");/*按任一键进入主菜单*/
getch();/*从键盘读取一个字符,但不显示于屏幕*/
clrscr();/*清屏*/
printf("******************************************************************************** ");
printf(" Welcometo ");
printf(" Thestudentscoremanagesystem ");
printf("*************************************MENU*************************************** ");
printf(" 1.Entertherecord ");/*输入学生成绩记录*/
printf(" 2.Printtherecord ");/*显示*/
printf(" 3.Searchrecordonname ");/*寻找*/
printf(" 4.Deletearecord ");/*删除*/
printf(" 5.Sorttomakenewafile ");/*排序*/
printf(" 6.Insertrecordtolist ");/*插入*/
printf(" 7.Savethefile ");/*保存*/
printf(" 8.Loadthefile ");/*读取*/
printf(" 9.Quit ");/*退出*/
printf(" MadebyHuHaihong. ");
printf("******************************************************************************** ");
printf(" %d\%d\%d ",d.da_year,d.da_mon,d.da_day);/*显示当前系统日期*/
do{
printf(" Enteryourchoice(1~9):");
scanf("%d",&n);
}while(n<1||n>9);/*如果选择项不在1~9之间则重输*/
return(n);/*返回选择项,主函数根据该数调用相应的函数*/
}

/*输入函数*/
STUDENT*create()
{
inti,s;
STUDENT*head=NULL,*p;/*定义函数.此函数带回一个指向链表头的指针*/
clrscr();
for(;;)
{p=(STUDENT*)malloc(LEN);/*开辟一个新的单元*/
if(!p)/*如果指针p为空*/
{printf(" Outofmemory.");/*输出内存溢出*/
return(head);/*返回头指针,下同*/
}
printf("Enterthenum(0:listend):");
scanf("%s",p->num);
if(p->num[0]=='0')break;/*如果学号首字符为0则结束输入*/
printf("Enterthename:");
scanf("%s",p->name);
printf("Pleaseenterthe%dscores ",3);/*提示开始输入成绩*/
s=0;/*计算每个学生的总分,初值为0*/
for(i=0;i<3;i++)/*3门课程循环3次*/
{
do{
printf("score%d:",i+1);
scanf("%d",&p->score[i]);
if(p->score[i]<0||p->score[i]>100)/*确保成绩在0~100之间*/
printf("Dataerror,pleaseenteragain. ");
}while(p->score[i]<0||p->score[i]>100);
s=s+p->score[i];/*累加各门成绩*/
}
p->sum=s;/*将总分保存*/
p->average=(float)s/3;/*先用强制类型转换将s转换成float型,再求平均值*/
p->order=0;/*未排序前此值为0*/
p->next=head;/*将头结点做为新输入结点的后继结点*/
head=p;/*新输入结点为新的头结点*/
}
return(head);
}

/*显示全部记录函数*/
voidprint(STUDENT*head)
{
inti=0;/*统计记录条数*/
STUDENT*p;/*移动指针*/
clrscr();
p=head;/*初值为头指针*/
printf(" ************************************STUDENT************************************ ");
printf("------------------------------------------------------------------------------- ");
printf("|Rec|Num|Name|Sc1|Sc2|Sc3|Sum|Ave|Order| ");
printf("------------------------------------------------------------------------------- ");
while(p!=NULL)
{
i++;
printf("|%3d|%4s|%-4s|%3d|%3d|%3d|%3d|%4.2f|%-5d| ",
i,p->num,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order);
p=p->next;
}
printf("------------------------------------------------------------------------------- ");
printf("**************************************END************************************** ");
}

/*查找记录函数*/
voidsearch(STUDENT*head)
{
STUDENT*p;/*移动指针*/
chars[5];/*存放姓名用的字符数组*/
clrscr();
printf("Pleaseenternameforsearching. ");
scanf("%s",s);
p=head;/*将头指针赋给p*/
while(strcmp(p->name,s)&&p!=NULL)/*当记录的姓名不是要找的,或指针不为空时*/
p=p->next;/*移动指针,指向下一结点*/
if(p!=NULL)/*如果指针不为空*/
{printf(" *************************************FOUND************************************ ");
printf("------------------------------------------------------------------------------- ");
printf("|Num|Name|sc1|sc2|sc3|Sum|Ave|Order| ");
printf("------------------------------------------------------------------------------- ");
printf("|%4s|%4s|%3d|%3d|%3d|%3d|%4.2f|%-5d| ",
p->num,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order);
printf("------------------------------------------------------------------------------- ");
printf("***************************************END************************************** ");
}
else
printf(" Thereisnonum%sstudentonthelist. ",s);/*显示没有该学生*/
}

/*删除记录函数*/
STUDENT*delete(STUDENT*head)
{intn;
STUDENT*p1,*p2;/*p1为查找到要删除的结点指针,p2为其前驱指针*/
charc,s[6];/*s[6]用来存放学号,c用来输入字母*/
clrscr();
printf("Pleaseenterthedeletednum:");
scanf("%s",s);
p1=p2=head;/*给p1和p2赋初值头指针*/
while(strcmp(p1->num,s)&&p1!=NULL)/*当记录的学号不是要找的,或指针不为空时*/
{p2=p1;/*将p1指针值赋给p2作为p1的前驱指针*/
p1=p1->next;/*将p1指针指向下一条记录*/
}
if(strcmp(p1->num,s)==0)/*学号找到了*/
{printf("**************************************FOUND************************************ ");
printf("------------------------------------------------------------------------------- ");
printf("|Num|Name|sc1|sc2|sc3|Sum|Ave|Order| ");
printf("------------------------------------------------------------------------------- ");
printf("|%4s|%4s|%3d|%3d|%3d|%3d|%4.2f|%-5d| ",
p1->num,p1->name,p1->score[0],p1->score[1],p1->score[2],p1->sum,p1->average,p1->order);
printf("------------------------------------------------------------------------------- ");
printf("***************************************END************************************** ");
printf("AreyousuretodeletethestudentY/N?");/*提示是否要删除,输入Y删除,N则退出*/
for(;;)
{scanf("%c",&c);
if(c=='n'||c=='N')break;/*如果不删除,则跳出本循环*/
if(c=='y'||c=='Y')
{
if(p1==head)/*若p1==head,说明被删结点是首结点*/
head=p1->next;/*把第二个结点地址赋予head*/
else
p2->next=p1->next;/*否则将一下结点地址赋给前一结点地址*/
n=n-1;
printf(" Num%sstudenthavebeendeleted. ",s);
printf("Don'tforgettosave. ");break;/*删除后就跳出循环*/
}
}
}
else
printf(" Thereisnonum%sstudentonthelist. ",s);/*找不到该结点*/
return(head);
}

/*排序函数*/
STUDENT*sort(STUDENT*head)
{inti=0;/*保存名次*/
STUDENT*p1,*p2,*t,*temp;/*定义临时指针*/
temp=head->next;/*将原表的头指针所指的下一个结点作头指针*/
head->next=NULL;/*第一个结点为新表的头结点*/
while(temp!=NULL)/*当原表不为空时,进行排序*/
{
t=temp;/*取原表的头结点*/
temp=temp->next;/*原表头结点指针后移*/
p1=head;/*设定移动指针p1,从头指针开始*/
p2=head;/*设定移动指针p2做为p1的前驱,初值为头指针*/
while(t->average<p1->average&&p1!=NULL)/*作成绩平均分比较*/
{
p2=p1;/*待排序点值小,则新表指针后移*/
p1=p1->next;
}
if(p1==p2)/*p1==p2,说明待排序点值大,应排在首位*/
{
t->next=p1;/*待排序点的后继为p*/
head=t;/*新头结点为待排序点*/
}
else/*待排序点应插入在中间某个位置p2和p1之间,如p为空则是尾部*/
{
t->next=p1;/*t的后继是p1*/
p2->next=t;/*p2的后继是t*/
}
}
p1=head;/*已排好序的头指针赋给p1,准备填写名次*/
while(p1!=NULL)/*当p1不为空时,进行下列操作*/
{
i++;/*结点序号*/
p1->order=i;/*将结点序号赋值给名次*/
p1=p1->next;/*指针后移*/
}
printf("Sortingissucessful. ");/*排序成功*/
return(head);
}

/*插入记录函数*/
STUDENT*insert(STUDENT*head,STUDENT*newnode)
{STUDENT*p0,*p1,*p2;
intn,sum1,i;
p1=head;/*使p1指向第一个结点*/
p0=newnode;/*p0指向要插入的结点*/
printf(" Pleaseenteranewnoderecord. ");/*提示输入记录信息*/
printf("Enterthenum:");
scanf("%s",newnode->num);
printf("Enterthename:");
scanf("%s",newnode->name);
printf("Pleaseenterthe%dscores. ",3);
sum1=0;/*保存新记录的总分,初值为0*/
for(i=0;i<3;i++)
{
do{
printf("score%d:",i+1);
scanf("%d",&newnode->score[i]);
if(newnode->score[i]>100||newnode->score[i]<0)
printf("Dataerror,pleaseenteragain. ");
}while(newnode->score[i]>100||newnode->score[i]<0);
sum1=sum1+newnode->score[i];/*累加各门成绩*/
}
newnode->sum=sum1;/*将总分存入新记录中*/
newnode->average=(float)sum1/3;
newnode->order=0;
if(head==NULL)/*原来的链表是空表*/
{head=p0;p0->next=NULL;}/*使p0指向的结点作为头结点*/
else
{while((p0->average<p1->average)&&(p1->next!=NULL))
{p2=p1;/*使p2指向刚才p1指向的结点*/
p1=p1->next;/*p1后移一个结点*/
}
if(p0->average>=p1->average)
{if(head==p1)head=p0;/*插到原来第一个结点之前*/
elsep2->next=p0;/*插到p2指向的结点之后*/
p0->next=p1;}
else
{p1->next=p0;p0->next=NULL;}/*插到最后的结点之后*/
}
n=n+1;/*结点数加1*/
head=sort(head);/*调用排序的函数,将学生成绩重新排序*/
printf(" Student%shavebeeninserted. ",newnode->name);
printf("Don'tforgettosavethenewnodefile. ");
return(head);
}

/*保存数据到文件函数*/
voidsave(STUDENT*head)
{FILE*fp;/*定义指向文件的指针*/
STUDENT*p;/*定义移动指针*/
charoutfile[10];
printf("Enteroutfilename,forexamplec:\score ");
scanf("%s",outfile);
if((fp=fopen(outfile,"wb"))==NULL)/*为输出打开一个二进制文件,为只写方式*/
{
printf("Cannotopenthefile ");
return;/*若打不开则返回菜单*/
}
printf(" Savingthefile...... ");
p=head;/*移动指针从头指针开始*/
while(p!=NULL)/*如p不为空*/
{
fwrite(p,LEN,1,fp);/*写入一条记录*/
p=p->next;/*指针后移*/
}
fclose(fp);/*关闭文件*/
printf("Savethefilesuccessfully! ");
}

/*从文件读数据函数*/
STUDENT*load()
{STUDENT*p1,*p2,*head=NULL;/*定义记录指针变量*/
FILE*fp;/*定义指向文件的指针*/
charinfile[10];
printf("Enterinfilename,forexamplec:\score ");
scanf("%s",infile);
if((fp=fopen(infile,"rb"))==NULL)/*打开一个二进制文件,为只读方式*/
{
printf("Cannotopenthefile. ");
return(head);
}
printf(" Loadingthefile! ");
p1=(STUDENT*)malloc(LEN);/*开辟一个新单元*/
if(!p1)
{
printf("Outofmemory! ");
return(head);
}
head=p1;/*申请到空间,将其作为头指针*/
while(!feof(fp))/*循环读数据直到文件尾结束*/
{
if(fread(p1,LEN,1,fp)!=1)break;/*如果没读到数据,跳出循环*/
p1->next=(STUDENT*)malloc(LEN);/*为下一个结点开辟空间*/
if(!p1->next)
{
printf("Outofmemory! ");
return(head);
}
p2=p1;/*使p2指向刚才p1指向的结点*/
p1=p1->next;/*指针后移,新读入数据链到当前表尾*/
}
p2->next=NULL;/*最后一个结点的后继指针为空*/
fclose(fp);
printf("! ");
return(head);
}

Ⅸ 求简单C语言程序代码!

输入2个正整数m和n,求其最大公约数和最小公倍数

#include

#include

int main()

int m,n,p,q,s,r;

printf("请输入两个正整数;m,n ");

scanf("%d,%d",&m,&n);

#include<stdio.h>

main()

int a,b,t=0;

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

if (a<b)

printf("%d %d %d %d %d",(a+b),(a-b),(a/b),(a*b),(a%b));

}

主要特点

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。

以上内容参考:网络-c语言

Ⅹ c语言基础代码,越详细,解释越简单,越好

你并没有把详细的 C 语言基础代码写出来,别人怎么帮助你添加注释语句啊?因为所说的 C 语言基础代码实际上并没有一定之规。怎么样才算是基础代码、有几行代码就可以、足够了?这些都是灵活的、并不是一成不变的。例如,最、最简单的 C 语言基础代码就是:很多 C 语言教材上的第一个程序,输出:"Hello, World !"。该详细的 C 语言代码如下:
#include <stdio.h> /* 基本输入输出头文件,包括:printf、scanf等的库函数原型说明 */
void main( ) /* 任何一个 C 语言源代码都必须包含主函数 main( ),void 表示该函数不返回任何值 */
{ /* 在 C 语言代码中,任何一个函数都是以 { 开始,并且以 } 结束 */
printf( "Hello, World !\n" ) ; /* 在电脑屏幕上输出字符串:Hello, World */

}