完整word版c语言初学必背代码文档格式.docx
- 文档编号:20264039
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:19
- 大小:21.18KB
完整word版c语言初学必背代码文档格式.docx
《完整word版c语言初学必背代码文档格式.docx》由会员分享,可在线阅读,更多相关《完整word版c语言初学必背代码文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
//求m,n的最大公约数
intm,n;
inti,k;
printf(”请输入两个数:
"
);
%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的最小公倍数
intm,n;
intmax,min;
//m,n中较大,较小的那个
intk;
//max,2*max,3*max,..。
。
printf("
请输入两个数:
”);
scanf(”%d%d”,&m,&n);
//也可以交换m,n,保证m小n大
max=m〉n?
n;
min=m<
n?
k=max;
//从max开始
while(k%min!
=0)
k+=max;
//每次倍增
最小公倍数是%d\n"
k);
//5。
金字塔
#include〈stdio.h>
//金字塔
inti;
//外层
intj;
//内层
for(i=1;
i<
=10;
//当前是在第i行
//先补空格10-i个
for(j=1;
j〈=10—i;
j++)
{
"
}
//再打2i—1个*
j<
=2*i—1;
*"
//6.九九乘法表
#include〈stdio。
//打印九九乘法表
inti,j;
i〈=9;
i++)//外层一定是9行
j〈=i;
j++)//内层第几行走几遍
printf(”%d*%d=%d”,i,j,i*j);
//7。
百钱买百鸡
#include〈stdio.h〉
/**
百钱买百鸡,类似1,2,5凑100银币问题
*/
intmain2()
inti,j;
//公鸡,母鸡个数
for(i=0;
i<
=20;
i++)//公鸡
for(j=0;
j〈=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分个数
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。
一维数组的最大值、最小值、平均值
h〉
#defineN10//宏定义常量
//下标索引
intmax,min;
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];
printf(”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;
//平均值
//总和
i〈3;
i++)//必定3行
j〈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];
printf(”\n"
average=sum/(3*4);
max=%d,min=%d,avg=%.2lf\n"
,max,min,average);
//10.二维数组转置
#include〈stdio.h>
//二维数组转置:
行变列,列变行
inta[3][4]={{1,2,3,4},{5,—6,7,8},{9,19,39,0}};
intb[4][3];
j<
4;
j++)
%5d”,a[i][j]);
\n”);
//矩阵转置
for(i=0;
i〈3;
for(j=0;
j〈4;
b[j][i]=a[i][j];
}
i〈4;
3;
printf(”%5d”,b[i][j]);
printf(”\n”);
//11。
冒泡排序
#defineN10//宏定义常量
//下标索引
intj;
inttmp;
//临时交换用
inta[N]={58,58,96,100,25,55,66,88,99,77};
//外层循环一定是N-1
i〈N—1;
//两两交换,大的往后走
N—i-1;
//交换
if(a[j]〉a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
i〈N;
printf(”%d"
a[i]);
;
printf(”\n”);
//12.结构冒泡排序
#include〈stdio。
//结构定义,用户自定义类型
typedefstructstudent{
charsno[20];
//学号
charname[20];
//姓名
intage;
//年龄
chargender;
//性别
chartel[20];
//电话
};
doublesum=0;
structstudenttmp;
//两两交换临时用;
//结构数组
structstudentteam[5];
i〈5;
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);
//按年龄冒泡排序
i〈5;
j〈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”,”学号"
,”姓名”,”年龄"
”性别"
"
电话"
5;
printf(”%—12s%-10s%-5d%—5c%—15s\n"
team[i].sno,team[i].name,team[i]。
age,team[i].gender,team[i]。
tel);
//13.结构数组找年龄最大值
//结构定义,用户自定义类型
typedefstructstudent{
charsno[20];
charname[20];
chartel[20];
};
//找最大临时用
structstudentteam[5];
for(i=0;
请输入第%d个队员的信息:
scanf(”%s%s%d%c%s"
team[i]。
sno,team[i]。
name,&
team[i]。
age,&team[i]。
gender,team[i]。
%—12s%—10s%-5s%-5s%—15s\n”,”学号"
,”姓名”,”年龄"
”性别”,”电话”);
printf(”%-12s%-10s%—5d%—5c%—15s\n"
,team[i]。
sno,team[i].name,team[i].age,team[i].gender,team[i]。
//找学号最大的那一个
tmp=team[0];
if(strcmp(team[i].sno,tmp。
sno)〉0)
tmp=team[i];
学号最大的队员如下:
printf(”%—12s%-10s%-5d%—5c%—15s\n"
tmp.sno,tmp.name,tmp。
age,tmp.gender,tmp。
//14。
文件读写
#include〈stdlib.h>
charsno[20];
charname[20];
chartel[20];
//文件读写
{
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:
txt”,”r"
n;
//从文件中读入一行
fscanf(fp,”%s%s%d%c%s”,p1-〉sno,p1—〉name,&p1—>
age,&p1-〉gender,p1-〉tel);
p1++;
fclose(fp);
p1=s;
3;
%s%s%d%c%s\n”,p1-〉sno,p1—〉name,p1—〉age,p1->
gender,p1—〉tel);
free(s);
//15。
输入三角形三边长计算周长和面积
#include〈stdio。
#include〈math.h>
intmain()
{
doublearea,perimeter,s,a,b,c;
printf(”请输入三边长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;
printf(”area=%。
2f,perimeter=%。
2f\n"
area,perimeter);
}
{
三边长无法构成三角形。
return0;
//16。
输入年份和月份输出对应那一月的天数,要处理闰年
#include
intyear,month;
intleap=0;
%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:
%d”,28+leap);
default:
error”);
//17。
1,2,5分硬币问题
intsum=0;
for(inti=0;
i〈=20;
i++)//5分
for(intj=0;
j++)//2分
if(5*i+2*j<
=100)
sum++;
else
break;
%d\n"
sum);
}
//18.100到200所有的素数
stdio.h〉
inti,j,n;
for(i=100;
i〈=200;
n=i;
//内层
for(j=2;
=n—1;
if(n%j==0)
break;
//不是素数
if(j==n)//没找到
printf(”%d是素数\n"
n);
else
%d不是素数\n"
//19.输入一个数n,计算12+22+32+…+n2
%d"
,&
k);
i=1;
while(i<
=k)
sum=sum+i*i;
i++;
sum=%d\n"
,sum);
//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);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 语言 初学 代码