c语言初学必背代码.docx

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

c语言初学必背代码.docx

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

c语言初学必背代码.docx

c语言初学必背代码

c语言初学必背代码

//1.成绩判断

#include

intmain()

{

//成绩

intscore;

printf("请输入你的成绩:

\n");

scanf("%d",&score);

//判断

if(score>=0&&score<60)

{

printf("不及格\n");

}

elseif(60<=score&&score<80)

{

printf("中等\n");

}

elseif(80<=score&&score<100)

{

printf("优秀\n");

}

else

{

printf("输入错误!

\n");

}

}

 

//2.计算1到100的和

#include

intmain()

{

intsum=0;//存结果变量

inti;

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

{

sum=sum+i;

}

printf("sum=%d\n",sum);

}

 

//3.最大公约数

#include

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

intmain()

{

intm,n;

inti,k;

printf("请输入两个数:

");

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

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

k=m

m:

n;

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

for(i=k;i>=1;i--)

{

//这是公约数

if((m%i==0)&&(n%i==0))

{

printf("最大公约数是%d\n",i);

break;//跳出for循环

}

}

}

 

//4.最小公倍数

#include

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

intmain()

{

intm,n;

intmax,min;//m,n中较大,较小的那个

printf("公鸡%d,母鸡%d,小鸡%d\n",i,j,100-i-j);

}

}

}

}

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

intmain3()

{

intcount=0;//情况数

inti,j;//5分个数,2分个数

for(i=0;i<=20;i++)//5分个数

{

for(j=0;j<=50;j++)//2分个数

{

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

{

count++;

printf("%d:

5分%d个,2分%d个,1分%d个\n",count,i,j,100-5*i-2*j);

}

}

}

}

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

#include

#defineN10//宏定义常量

intmain()

{

inti;//下标索引

intmax,min;

doublesum=0;//累加和

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

max=a[0];//假设第一个最大

min=a[0];//假设第一个最小

for(i=1;i

{

if(a[i]>max)//比最大值还大

max=a[i];//你才是最大

if(a[i]

min=a[i];//你才是最小

sum+=a[i];

}

printf("max=%d,min=%d\n",max,min);

printf("average=%.2lf\n",sum/N);

}

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

#include

intmain()

{

inti;//第几行

intj;//第几列

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

intmax=a[0][0];//假设你最大

intmin=a[0][0];//假设你最小

doubleaverage;//平均值

doublesum=0;//总和

for(i=0;i<3;i++)//必定3行

{

for(j=0;j<4;j++)//必定4列

{

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

sum+=a[i][j];

if(a[i][j]>max)

max=a[i][j];

if(a[i][j]

min=a[i][j];

}

printf("\n");

}

average=sum/(3*4);

printf("max=%d,min=%d,avg=%.2lf\n",max,min,average);

}

 

//10.二维数组转置

#include

//二维数组转置:

行变列,列变行

intmain()

{

inti;//第几行

intj;//第几列

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

intb[4][3];

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

{

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

{

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

}

printf("\n");

}

//矩阵转置

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

{

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

{

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

}

}

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

{

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

{

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

}

printf("\n");

}

}

//11.冒泡排序

#include

#defineN10//宏定义常量

intmain()

{

inti;//下标索引

intj;

inttmp;//临时交换用

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

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

for(i=0;i

{

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

for(j=0;j

{

//交换

if(a[j]>a[j+1])

{

tmp=a[j];

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

a[j+1]=tmp;

}

}

}

for(i=0;i

{

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

}

printf("\n");

}

 

//12.结构冒泡排序

#include

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

typedefstructstudent{

charsno[20];//学号

charname[20];//姓名

intage;//年龄

chargender;//性别

chartel[20];//电话

};

intmain()

{

inti;

intj;

doublesum=0;

structstudenttmp;//两两交换临时用;

//结构数组

structstudentteam[5];

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

{

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

\n",i+1);

scanf("%s%s%d%c%s",team[i].sno,team[i].name,&team[i].age,&team[i].gender,team[i].tel);

}

//按年龄冒泡排序

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

{

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

{

//两两交换

if(team[j].age>team[j+1].age)

{

tmp=team[j];

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

team[j+1]=tmp;

}

}

}

//取值

printf("%-12s%-10s%-5s%-5s%-15s\n","学号","姓名","年龄","性别","电话");

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

{

printf("%-12s%-10s%-5d%-5c%-15s\n",team[i].sno,team[i].name,team[i].age,team[i].gender,team[i].tel);

}

}

 

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

#include

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

typedefstructstudent{

charsno[20];//学号

charname[20];//姓名

intage;//年龄

chargender;//性别

chartel[20];//电话

};

intmain()

{

inti;

structstudenttmp;//找最大临时用

//结构数组

structstudentteam[5];

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

{

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

\n",i+1);

scanf("%s%s%d%c%s",team[i].sno,team[i].name,&team[i].age,&team[i].gender,team[i].tel);

}

//取值

printf("%-12s%-10s%-5s%-5s%-15s\n","学号","姓名","年龄","性别","电话");

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

{

printf("%-12s%-10s%-5d%-5c%-15s\n",team[i].sno,team[i].name,team[i].age,team[i].gender,team[i].tel);

}

//找学号最大的那一个

tmp=team[0];

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

{

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

{

tmp=team[i];

}

}

printf("学号最大的队员如下:

\n");

printf("%-12s%-10s%-5d%-5c%-15s\n",tmp.sno,tmp.name,tmp.age,tmp.gender,tmp.tel);

}

//14.文件读写

#include

#include

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

typedefstructstudent{

charsno[20];//学号

charname[20];//姓名

intage;//年龄

chargender;//性别

chartel[20];//电话

};

//文件读写

intmain()

{

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的值

//打开文件

fp=fopen("e:

\\test.txt","r");

for(i=0;i

{

//从文件中读入一行

fscanf(fp,"%s%s%d%c%s",p1->sno,p1->name,&p1->age,&p1->gender,p1->tel);

p1++;

}

fclose(fp);

p1=s;

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

{

printf("%s%s%d%c%s\n",p1->sno,p1->name,p1->age,p1->gender,p1->tel);

}

free(s);

}

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

#include

#include

intmain()

{

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

printf("请输入三边长abc:

");

scanf("%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;

printf("area=%.2f,perimeter=%.2f\n",area,perimeter);

}

else

{

printf("三边长无法构成三角形。

\n");

}

return0;

}

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

#include

intmain()

{

intyear,month;

intleap=0;

scanf("%d%d",&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:

printf("30");break;

case2:

printf("%d",28+leap);break;

default:

printf("error");break;

}

return0;

}

 

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

#include

intmain()

{

intsum=0;

for(inti=0;i<=20;i++)//5分

{

for(intj=0;j<=50;j++)//2分

{

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

sum++;

else

break;

}

}

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

}

 

//18.100到200所有的素数

#include

intmain()

{

inti,j,n;

//外层

for(i=100;i<=200;i++)

{

n=i;

//内层

for(j=2;j<=n-1;j++)

{

if(n%j==0)

break;//不是素数

}

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

printf("%d是素数\n",n);

else

printf("%d不是素数\n",n);

}

}

 

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

#include

intmain()

{

intsum=0;

inti,k;

scanf("%d",&k);

i=1;

while(i<=k)

{

sum=sum+i*i;

i++;

}

printf("sum=%d\n",sum);

}

 

//20.指针交换

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

#include

voidswap(int*pa,int*pb)

{

inttmp=*pa;

*pa=*pb;

*pb=tmp;

}

intmain()

{

inta=3;

intb=5;

int*pa=&a;

int*pb=&b;

swap(pa,pb);

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

}

 

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

当前位置:首页 > 表格模板 > 书信模板

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

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