c语言初学必背代码文档格式.docx

上传人:b****5 文档编号:17208644 上传时间:2022-11-28 格式:DOCX 页数:18 大小:18.63KB
下载 相关 举报
c语言初学必背代码文档格式.docx_第1页
第1页 / 共18页
c语言初学必背代码文档格式.docx_第2页
第2页 / 共18页
c语言初学必背代码文档格式.docx_第3页
第3页 / 共18页
c语言初学必背代码文档格式.docx_第4页
第4页 / 共18页
c语言初学必背代码文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

c语言初学必背代码文档格式.docx

《c语言初学必背代码文档格式.docx》由会员分享,可在线阅读,更多相关《c语言初学必背代码文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

c语言初学必背代码文档格式.docx

i<

=100;

i++)

sum=sum+i;

sum=%d\n"

sum);

//3.最大公约数

//求m,n的最大公约数

intm,n;

inti,k;

请输入两个数:

"

%d%d"

m,&

n);

//三元运算符找较小的那个

k=m<

n?

m:

n;

//从较小的那个数倒着往前找

for(i=k;

i>

=1;

i--)

//这是公约数

if((m%i==0)&

(n%i==0))

{

printf("

最大公约数是%d\n"

i);

break;

//跳出for循环

}

//4.最小公倍数

//求m,n的最小公倍数

intmax,min;

//m,n中较大,较小的那个

intk;

//max,2*max,3*max,.....

//也可以交换m,n,保证m小n大

max=m>

min=m<

k=max;

//从max开始

while(k%min!

=0)

k+=max;

//每次倍增

最小公倍数是%d\n"

k);

//5.金字塔

//金字塔

//外层

intj;

//内层

i<

=10;

//当前是在第i行

//先补空格10-i个

for(j=1;

j<

=10-i;

j++)

//再打2i-1个*

=2*i-1;

*"

//6.九九乘法表

//打印九九乘法表

inti,j;

=9;

i++)//外层一定是9行

j<

=i;

j++)//内层第几行走几遍

%d*%d=%d"

i,j,i*j);

//7.百钱买百鸡

/**

百钱买百鸡,类似1,2,5凑100银币问题

*/

intmain2()

//公鸡,母鸡个数

for(i=0;

i<

=20;

i++)//公鸡

for(j=0;

=33;

j++)//母鸡

if((15*i+9*j+(100-i-j))==300)

{

printf("

公鸡%d,母鸡%d,小鸡%d\n"

i,j,100-i-j);

}

//1,2,5凑100银币问题

intmain3()

intcount=0;

//情况数

//5分个数,2分个数

i++)//5分个数

=50;

j++)//2分个数

if((5*i+2*j)<

=100)

count++;

%d:

5分%d个,2分%d个,1分%d个\n"

count,i,j,100-5*i-2*j);

//8.一维数组的最大值、最小值、平均值

#defineN10//宏定义常量

//下标索引

doublesum=0;

//累加和

inta[N]={58,58,96,100,25,55,66,88,99,77};

max=a[0];

//假设第一个最大

min=a[0];

//假设第一个最小

N;

i++)

if(a[i]>

max)//比最大值还大

max=a[i];

//你才是最大

if(a[i]<

min)//比最小值还小

min=a[i];

//你才是最小

sum+=a[i];

max=%d,min=%d\n"

max,min);

average=%.2lf\n"

sum/N);

//9.二维数组的最大值、最小值、平均值

//第几行

//第几列

inta[3][4]={{1,2,3,4},{5,-6,7,8},{9,19,39,0}};

intmax=a[0][0];

//假设你最大

intmin=a[0][0];

//假设你最小

doubleaverage;

//平均值

//总和

3;

i++)//必定3行

4;

j++)//必定4列

%5d"

a[i][j]);

sum+=a[i][j];

if(a[i][j]>

max)

max=a[i][j];

if(a[i][j]<

min)

min=a[i][j];

average=sum/(3*4);

max=%d,min=%d,avg=%.2lf\n"

max,min,average);

//10.二维数组转置

//二维数组转置:

行变列,列变行

intb[4][3];

j++)

%5d"

//矩阵转置

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

}

b[i][j]);

//11.冒泡排序

//下标索引

inttmp;

//临时交换用

//外层循环一定是N-1

N-1;

//两两交换,大的往后走

N-i-1;

//交换

if(a[j]>

a[j+1])

tmp=a[j];

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

a[j+1]=tmp;

}

%d"

a[i]);

;

//12.结构冒泡排序

//结构定义,用户自定义类型

typedefstructstudent{

charsno[20];

//学号

charname[20];

//姓名

intage;

//年龄

chargender;

//性别

chartel[20];

//电话

};

structstudenttmp;

//两两交换临时用;

//结构数组

structstudentteam[5];

5;

请输入第%d个队员的信息:

i+1);

scanf("

%s%s%d%c%s"

team[i].sno,team[i].name,&

team[i].age,&

team[i].gender,team[i].tel);

//按年龄冒泡排序

5-i-1;

//两两交换

if(team[j].age>

team[j+1].age)

tmp=team[j];

team[j]=team[j+1];

team[j+1]=tmp;

//取值

%-12s%-10s%-5s%-5s%-15s\n"

"

学号"

姓名"

年龄"

性别"

电话"

%-12s%-10s%-5d%-5c%-15s\n"

team[i].sno,team[i].name,team[i].age,team[i].gender,team[i].tel);

//13.结构数组找年龄最大值

//找最大临时用

for(i=0;

//找学号最大的那一个

tmp=team[0];

if(strcmp(team[i].sno,tmp.sno)>

0)

tmp=team[i];

学号最大的队员如下:

tmp.sno,tmp.name,tmp.age,tmp.gender,tmp.tel);

//14.文件读写

stdlib.h>

//文件读写

{

structstudent*s,*p1;

//个数未知

FILE*fp;

inti,n=0;

charbuf[1024];

//fgets缓冲区

//打开文件

fp=fopen("

e:

\\test.txt"

r"

while(fgets(buf,1024,fp)!

=NULL)

n++;

fclose(fp);

//指向一个可以存储n个student结构的内存空间

s=(structstudent*)malloc(sizeof(structstudent)*n);

p1=s;

//不要动头位置s的值

n;

//从文件中读入一行

fscanf(fp,"

p1->

sno,p1->

name,&

p1->

age,&

gender,p1->

tel);

p1++;

%s%s%d%c%s\n"

name,p1->

age,p1->

free(s);

//15.输入三角形三边长计算周长和面积

#include<

math.h>

intmain()

doublearea,perimeter,s,a,b,c;

请输入三边长abc:

%lf%lf%lf"

&

a,&

b,&

c);

if((a+b>

c)&

(a+c>

b)&

(b+c>

a))

{

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

perimeter=a+b+c;

area=%.2f,perimeter=%.2f\n"

area,perimeter);

三边长无法构成三角形。

return0;

//16.输入年份和月份输出对应那一月的天数,要处理闰年

#include

intyear,month;

intleap=0;

year,&

month);

if((year%4==0&

year%100!

=0)||year%400==0)//闰年2月29天

leap=1;

switch(month)

case1:

case3:

case5:

case7:

case8:

case10:

case12:

printf("

31"

break;

case4:

case6:

case9:

case11:

30"

case2:

28+leap);

default:

error"

//17.1,2,5分硬币问题

for(inti=0;

i++)//5分

for(intj=0;

j++)//2分

if(5*i+2*j<

=100)

sum++;

else

break;

%d\n"

//18.100到200所有的素数

inti,j,n;

for(i=100;

=200;

n=i;

//内层

for(j=2;

=n-1;

if(n%j==0)

//不是素数

if(j==n)//没找到

%d是素数\n"

n);

else

%d不是素数\n"

//19.输入一个数n,计算12+22+32+…+n2

k);

i=1;

while(i<

=k)

sum=sum+i*i;

i++;

sum=%d\n"

//20.指针交换

//定义一个方法swap()通过指针交换两个整数,并在main()中调用

voidswap(int*pa,int*pb)

inttmp=*pa;

*pa=*pb;

*pb=tmp;

inta=3;

intb=5;

int*pa=&

a;

int*pb=&

b;

swap(pa,pb);

a=%d,b=%d\n"

a,b);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1