计算机二级需掌握的常用各种程序由简到难.docx
- 文档编号:6267556
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:33
- 大小:61.30KB
计算机二级需掌握的常用各种程序由简到难.docx
《计算机二级需掌握的常用各种程序由简到难.docx》由会员分享,可在线阅读,更多相关《计算机二级需掌握的常用各种程序由简到难.docx(33页珍藏版)》请在冰豆网上搜索。
计算机二级需掌握的常用各种程序由简到难
第一、二章:
C语言设计的初步知识
☆基本语句
#include
main()
{
printf("hello");
}
☆求三个数的平均值
#include
main()
{
doublei,j,k,e;
i=3.5;j=5.9999;k=2.6;
e=(i+j+k)/3;
printf("e=%f",e);
}
☆求矩形面积的程序
#include
main()
{
inta,b,c;
a=3;b=5;
c=a+b;
printf("c=%d\n",c);
}
☆典型的求两数之积
#include
main()
{
inta,b,c;
scanf("%d%d",a,b);
c=a*b;
printf("c=%d\n",c);
}
☆求圆面积的程序
#include
main()
{
doubler,s;
r=3.5;
s=3.1416*r*r;
printf("s=%f\n",s);
}
☆求圆球的体积
#include
main()
{
doublev,r;
r=2.3333;
v=4*3.14159*r*r*r/3;
printf("v=%f\n",v);
}
★交换算法(空瓶开头,首尾相连)
#include
main()
{
inta,b,t;
a=3;b=5;
t=a;a=b;b=t;
printf("a=%d,b=%d\n",a,b);
}
★自加自减运算
#include
main()
{
inti,j;
i=3;
j=++i;/*i=i+1;j=i;*/
printf("i=%d,j=%d\n",i,j);
}
#include
main()
{
inti,j;
i=3;
j=--i;/*i=i-1;j=i;*/
printf("i=%d,j=%d\n",i,j);
}
#include
main()
{
inti,j;
i=3;
j=i++;/*j=i;i=i+1;*/
printf("i=%d,j=%d\n",i,j);
}
#include
main()
{
inti,j;
i=3;
j=i--;/*j=i;i=i-1;*/
printf("i=%d,j=%d\n",i,j);
}
第三章顺序结构
P343.17编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。
#include
main()
{
inta,b;
a=560/60;
b=560%60;
printf("%d:
%d\n",a,b);
}
3.18编写程序,输入两个整数,求出他们的商和余数并进行输出。
#include
main()
{
inta,b,s,y;
scanf("%d%d",&a,&b);
s=a/b,y=a%b;
printf("s=%d,y=%d\n",s,y);
}
3.19编写程序,读入三个双精度数,求它们的平均值,并保留此平均值小数点后一位小数,对小数点后第二位数进行四舍五入,最后输出结果。
#include
main()
{
doublea,b,c,d;
scanf("%lf%lf%lf",&a,&b,&c);
d=(a+b+c)/3.0;
printf("d=%.1f\n",d);
}
3.20编写程序,读入三个整数给a,b,c,然后交换他们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a,然后输出啊,a,b,c.
#include
main()
{
inta,b,c,t;
printf("inputa,b,c:
\n");
scanf("%d%d%d",&a,&b,&c);
t=a;a=c;c=b;b=t;
printf("a=%d,b=%d,c=%d",a,b,c);
}
第四章选择结构
一.If语句
⒈单分支结构
1输入两整数,按从小到大顺序排列后输出
#include
main()
{
inta,b,t;
scanf("%d%d",&a,&b);
if(a>b){t=a;a=b;b=t;}
printf("%5d%5d\n",a,b);
}
2输入三个整数,按从小到大顺序排列后输出
#include
main()
{
inta,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(b>c){t=b;b=c;c=t;}
printf("%5d%5d%5d\n",a,b,c);
}
⒉双分支结构
14.23编写一个程序,输入一个整数,打印出它是计数还是偶数。
#include
main()
{
inta;
scanf("%d",&a);
if(a%2!
=0)
printf("jishu");
else
printf("oushu");
}
2★输入一个年份,判定是否为闰年。
#include
main()
{
inty;
scanf("%d",&y);
if(y%4==0&&y%100!
=0||y%400==0)
printf("Yes\n");
else
printf("No\n");
}
⒊多分支结构
1输入成绩,输出等级。
A:
100-85,B:
84-70,C:
69-60,D:
59-0。
方法一:
嵌套(在语法上为一条语句)
#include
main()
{
ints;
scanf("%d",&s);
if(s>=85)printf("A\n");
else
if(s>=70)printf("B\n");
else
if(s>=60)printf("C\n");
elseprintf("D\n");
}
方法二:
不嵌套的if语句
#include
main()
{
ints;
scanf("%d",&s);
if(s>=85&&s<=100)printf("A\n");
if(s>=70&&s<=84)printf("B\n");
if(s>=60&&s<=74)printf("C\n");
if(s<60)printf("D\n");
}
⒋条件运算符
1输入两个整数,输出较大者。
#include
main()
{
inta,b,max;
scanf("%d%d",&a,&b);
max=a>b?
a:
b;
printf("max=%d\n",max);
}
2输入三个数,输出最大者。
#include
main()
{
inta,b,c,max;
scanf("%d%d%d",&a,&b,&c);
max=a>b?
a:
b;
if(c>max)
max=c;
printf("max=%d\n",max);
}
4.22(较难)编写程序,输入一个学生的生日(年:
y0,月:
m0,日:
d0),并输入当前日期(年:
y1,月:
m1,日:
d1),输出该生的实际年龄。
#include
main()
{
inty0,m0,d0,y1,m1,d1,age;
printf("Birthday:
");
scanf("%d%d%d",&y0,&m0,&d0);
printf("Today:
");
scanf("%d%d%d",&y1,&m1,&d1);
if(m1>m0||m1==m0&&d1>d0)
age=y1-y0;
else
age=y1-y0-1;
printf("age=%d\n",age);
}
二.最简单的while语句:
#include
main()
{ints=0,i=1;
while(i<=5)
{s+=i;i++;}
printf("s=%d,i=%d\n",s,i);
}
/*1<=5s=0+1=1i=2
2<=5s=1+2=3i=3
3<=5s=3=3=6i=4
4<=5s=4=6=10i=5
5<=5s=10+5=15i=6*/
三.Switch语句:
编程一般不用。
第五章循环结构
⒈★有规律的整数数列求和
11+2+3+…+100.
#include
main()
{
ints=0,i;
for(i=1;i<=100;i++)
s+=i;
printf("s=%d\n",s);
}
2n!
.
#include
main()
{
ints=1,i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
s*=i;
printf("s=%d\n",s);
}
31-3+5-7+…-99+101.
#include
main()
{
ints=0,i,f=1;
for(i=1;i<=101;i+=2)
{
s+=f*i;
f=-f;
}
printf("s=%d\n",s);
}
⒉有规律的分数数列之和(数得清用for语句,数不清用while语句)
★已知:
,
①利用其前20个数求π的近似值
#include
main()
{
/*1°赋初值,2°循环,3°输出。
*/
doubles=0.0;
inti,f=1,m=1;
for(i=1;i<=200;i++)
{s+=f*1.0/m;
f=-f;
m+=2;
}
printf("PI=%f\n",4*s);
}
②利用该式求π的值,直至最后一项的绝对值小于
。
#include
#include
main()
{
doubles=0.0,t=1.0;
intf=1,m=1;
while(fabs(t)>=1e-6)
{
s+=t;
f=-f;
m+=2;
t=f*1.0/m;
}
printf("PI=%f\n",s*4);
}
★已知
,
计算前50项,求e的值。
#include
#include
main()
{
doubles=1.0,m=1.0;
inti;
for(i=1;i<=49;i++)
{
s+=1.0/m;
m*=(i+1);
}
printf("e=%f\n",s);
}
求e的值,直至最后一项的值小于
。
#include
#include
main()
{
doubles=0.0,m=1.0,t=1.0;
inti=1;
while(t>=1e-6)
{
s+=t;
m*=i;
i++;
t=1.0/m;
}
printf("e=%f\n",s);
}
⒊混合型:
★编写程序,输出从公元2000年至公元3000年所有闰年的年号,每输出十个换一行。
#include
main()
{
inty,n;
for(y=2000;y<=3000;y++)
if(y%4==0&&y%100!
=0||y%400==0)
{
printf("%5d",y);
n++;
if(n%10==0)
printf("\n");
}
}
⒋★求素数算法:
输入一个整数,判定是否为素数。
#include
main()
{
intn,i;
scanf("%d",n);
for(i=2;i<=n-1;i++)
if(n%i==0)break;
if(i>=n)printf("yes\n");
elseprintf("no\n");
}
输出2—100间所有的素数。
#include
main()
{
intn,i;
for(i=2;i<=100;i++)
{
for(i=2;i<=n-1;i++)
if(n%i==0)break;
elseprintf("%d",n);
}
}
5.20编写程序,打印出以下图形:
*
***
*****
*******
*****
***
*
#include
main()
{
inti,j,k;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)printf("");
for(k=1;k<=2*i-1;k++)printf("*");
printf("\n");
}
for(i=3;i>=1;i--)
{
for(j=1;j<=4-i;j++)printf("");
for(k=1;k<=2*i-1;k++)printf("*");
printf("\n");
}
}
第六章字符型数据
6.19编写程序,输入一行字符(用回车结束),输出每个字符,以及与之对应的ASCⅡ码值,每行输出三对。
#include
main()
{
charch;
intn=0;
while((ch=getchar())!
='\n')
{
printf("%c,%d",ch,ch);
n++;
if(n%3==0)
printf("\n");
}
}
6.22编写程序,统计输入的一行中小写字母的个数。
#include
main()
{
charch;
intn=0;
while((ch=getchar())!
='\n')
{if(ch>='a'&&ch<='z')n++;}
printf("n=%d\n",n);
}
6.21编写程序,统计输入的行数(用!
结束输入,!
所在行不计入行数)。
#include
main()
{
charch;
intn=0;
while((ch=getchar())!
='!
')
{if(ch=='\n')n++;}
printf("n=%d\n",n);
}
6.20编写程序,输入一行数字字符(用回车结束),每个数字字符的前后都有空格。
要求把这一行中的数字转换成一个整数。
例如:
输入:
2456
输出:
2456
#include
main()
{
charch;
intn=0;
while((ch=getchar())!
='\n')
{
if(ch>='0'&&ch<='9')
n=n*10+ch-'0';
}
printf("n=%d\n",n);
}
6.23编写程序输出以下图案,图案的行数由输入的整数值确定(每行中字符之间没有空格)。
#include
main()
{
inti,j,k,n;charch='A';
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)printf("");
for(k=1;k<=2*i-1;k++)printf("%c",ch);
ch++;
printf("\n");
}
}
第七章函数(主函数:
输入、调用数据、输出;分函数:
所有具体功能。
)
•输入两个整数,求最大值。
#include
intf(intx,inty)
{return(x>y?
x:
y);}
main()
{
inta,b,max;
scanf("%d%d",&a,&b);
max=f(a,b);
printf("max=%d\n",max);
}
7.15编写函数intmymod(inta,intb)用于求a被b除之后的余数。
#include
intmymod(inta,intb)
{return(a%b);}
main()
{
inta,b,c;
scanf("%d%d",&a,&b);
c=mymod(a,b);
printf("yushu=%d\n",c);
}
7.16编写函数,根据整型形参n的值,计算
#include
doublef(intn)
{
doubles=0.0;intf=1,i;
for(i=1;i<=n;i++)
{
s+=f*1.0/i;
f=-f;
}
return(s);
}
main()
{
intn;doubles;
scanf("%d",&n);
s=f(n);
printf("%f",s);
}
7.17编写函数,根据整型形参n的值,计算:
.
例如,若m=5,则应输出0.536389。
#include
doublef(intm)
{
doubles=0.0;inti;
for(i=2;i<=m;i++)
{
s+=1.0/(i*i);
}
return(s);
}
main()
{
intm;doublet;
scanf("%d",&m);
t=1-f(m);
printf("t=%f",t);
}
7.18编写函数用以求表达式
的值,x作为参数传送给函数。
调用此函数求:
;
;
.
Y1的值为-2.0,x为0.5时,y2的值为166.75,y3的值为1.832721。
#include
#include
doublef(doublex)
{return(x*x-5*x+4);}
main()
{
doublex,y1,y2,y3;
scanf("%lf",&x);
y1=f
(2);
y2=f(x+5);
y3=f(sin(x));
printf("y1=%f\ny2=%f\ny3=%f\n",y1,y2,y3);
}
第八章地址和指针
#include
main()
{
inta;int*p;
a=3;p=&a;
printf("a=%d\n",a);
printf("&a=%d\n",&a);
printf("p=%d\n",p);
printf("&p=%d\n",&p);
printf("*p=%d\n",*p);
}
运行结果:
a=3
&a=1245052
p=1245052
&p=1245048
*p=3
·返回两个及两个以上的值时,可以运用指针完成。
交换a,b的值:
#include
voidf(int*x,int*y)/*x=&a,y=&b*/
{intt;t=*x;*x=*y;*y=t;}/*t=a;a=b;b=t*/
main()
{
inta,b;
scanf("%d%d",&a,&b);
f(&a,&b);
printf("%5d%5d",a,b);
}
8.17编写函数,其功能是对传送过来的两个浮点数求出和值与差值,并通过形参传送回调用函数。
#include
voidf(floata,floatb,float*x,float*y)
{*x=a+b;*y=a-b;}
main()
{
floata,b,c,d;
scanf("%f%f",&a,&b);
f(a,b,&c,&d);
printf("c=%f,d=%f",c,d);
}
★数组的基本算法(以a[10]为例)
#include
main()
{
inta[10]={0};inti,j,t,sum,max,min;doubleave;
/*1.输入*/
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
/*2.输出*/
for(i=0;i<=9;i++)
printf("%5d",a[i]);printf("\n");
/*3.求和,求平均值*/
sum=0;
for(i=0;i<=9;i++)
sum+=a[i];
ave=sum/10.0;
printf("sum=%d,ave=%f\n",sum,ave);
/*4.求最大值,最小值*/
max=a[0];
for(i=0;i<=9;i++)
if(a[i]>max)max=a[i];
min=a[0];
for(i=0;i<=9;i++)
if(a[i] printf("max=%d,min=%d\n",max,min); /*5.倒序算法*/ for(i=0,j=9;i {t=a[i];a[i]=a[j];a[j]=t;} for(i=0;i<=9;i++) printf("%5d",a[i]);printf("\n"); /*6.排序(以从小到大为例)*/ for(i=0;i<=9;i++) for(j=i+1;j<10;j++) if(a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;} for(i=0;i<=9;i++) printf("%5d",a[i]);printf("\n"); } 7.位移算法(左移,右移) 左移一位: #include main(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 掌握 常用 各种 程序 简到难