第二章 顺序结构程序
- 格式:doc
- 大小:28.00 KB
- 文档页数:4
⼀本通⽹站练习⽬录及AC 代码(基础篇⼰完结)信息学奥赛⼀本通信息学奥赛⼀本通第⼀部分:C++语⾔第⼀部分:C++语⾔第⼀章 C++语⾔⼊门第⼀章 C++语⾔⼊门:⼊门测试题⽬#include<iostream>using namespace std;int main(){int a,b;cin>>a>>b;cout<<a+b;return 0;}点击查看AC 代码:Hello,World!#include<iostream>using namespace std;int main(){cout<<"Hello,World!";return 0;}点击查看AC 代码:输出第⼆个整数#include<iostream>using namespace std;int main(){int a,b,c;cin>>a>>b>>c;cout<<b;return 0;}点击查看AC 代码:对齐输出#include<iostream>#include<bits/stdc++.h>using namespace std;int main(){int a,b,c;cin>>a>>b>>c;cout<<fixed <<setw(8)<<a<<' ';cout<<fixed <<setw(8)<<b<<' ';cout<<fixed <<setw(8)<<c;return 0;}点击查看AC 代码:字符三⾓形#include<iostream>using namespace std;int main(){char ch;cin>>ch;cout<<" "<<ch<<'\n';cout<<" "<<ch<<ch<<ch<<'\n';cout<<ch<<ch<<ch<<ch<<ch<<'\n';return 0;}点击查看AC 代码:地球⼈⼝承载⼒估计#include<cstdio>int main(){int a,b,x,y;double z;scanf("%d %d %d %d",&x,&a,&y,&b);z=(a*x-b*y)/(a-b);printf("%.2f",z);return 0;}点击查看AC 代码第⼆章 顺序结构程序设计第⼆章 顺序结构程序设计第⼀节 运算符和表达式第⼀节 运算符和表达式:A+B 问题#include<iostream>using namespace std;int main(){int a,b;cin>>a>>b;cout<<a+b;return 0;}点击查看AC 代码:计算(a+b)×c 的值#include<iostream>using namespace std;int main(){int a,b,c;cin>>a>>b>>c;cout<<(a+b)*c<<endl;return 0;}点击查看AC 代码:计算(a+b)/c 的值#include<iostream>using namespace std;int main(){int a,b,c;cin>>a>>b>>c;cout<<(a+b)/c;return 0;}点击查看AC 代码:带余除法int main(){int bcs,cs,s,ys;cin>>bcs>>cs;s=bcs/cs;ys=bcs%cs;cout<<s<<' '<<ys;return 0;}点击查看AC 代码:计算分数的浮点数值#include<iostream>#include<iomanip>using namespace std;int main(){double a,b;cin>>a>>b;cout<<fixed <<setprecision(9)<<a/b;return 0;}点击查看AC 代码第⼆节 常量和变量第⼆节 常量和变量:甲流疫情死亡率#include<iostream>#include<iomanip>using namespace std;int main(){int a,b;cin>>a>>b;cout<<fixed <<setprecision(3)<<100.0*b/a<<'%'<<endl;return 0;}点击查看AC 代码:计算多项式的值#include<iostream>#include<iomanip>using namespace std;int main(){double x,a,b,c,d;cin>>x>>a>>b>>c>>d;cout<<fixed <<setprecision(7)<<x*(x*(a*x+b)+c)+d;return 0;}点击查看AC 代码:温度表达转化#include<iostream>#include<iomanip>using namespace std;int main(){double f;cin>>f;cout<<fixed <<setprecision(5)<<(f-32)/9*5;return 0;}点击查看AC 代码:与圆相关的计算#include<iomanip>int main(){double r,pi=3.14159,d,c,s;cin>>r;d=r*2;c=pi*2*r;s=pi*r*r;cout<<fixed <<setprecision(4)<<d;cout<<' '<<fixed <<setprecision(4)<<c;cout<<' '<<fixed <<setprecision(4)<<s;return 0;}点击查看AC 代码:计算并联电阻的阻值#include<iostream>using namespace std;#include<iomanip> //int main(){float r1,r2;cin>>r1>>r2;cout<<fixed <<setprecision(2)<<r1*r2/(r1+r2);return 0;}点击查看AC 代码第三节 标准数据类型第三节 标准数据类型:整型数据类型存储空间⼤⼩#include<iostream>using namespace std;//#include<iomanip> fixed<<setprecisionint main(){cout<<sizeof (int )<<' '<<sizeof (short )<<endl;return 0;}点击查看AC 代码:浮点型数据类型存储空间⼤⼩#include<iostream>using namespace std;//#include<iomanip> fixed<<setprecisionint main(){cout<<sizeof (float )<<' '<<sizeof (double )<<endl;return 0;}点击查看AC 代码:其他数据类型存储空间⼤⼩#include<iostream>using namespace std;//#include<iomanip> fixed<<setprecisionint main(){cout<<sizeof (bool )<<' '<<sizeof (char )<<endl;return 0;}点击查看AC 代码:浮点数向零舍⼊#include<iostream>using namespace std;//#include<iomanip> fixed<<setprecisionint main(){float a;int b;cin>>a;b=int (a);cout<<b<<endl;return 0;}点击查看AC 代码:打印ASCII 码#include<iostream>using namespace std;//#include<iomanip> fixed<<setprecisionint main(){char ch;cin>>ch;cout<<ch+0<<endl;return 0;}点击查看AC 代码:打印字符#include<iostream>using namespace std;//#include<iomanip> fixed<<setprecisionint main(){int n;cin>>n;cout<<char (n)<<endl;return 0;}点击查看AC 代码:整型与布尔型的转换#include<iostream>using namespace std;int main(){int n;bool bl;cin>>n;bl=bool (n);n=bl;cout<<n<<endl;return 0;}点击查看AC 代码:Hello,World!的⼤⼩#include<iostream>using namespace std;int main(){cout<<sizeof ("Hello, World!");return 0;}点击查看AC 代码第四节 数据输⼊输出第四节 数据输⼊输出:保留3位⼩数的浮点数#include<iostream>#include<iomanip>using namespace std;int main(){float a;cin>>a;cout<<fixed <<setprecision(3)<<a<<endl;return 0;}点击查看AC 代码:保留12位⼩数的浮点数#include<iostream>#include<iomanip>using namespace std;int main(){double a;cin>>a;cout<<fixed <<setprecision(12)<<a<<endl;return 0;}点击查看AC 代码:空格分隔输出#include<iostream>#include<iomanip>using namespace std;int main(){char a;int b;float c;double d;cin>>a>>b>>c>>d;cout<<a<<' '<<b<<' '<<fixed <<setprecision(6)<<c<<' '<<d<<endl; return 0;}点击查看AC 代码:输出浮点数#include<cstdio>using namespace std;int main(){double a;scanf("%lf",&a);printf("%lf\n%.5lf\n%e\n%g",a,a,a,a);return 0;}点击查看AC 代码:字符菱形#include<iostream>using namespace std;int main(){int flag=0,m=3;char ch;cin>>ch;for (int i=1;i<=2*m-1;i++){int tmpi=i>m?2*m-i:i;for (int j=1;j<m+1-tmpi;j++)cout<<' ';for (int j=1;j<=2*tmpi-1;j++)cout<<ch;cout<<'\n';}return 0;}点击查看AC 代码第五节 顺序结构实例第五节 顺序结构实例:计算浮点数相除的余#include<iostream>using namespace std;#include<cmath>int main(){double a,b;cin>>a>>b;int k=floor(a/b);cout<<a-k*b;return 0;}点击查看AC代码:计算球的体积#include<iostream>#include<iomanip>using namespace std;const double pi=3.14;int main(){double r;cin>>r;cout<<fixed<<setprecision(2)<<4*pi/3*r*r*r<<endl;return0;}点击查看AC代码:反向输出⼀个三位数#include<iostream>using namespace std;int main(){int a;cin>>a;do{cout<<a%10;a/=10;}while(a);return0;}点击查看AC代码:⼤象喝⽔查#include<iostream>using namespace std;const double pi=3.14159;int main(){int h,r;cin>>h>>r;cout<<int(20000/(pi*r*r*h))+1;return0;}点击查看AC代码:计算线段长度#include<iostream>#include<cmath>#include<iomanip>using namespace std;int main(){double xa,ya,xb,yb;cin>>xa>>ya>>xb>>yb;cout<< fixed<<setprecision(3)<<sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb)); return0;}点击查看AC代码:计算三⾓形⾯积#include<iostream>#include<cmath>#include<iomanip>using namespace std;double jl(double x1,double y1,double x2,double y2){return sqrt((x1-x2)*(x1-x2)+(y2-y1)*(y2-y1));}int main(){double x1,y1,x2,y2,x3,y3,p,a,b,c,s;cin>>x1>>y1>>x2>>y2>>x3>>y3;a=jl(x1,y1,x2,y2);b=jl(x2,y2,x3,y3);c=jl(x1,y1,x3,y3);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));cout<<fixed <<setprecision(2)<<s<<endl; return 0;}点击查看AC 代码:等差数列末项计算#include<iostream>using namespace std;int main(){int a1,a2,n;cin>>a1>>a2>>n;cout<<a1+(n-1)*(a2-a1);return 0;}点击查看AC 代码:A×B 问题#include<iostream>using namespace std;#include<cmath>int main(){int a,b;cin>>a>>b;cout<<1ll*a*b;return 0;}点击查看AC 代码:计算2的幂#include<iostream>using namespace std;int main(){int n;cin>>n;long long m=1;for (int i=1;i<=n;i++)m*=2;cout<<m<<endl;return 0;}点击查看AC 代码:苹果和⾍⼦#include<iostream>using namespace std;int main(){int n,x,y,m;cin>>n>>x>>y;m=n-1.0*y/x;if (m<0)m=0;cout<<m<<endl;return 0;}点击查看AC 代码第三章 程序的控制结构第三章 程序的控制结构第⼀节 if 选择结构第⼀节 if 选择结构:判断数正负#include<iostream>using namespace std;int main(){int n;cin>>n;if (n>0)cout<<"positive";else cout<<(n==0?"zero":"negative")<<endl;}点击查看AC代码:输出绝对值#include<iostream>#include<iomanip>using namespace std;int main(){double a;cin>>a;cout<<fixed<<setprecision(2)<<(a>0?a:a*(-1)); return0;}点击查看AC代码:奇偶数判断#include<iostream>using namespace std;int main(){long a;cin>>a;cout<<(a%2?"odd":"even");return0;}点击查看AC代码:奇偶ASCII值判断#include<cstdio>int main(){if(getchar()%2)printf("YES");else printf("NO");return0;}点击查看AC代码:整数⼤⼩⽐较#include<iostream>using namespace std;int main(){long long a,b;cin>>a>>b;if(a>b)cout<<'>';else cout<<(a==b?'=':'<');return0;}点击查看AC代码:判断是否为两位数#include<iostream>using namespace std;int main(){short n;cin>>n;if(n>=10&&n<=99)cout<<1;else cout<<0;return0;}点击查看AC代码:收集瓶盖赢⼤奖#include<iostream>using namespace std;int main(){double a,b;if (a>=10||b>=20)cout<<1;else cout<<0;return 0;}点击查看AC 代码:判断⼀个数能否同时被3和5整除#include<iostream>using namespace std;int main(){long long n;cin>>n;if (n%3==0&&n%5==0)cout<<"YES"; else cout<<"NO";return 0;}点击查看AC 代码:判断能否被3,5,7整除#include<iostream>using namespace std;int main(){long long n;cin>>n;if (n%3==0&&n%5==0)cout<<"YES"; else cout<<"NO";return 0;}点击查看AC 代码:有⼀门课不及格的学⽣#include<iostream>using namespace std;int main(){long long n;cin>>n;if (n%3==0&&n%5==0)cout<<"YES"; else cout<<"NO";return 0;}点击查看AC 代码第⼆节 switch 语句第⼆节 switch 语句:晶晶赴约会#include<iostream>using namespace std;int main(){int n;cin>>n;if (n==1||n==3||n==5)cout<<"NO"; else cout<<"YES";return 0;}点击查看AC 代码:骑车与⾛路#include<iostream>using namespace std;int main(){double x,b,w;cin>>x;b=27+23+x/3;w=x/1.2;if (w>b)cout<<"Bike";else cout<<(w==b?"All":"Walk");return0;}点击查看AC代码:分段函数#include<iostream>#include<iomanip>using namespace std;int main(){float x,y;cin>>x;if(x<5)y=2.5-x;else if(x>=10)y=x/2-1.5;else y=2-1.5*(x-3)*(x-3);cout<<fixed<<setprecision(3)<<y;return0;}点击查看AC代码:计算邮资#include<iostream>using namespace std;int main(){int n,p;char a;cin>>n>>a;p=n>1000?(8+(n-1000+499)/500*4):8;p+=(a=='y'?5:0);cout<<p;return0;}点击查看AC代码:最⼤数输出#include<iostream>using namespace std;int main(){int a,b,c,maxn;cin>>a>>b>>c;maxn=a;if(maxn<b)maxn=b;if(maxn<c)maxn=c;cout<<maxn;return0;}点击查看AC代码:三⾓形判断#include<iostream>using namespace std;int main(){int a,b,c;cin>>a>>b>>c;if(a+b>c&&a+c>b&&b+c>a)cout<<"yes";else cout<<"no";return0;}点击查看AC代码:判断闰年#include<iostream>using namespace std;int main(){int n;cin>>n;cout<<(n%100==0&&n%400!=0||n%4!=0?'N':'Y'); return0;}点击查看AC代码:点和正⽅形的关系#include<iostream>using namespace std;int main(){long long x,y;cin>>x>>y;if((-1<=x)&&(x<=1)&&(-1<=y)&&(y<=1))cout<<"yes";else cout<<"no";return0;}点击查看AC代码:简单计算器#include<iostream>using namespace std;int main(){int a,b;char c;cin>>a>>b>>c;switch(c){case'+':cout<<a+b;break;case'-':cout<<a-b;break;case'*':cout<<a*b;break;case'/':if(b==0)cout<<"Divided by zero!";else cout<<a/b;break;default:cout<<"Invalid operator!";}return0;}点击查看AC代码:求⼀元⼆次⽅程#include<iostream>#include<cmath>#include<iomanip>using namespace std;int main(){double a,b,c;cin>>a>>b>>c;double det;det=b*b-4*a*c;if(det<-1e-12){cout<<"No answer!";}else{if(fabs(det)<1e-12){cout<<"x1=x2="<<fixed<<setprecision(5)<<-b/(2*a);}else{double x1,x2;x1=(-b+sqrt(det))/2/a;x2=(-b-sqrt(det))/2/a;if(x1<x2){cout<<"x1="<<fixed<<setprecision(5)<<x1<<";x2="<<fixed<<setprecision(5)<<x2; }else{cout<<"x1="<<fixed<<setprecision(5)<<x2<<";x2="<<fixed<<setprecision(5)<<x1; }}}return0;}点击查看AC代码第四章 循环结构的程序设计第四章 循环结构的程序设计第⼀节 for 语句第⼀节 for 语句:求平均年龄#include<iostream>#include<iomanip>using namespace std;int main(){int n,b[1000],sum=0;cin>>n;for (int i=1;i<=n;i++){cin>>b[i];sum+=b[i];}cout<<fixed <<setprecision(2)<<1.0*sum/n; return 0;}点击查看AC 代码:均值#include<iostream>#include<iomanip>using namespace std;int main(){int n;cin>>n;double a[1000],sum=0;for (int i=1;i<=n;i++){cin>>a[i];sum+=a[i];}cout<<fixed <<setprecision(4)<<sum/n; return 0;}点击查看AC 代码:求整数的和与均值#include<iostream>#include<iomanip>using namespace std;int main(){int n,a[10001],sum=0;cin>>n;for (int i=1;i<=n;i++){cin>>a[i];sum+=a[i];}cout<<sum<<' '<<fixed <<setprecision(5)<<1.0*sum/n; return 0;}点击查看AC 代码:最⾼的分数#include<iostream>using namespace std;int main(){int n,a[1000],maxn=-1;cin>>n;for (int i=1;i<=n;i++){cin>>a[i];if (a[i]>maxn)maxn=a[i];}cout<<maxn;return 0;}点击查看AC代码:最⼤跨度值#include<iostream>using namespace std;int main(){int n,a[1001],maxn=-1,minn=1001;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];if(minn>a[i])minn=a[i];if(maxn<a[i])maxn=a[i];}cout<<maxn-minn;return0;}点击查看AC代码:奥运奖牌计数#include<iostream>using namespace std;int main(){int n,a,b,c,suma=0,sumb=0,sumc=0,sum;cin>>n;for(int i=1;i<=n;i++){cin>>a>>b>>c;suma+=a,sumb+=b,sumc+=c;}sum=suma+sumb+sumc;cout<<suma<<''<<sumb<<''<<sumc<<''<<sum; return0;}点击查看AC代码:奇数求和#include<iostream>using namespace std;int main(){int m,n,sum=0;cin>>m>>n;for(int i=m;i<=n;i++)if(i%2)sum+=i;cout<<sum;return0;}点击查看AC代码:满⾜条件的数累加#include<iostream>using namespace std;int main(){int m,n,sum=0;cin>>m>>n;for(int i=m;i<=n;i++)if(!(i%17))sum+=i;cout<<sum;return0;}点击查看AC代码:整数的个数#include<iostream>using namespace std;int main(){int n,m,sum1=0,sum5=0,sum10=0;cin>>n;for(int i=1;i<=n;i++){cin>>m;if(m==1)sum1++;if(m==5)sum5++;if(m==10)sum10++;}cout<<sum1<<'\n'<<sum5<<'\n'<<sum10; return0;}点击查看AC代码:与指定数字相同的数的个数#include<iostream>using namespace std;int main(){int n,x,m,sum=0;cin>>n>>m;for(int i=1;i<=n;i++){cin>>x;if(x==m)sum++;}cout<<sum;return0;}点击查看AC代码:乘⽅计算#include<iostream>using namespace std;int main(){int a,n,ans=1;cin>>a>>n;for(int i=1;i<=n;i++)ans*=a;cout<<ans;return0;}点击查看AC代码:⼈⼝增长#include<iostream>#include<iomanip>using namespace std;int main(){double a,n,ans=1;cin>>a>>n;for(int i=1;i<=n;i++)ans*=1.001;cout<<fixed<<setprecision(4)<<ans*a; return0;}点击查看AC代码:菲波那契数#include<iostream>using namespace std;int main(){int k,a[50];cin>>k;a[1]=1,a[2]=1;for(int i=3;i<=k;i++)a[i]=a[i-1]+a[i-2];cout<<a[k];return0;}点击查看AC代码:鸡尾酒疗法#include<iostream>#include<cmath>#include<cstdio>using namespace std;int main(){int n;double z,y,z1,y1,jd=1e-6;double new1,old;cin>>n;cin>>z>>y;old=y/z; //这个计算要放在循环外⾯才⾏for(int i=0;i<n-1;i++){cin>>z1>>y1;new1=y1/z1;old=y/z; //这个计算要放在循环外⾯才⾏if(new1-old>0.05-jd) cout<<"better"<<endl;else if((old-new1)>0.05-jd) cout<<"worse"<<endl;else cout<<"same"<<endl;}return0;}点击查看AC代码:救援#include<iostream>#include<cmath>using namespace std;int main(){double n,a,b,c,sum=0;int s;cin>>n;for(int i=1;i<=n;i++){cin>>a>>b>>c;sum+=sqrt(a*a+b*b)/25+1.5*c;}s=ceil(sum);cout<<s;return0;}点击查看AC代码:津津的储蓄计划#include<iostream>using namespace std;int main(){int a[13],b=0,sum=0,i;for(i=1;i<=12;i++)cin>>a[i];for(i=1;i<=12;i++){b+=300-a[i];if(b<0)break;sum+=b/100*100;b%=100;}if(i==13)cout<<1.2*sum+b;else cout<<-i;return0;}点击查看AC代码:药房管理#include<iostream>using namespace std;int main(){int n,m,a,ans=0;cin>>n>>m;for(int i=1;i<=m;i++){cin>>a;if(n>=a)n-=a;else ans++;}cout<<ans;return0;}点击查看AC代码:正常⾎压#include<iostream>using namespace std;int main(){int n,a,b,ans=0,maxn=-1;cin>>n;for(int i=1;i<=n;i++){cin>>a>>b;if(90<=a&&a<=140&&60<=b&&b<=90){ ans++;if(ans>maxn)maxn=ans;}else ans=0;}cout<<maxn;return0;}点击查看AC代码:统计满⾜条件的4位数#include<iostream>using namespace std;int main(){int n,a,a1,a2,a3,a4,ans=0;cin>>n;for(int i=1;i<=n;i++){cin>>a;a1=a%10;a2=a/10%10;a3=a/100%10;a4=a/1000;if(a1>a2+a3+a4)ans++;}cout<<ans;return0;}点击查看AC代码:求分数序列和#include<iostream>#include<iomanip>using namespace std;int main(){float n,p,q,tmp,ans=0;p=1,q=2,ans=q/p;cin>>n;for(int i=2;i<=n;i++){tmp=q;q+=p;p=tmp;ans+=q/p;}cout<<fixed<<setprecision(4)<<ans; return0;}点击查看AC代码:计算分数加减表达式的值#include<iostream>#include<iomanip>using namespace std;int main(){int n;double s;cin>>n;for(int i=1;i<=n;i++)s+=(i%2?1.0/i:-1.0/i);cout<<fixed<<setprecision(4)<<s; return0;}点击查看AC代码:余数相同问题#include<iostream>using namespace std;int main(){int a,b,c,ans;cin>>a>>b>>c;for(int i=2;i<=a||a<=b||a<=c;i++)if(a%i==b%i&&a%i==c%i){ans=i;break;}cout<<ans;return0;}点击查看AC代码:分苹果#include<iostream>using namespace std;int main(){int n;cin>>n;cout<<n*(n+1)/2;return0;}点击查看AC代码:求⼩数的某⼀位#include<iostream>using namespace std;int main(){int a,b,c,ans;cin>>a>>b>>c;a%=b;for(int i=1;i<=c;i++){ans=a*10/b;a=a*10%b;}cout<<ans;return0;}点击查看AC代码:计算星期⼏#include<iostream>#include<cmath>#include<cstdio>using namespace std;int main(){int a,b,xh=0,sum=1;//循环int yx;//有效的次⽅cin>>a>>b;a%=7;for (int i=1;i<=b;i++){sum=sum*a;if ((sum%7==a)&&i>1){xh=i-1;break ;}}if (xh>1){yx=int (pow(a,b%xh))%7;}else{yx=sum%7;}switch (yx){case 1:cout<<"Monday";break ; case 2:cout<<"Tuesday";break ; case 3:cout<<"Wednesday";break ; case 4:cout<<"Thursday";break ; case 5:cout<<"Friday";break ; case 6:cout<<"Saturday";break ; case 0:cout<<"Sunday";break ; }return 0;}点击查看AC 代码:幂的末尾#include<iostream>#include<iomanip>using namespace std;int main(){int a,b,ans;cin>>a>>b;ans=a%1000;for (int i=1;i<b;i++)ans=ans*a%1000;cout<<setfill('0')<<setw(3)<<ans; return 0;}点击查看AC 代码第⼆节 while 语句第⼆节 while 语句:球弹跳⾼度的计算#include<iostream>using namespace std;int main(){double h0,n=10,s,h;cin>>h0;s=-h0,h=h0;for (int i=1;i<=n;i++){s+=h*2;h/=2;}cout<<s<<'\n'<<h;return 0;}点击查看AC 代码:⾓⾕猜想#include<iostream>using namespace std;int main(){int n;cin>>n;while(n!=1){if(n%2){cout<<n<<"*3+1=";n=n*3+1;cout<<n<<'\n';}else{cout<<n<<'/'<<2<<'=';n/=2;cout<<n<<'\n';}}cout<<"End";return0;}点击查看AC代码:级数求和#include<iostream>using namespace std;int main(){double k,ans=0;long long n=1;cin>>k;while(ans<=k+(1e-16)){ans+=1.0/n++;}cout<<n-1;return0;}点击查看AC代码:分离整数的各个数#include<iostream>using namespace std;int main(){int n;cin>>n;cout<<n%10;n/=10;while(n){cout<<''<<n%10;n/=10;}return0;}点击查看AC代码:数字反转#include<iostream>using namespace std;int main(){//余数⾃带符号,如(-31)%10=-1 int n,ans=0;cin>>n;while(n){ans=ans*10+n%10;n/=10;}cout<<ans;return0;}点击查看AC代码#include<iostream>using namespace std;int main(){int n,k,ans=0;cin>>n>>k;if (n%19)cout<<"NO";else{while (n){if (n%10==3)ans++;n/=10;}if (ans==k)cout<<"YES";else cout<<"NO";}return 0;}点击查看AC 代码第三节 do-while 语句第三节 do-while 语句:球弹跳⾼度的计算//1085:球弹跳⾼度的计算#include<iostream>using namespace std;int main(){double h,ans,i;cin>>h;ans=-h;i=0;do{ans+=h*2;h/=2;i++;}while (i<10);cout<<ans<<endl<<h;return 0;}点击查看AC 代码:⾓⾕猜想//1086:⾓⾕猜想#include<iostream>using namespace std;int main(){int n;cin>>n;do{cout<<n;if (n%2){cout<<"*3+1=";n=n*3+1;}else{cout<<"/2=";n/=2;}cout<<n<<endl;}while (n!=1);cout<<"End"<<endl;return 0;}点击查看AC 代码:级数求和#include<iostream> using namespace std;int main(){double s=0;int k,n=0;cin>>k;do{n++;s+=1.0/n;}while(s-k<1e-12);cout<<n;return0;}点击查看AC代码:分离整数的各个数//1088:分离整数的各个数#include<iostream> using namespace std;int main(){int n;cin>>n;do{cout<<n%10<<'';n/=10;}while(n);return0;}点击查看AC代码:数字反转//1089:数字反转#include<iostream> using namespace std;int main(){int n,ans=0,f=1;cin>>n;if(n<0)f=-1,n=-n;do{ans=ans*10+n%10; n/=10;}while(n);ans*=f;cout<<ans;return0;}点击查看AC代码:含k个3的数//1090:含k个3的数#include<iostream> using namespace std;int main(){int n,k;cin>>n>>k;do{if(n%10==3)k--;n/=10;}while(n);if(k)cout<<"NO";else cout<<"YES"; return0;}点击查看AC代码第四节循环嵌套using namespace std;long long a[100];int main(){int n;long long sum=0;cin>>n;a[0]=1;for(int i=1;i<=n;i++){a[i]=a[i-1]*i ;sum+=a[i];}cout<<sum;return0;}点击查看AC代码:求出e的值#include<iostream>#include<iomanip>using namespace std;double a[1000];int main(){double n, sum=1;cin>>n;a[0]=1;for(int i=1;i<=n;i++){a[i]=a[i-1]/i ;sum+=a[i];}cout<<fixed<<setprecision(10)<<sum; return0;}点击查看AC代码:计算多项式的值#include<iostream>#include<cmath>#include<iomanip>using namespace std;int main(){double x,b;int n;cin>>x>>n;b=(pow(x,n+1)-1)/(x-1);cout<<fixed<<setprecision(2)<<b; return0;}点击查看AC代码:与7⽆关的数#include<iostream>using namespace std;bool cont(int n){while(n){if(n%10==7)return true;n/=10;}return false;}int main(){int n,sum=0;cin>>n;for(int i=1;i<=n;i++)if(!cont(i)&&(i%7))sum+=i*i;cout<<sum;return0;}。
《C语言程序设计》教案教案一:《C语言程序设计》入门教学一、教学目标:1.了解C语言的基础知识和程序设计的基本原理;2.掌握C语言的基本语法和常见的数据类型;3.通过编写简单的C语言程序,提高学生的实践能力和解决问题的能力。
二、教学内容:1.第一章:C语言概述1.1C语言的发展历程;1.2C语言的特点和应用领域;1.3C语言的编译过程;1.4编写第一个C语言程序。
2.第二章:C语言程序结构2.1C语言程序的基本结构;2.2注释和预处理指令;2.3 main函数的定义和调用;2.4C语言程序的编译和运行。
3.第三章:数据类型和变量3.1基本数据类型的介绍和使用;3.2常量和变量的定义;3.3变量的赋值和运算;3.4数据类型转换和类型检查。
4.第四章:运算符和表达式4.1算术运算符和表达式;4.2关系运算符和表达式;4.3逻辑运算符和表达式;4.4条件运算符和表达式。
5.第五章:控制语句5.1顺序结构;5.2 分支结构(if语句、switch语句);5.3 循环结构(while语句、do-while语句、for语句);5.4 跳转语句(break语句、continue语句、goto语句)。
6.第六章:函数和递归6.1函数的定义和调用;6.2函数的参数和返回值;6.3递归函数的设计和实现;6.4标准库函数的使用。
三、教学方法:1.理论与实践相结合,讲解C语言的基本概念和语法规则,并通过编写代码实例进行实践;2.设置练习题目,帮助学生巩固所学知识;3.针对学生的不同程度,采用个别指导、小组合作等方式进行教学。
四、教学评估:1.课堂练习:通过解答问题、编写代码等方式,检测学生对知识点的理解和掌握情况;2.课后作业:布置练习题目,要求学生独立完成,并对学生的作业进行批改和评价;3.期末考试:采用笔试形式,考察学生对整个课程的掌握程度。
五、教学资源:1.教材:《C语言程序设计》;2.电子资源:包括编译器软件、IDE等,用于学生的编程实践。
第一部分国家二级知识复习资料第一章C语言基本知识【考点1】C程序用C语言编写的程序称为C语言源程序,源程序文件的后缀名为‚.c‛。
源程序经编译后生成后缀名为‚.obj‛的目标文件,再把目标文件与各种库函数连接起来,生成‚.exe‛可执行文件。
C语言有三种基本结构:顺序结构、选择结构、循环结构。
【考点2】main函数又称主函数,是C程序的入口。
main后面跟一对小括号和一对花括号,花括号括起来的部分称为main函数的函数体。
一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位臵如何。
每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。
【考点3】存储形式计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。
二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。
数据的存放位臵就是它的地址。
【考点4】注释是对程序的说明,可出现在程序中任意合适的地方,注释从‚/*‛开始到最近一个‚*/‛结束,其间任何内容都不会被计算机执行,注释不可以嵌套。
【考点5】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。
一行内可写多条语句,一个语句可写在多行上。
【考点6】标识符是标识名字的有效字符序列,可以理解为C程序中的单词。
标识符的命名规则是:(1)标识符只能由字母、数字和下划线组成,字母区分大小写。
(2)标识符的第一个字符必须是字母或下划线,不能为数字。
C语言标识符分如下3类(1)关键字。
它们在程序中有固定的含义,不能另作他用。
如int、for、switch等。
(2)预定义标识符。
预先定义并具有特定含义的标识符。
如define、include 等。
(3)用户标识符。
用户根据需要定义的标识符,符合命名规则且不与关键字相同。
【考点7】常量与变量常量是指在程序运行过程中,其值不能改变的量。
大一c语言程序课程设计一、课程目标知识目标:1. 理解C语言程序设计的基本概念,掌握数据类型、变量、运算符、表达式等基础知识;2. 学会使用顺序结构、分支结构、循环结构进行程序设计;3. 掌握数组和函数的使用,理解指针的概念及其应用;4. 了解结构体、联合体和枚举类型的使用。
技能目标:1. 能够运用C语言编写简单的程序,解决问题;2. 能够分析问题,运用逻辑思维进行程序设计;3. 能够阅读和理解他人编写的C语言程序;4. 能够对程序进行调试和优化,提高程序效率。
情感态度价值观目标:1. 培养学生的编程兴趣,激发学习积极性;2. 培养学生的团队合作意识,学会与他人共同解决问题;3. 培养学生的创新精神,敢于尝试新思路和方法;4. 培养学生严谨的学术态度,遵循编程规范。
课程性质:本课程为大一C语言程序设计的基础课程,旨在使学生掌握C语言的基本知识和编程技能,为后续专业课程打下坚实基础。
学生特点:大一学生刚接触编程,对编程知识有一定好奇心,但缺乏实际操作经验。
教学要求:结合学生特点,注重理论与实践相结合,通过案例分析和实际操作,使学生熟练掌握C语言编程技巧。
在教学过程中,注重培养学生的编程兴趣和创新能力,提高学生分析问题和解决问题的能力。
将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。
二、教学内容1. C语言概述:介绍C语言的发展历程、特点和应用领域,理解编程的基本概念。
相关教材章节:第一章2. 数据类型与运算符:讲解基本数据类型、变量定义、常量声明,运算符及其优先级。
相关教材章节:第二章3. 顺序结构程序设计:学习基本输入输出函数,编写简单的顺序结构程序。
相关教材章节:第三章4. 分支结构程序设计:介绍if语句、switch语句,学会编写分支结构程序。
相关教材章节:第四章5. 循环结构程序设计:讲解for循环、while循环、do-while循环,掌握循环结构编程。
相关教材章节:第五章6. 数组:介绍一维数组、二维数组的使用,学会存储和操作批量数据。
pascal语法2005年1月27日 09:45 作者:不详来源:中国烟机备件网第一章、pascal介绍一、pascal的基本语法单位1、基本符号A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^注意:pascal语言除了能使用以上规定的基本符号外,不得使用任何其它符号。
2、保留字AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DIWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,LABEL,MOD,NIL,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEA T,SET,THEN,TO,TYPE,UNTIL,V AR,WHILE,WITH。
注意:所起的文件名不能与保留字相同。
3、标识符以字母打头的字母数字串,长度小于等于8。
标准标识符(共三十九个):标准常量:false,true,maxint标准类型:integer,real,char,boolean,text标准文件:input,output标准函数:abs,arctan,chr,cos,eof,eoln,exp,ln,odd,ord,ored,round,sin,sqr,sqrt,succ,trunc标准过程:get,new,pack,page,put,read,readln,reset,rewrite,unpack,write, writeln二、程序结构1、由三大部分组成:程序首部,说明部分,语句部分。
PROGRAM 程序名(input,output);{……} 解释CONSTpi=3.14159;V ARr,l,s:real;BEGINwrite('input r:');read(r);l:=2*pi*r;write('l=',l,'s=',s);END;2、大量使用标点符号,保留字后不加标点符号(END除外)。
第二章java基本语法§。
1 java程序的构成前言:java语言源程序采用有效的16bit双字节字符编码标准(uni code)。
Java程序构成分物理构成和逻辑构成。
逻辑构成是基于信息组织的角度,而物理构成是基于程序组成的角度•§2.1。
1逻辑构成程序头包的引用:主要是指引用jdk软件包自带的包,也可以java源程序逻辑构成是自己定义的类。
引用后程序体中就可以自由应用包中的类的方法和属性等。
类的定义:java语言源程序中可以有多个类的定义,但必须有一个主类,此主类是java程序运行的入口点.在应用程序中,主类为包含main方法的类;在applet中,主类为用户自定义的系统applet类的扩展类•在java语言源程序中,主类的名字同文件名一致。
注:类的定义有包括类头声明和类体定义。
类体中包括属性(成员变量)声明和方法(行为)描述。
【例2.1】下面是一个应用程序,也是一个applet,既可以在命令行下运行,也可以嵌到html网页中用appletviewer 命令运行。
程序如下:// 程序文件名为welcomeapplet.java 注释语句import java 。
applet。
* ;import java.awt 。
*; 卜引入包import java.awt 。
event.* ;public class welcomeapplet exte nds applet impleme nts action listener {主类类头public void action performed (actionevent e) {txtdisp.settext (txtname 。
gettext() + "欢迎你来到 java 世界!”; }public static void main (string args[]){frame f=new frame( 欢迎");f.addwindowlistener(new windowadapter()) {public void wi ndowclosi ng(wi ndoweve nt ev {system o exit (0);} }welcomeapplet a=new welcomeapplet ();a 。
第二章顺序结构程序
顺序结构
前面的简单程序已体现出处理问题步骤、思路的顺序关系,这就是顺序结构程序。
[例1.6]交换两个变量的值:由键盘输入两个正整数A和B,编程交换这两个变量的值。
解:交换两个变量的值,可以想象成交换两盒录音带(称为A和B)的内容,可以按以下步骤处理:
步骤①:拿一盒空白录音带C为过渡,先将A翻录至C;
步骤②:再将B翻录至A;
步骤③:最后将C翻录至B。
这样操作,可达到题目要求。
Pascal程序:
Program Exam16;
Var a,b,c : integer;
Begin
Write(‘A,B=’);
Readln(a,b);
C:= A; {等价于步骤1}
A := B; {等价于步骤2}
B := C; {等价于步骤3}
Writeln(A,B);
End.
[例1.7] 分钱游戏。
甲、乙、丙三人共有24元钱,先由甲分钱给乙、丙两人,所分给的数与各人已有数相同;接着由乙分给甲、丙,分法同前;再由丙分钱给
甲、乙,分法亦同前。
经上述三次分钱之后,每个人的钱数恰好一样多。
求原先各人的钱数分别是多少?
解:设甲、乙、丙三人的钱数分别为A,B,C。
用倒推(逆序)算法,从最后结果入手,按反相顺序,分步骤推算出每次各人当时的钱数:(在每个步骤中,各人钱数分别存在A、B、C中)
步骤①: A=8 B=8 C=8 {这是最后结果的钱数,三人都一样多 }
步骤②: A=A/2 (=4) B=B/2 (=4) C=A+B+C(=16) { A,B未得到丙分给的钱时,只有结果数的一半;C应包含给A,B及本身数三者之和 }
步骤③: A=A/2 (=2) C=C/2 (=8) B=A+B+C(=14) {A,C未得到乙分给的钱时,只有巳有数的一半;B应包含给A,C及本身数三者之和 }
步骤④: B=B/2 (=7) C=C/2 (=4) A=A+B+C(=13)
C未得到甲分给的钱时,只有巳有数的一半;A应包含给B,C及本身数三者之和 }
步骤⑤: 输出A(=13)B(=7)C(=4){此时的A,B,C 就是三人原先的钱数 }
Pascal程序:
Program Exam17;
Var a,b,c: integer;
Begin
a:=8; b:=8; c:=8; {对应于步骤①}
a:=a div 2; b:=b div 2; c:=a+b+c; {对应于步骤②}
a:=a div 2; c:=c div 2; b:=a+b+c; {对应于步骤③}
b:=b div 2; c:=c div 2; a:=a+b+c; {对应于步骤④}
Writeln('a=',a,' ': 4,'b=',b,' ': 4,'c=',c) ; {输出} Readln
细心观察,会发现本程序语句的顺序很关键。
此例用反推顺序(逆序),按步骤正确推算出各变量的值。
当然,有的问题可按正序步骤编程,这类程序都称为顺序程序。
本程序Writeln语句的输出项含有( ' ' : 4 ),这里的冒号用来指定该项显示所占宽度,此处是输出4个空格即(空格项占4格)。
[例1.8] 有鸡兔同笼,头30,脚 90,究竟笼中的鸡和兔各有多少只?
解:设鸡为J只,兔为T只,头为H,脚为F,则:
J+T=30 ①
2*J+4*T=90 ②
解此题暂不必采用数学上直接解方程的办法,可采用“假设条件与逻辑推理”的办法:
假设笼中30 个头全都是兔,那么都按每头4只脚计算,总脚数为(4*H),与实际脚数 ( F )之差为(4*H—F),如果这个差=0,则笼中全是兔(即鸡为0只);如果这个差值 >0,说明多计算了脚数,凡是鸡都多给算了两只脚,用它除以2就能得到鸡的只数,处理步骤为:
① J=(4*H—F)/2 {先用脚数差值除以2算出鸡的只数}
② T=H—J {再用总头数减鸡数算出免的只数}
按此方法,这两步运算必须注意先后顺序才会符合运算逻辑。
Pascal程序:
Program Exam18;
Const H=30; {常量说明 }
F=90;
Var J,T: byte; {为字节类型的整数 }
J:=(4*H-F) div 2; {整除运算 }
T:=H-J
Writeln ('J=',J,' ': 6,'T= ',T ) ;
Readln
End.
本程序中H,F为常量,变量J,T为byte类型,属于整数类型。
上机实践
1.完成例1.6。
交换两个变量的值:由键盘输入两个正整数A和B,编程交换这
两个变量的值
完成例1.7。
分钱游戏:甲、乙、丙三人共有24元钱,先由甲分钱给乙、丙两人,所分给的数与各人已有数相同;接着由乙分给甲、丙,分法同前;再由丙分钱给甲、乙,分法亦同前。
经上述三次分钱之后,每个人的钱数恰好一样多。
求原先各人的钱数分别是多少?
完成例1.8。
鸡兔同笼:有鸡兔同笼,头30,脚 90,究竟笼中的鸡和兔各有多少只?
2.输入一个字符,求其序号(ord)、前导(pred)、后继(succ)
3.输入三个字符,然后按输入字符次序输出这三个字符(一行),再输出每个字
符的序号(一行,求字符序号,用ord函数,如ord(a)),最后按与输入字符相反的次序输出这三个字符(一行)。
4.输入一个三位整数,将它反向输出。
例如输入127,输出应为721。
5.从键盘上读入小写的“pascal”,利用chr()和ord(),输出大写的“PASCAL”。
6.从键盘上读入长方形的边长a,b(实型),计算它的面积和周长,并分两行输
出。