C++程序设计源代码大全

合集下载

C#100例经典源代码

C#100例经典源代码

C#语言100例经典源代码程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){inti,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for(k=1;k<5;k++){if(i!=k&&i!=j&&j!=k)/*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){longinti;intbonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;elseif(i<=200000)bonus=bonus1+(i-100000)*0.075;bonus=bonus2+(i-200000)*0.05;elseif(i<=600000)bonus=bonus4+(i-400000)*0.03;elseif(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

C程序设计(谭浩强)_源码

C程序设计(谭浩强)_源码
scanf("%f",&x);
if(x<0) y=-1;
else if(x==0) y=0;
else y=1;
printf("y's number is:%5.1f\n",y);
}
●.按照考试成绩等级输出百分制分数段,A等为85分以上,B等为70分-84分,C等为60-69,D等为60分以下(分别用if和switch)
printf("%c",ch);
}
printf("\n");
}
●.要求输入圆柱的半径,圆柱的高,并计算输出圆周长,圆面积,圆柱表面积,圆柱体积,并有文字说明
#include<stdio.h>
#define N 3.14
void main()
{
float r,h,l,s,b,t;
{
if(x%4==0&&x%100!=0||x%400==0)
printf("%d ",x);
x=x+1;
}
}
for语句
#include<stdio.h>
void main()
{
int x,t=0;
for(x=2000;x<=2100;x++)
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
max=a[0];
for(i=1;i<=9;i++)
if(a[i]>max)

C语言程序设计经典100例(全)

C语言程序设计经典100例(全)

103f程序1】【题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

C 经典程序代码大全

C 经典程序代码大全

C 经典程序代码大全#include const float PI=3.1416; //声明常量(只读变量)PI为3.1416 float fCir_L(float); //声明自定义函数fCir_L()的原型 float fCir_S(float); //声明自定义函数fCir_S()的原型 //以下是main()函数 main(){ float r,l,s; //声明3个变量 cout>r; //键盘输入l=fCir_L(r); //计算圆的周长,赋值给变量l s=fCir_S(r); //计算圆的面积,赋值给变量s cout=0.0)//如果参数大于0,则计算圆的周长 z=2*PI*x; return(z); //返回函数值 } //定义计算圆的面积的函数fCir_S() float fCir_S(float x){ float z=-1.0; //声明局部变量 if (x>=0.0)//如果参数大于0,则计算圆的面积 z=PI*x*x; return(z); //返回函数值 } /* Program: P1-2.CPP Written by: Hap Date written: 02:11:10 */#include void main(void){ double s1,s2,s3; s1=1.5; /* 对变量s1赋值*/ cout main(){ double r=1.0; cout>r; //键盘输入 l=2*3.1416*r; //计算圆的周长,赋值给变量l cout //包含iostream.h头文件 void main(){ //输出字符常量.变量和字符串 char c1= A ; cout //包含iostream.h头文件 main(){ //输入输出字符 char c; cin>>c; cout>n; cout>x; cout>n; cout>c>>n>>x; cout //包含iostream.h头文件 main() { //声明整型变量 int a,b; //从键盘上为整型变量赋值cout>a; cout>b; //整型数的算术运算 cout //包含iostream.h 头文件 main(){ //声明变量,并初始化 int a=010,b=10,c=0X10; //以进制形式显示数据 cout>a; cout>b; cout>c; cout //包含iostream.h头文件 #include // iomanip.h头文件包含setprecision()的定义 main(){ //float型变量的声明.输入.计算和输出 float fx,fy; cout>fx; cout>fy; cout>dx; cout>dy; cout //包含iostream.h 头文件 main(){ //字符类型变量的声明 char c1= A ; char c2; //字符数据的运算及输出 c2=c1+32; cout>c1>>c2; cout //包含iostream.h头文件 main(){ char c1= \a ,TAB= \t ; //阵铃一声 cout //包含iostream.h头文件 main(){ //声明bool变量,并初始化 boolflag1=false,flag2=true; //输出布尔常量和变量 cout0; //存放关系运算结果 cout const double PI=3.1416; //声明常量(const变量)PI为3.1416 main(){ //声明3个变量 double r,l,s; //输入圆的半径 cout>r; //计算圆的周长 l=2*PI*r; cout main(){ //定义枚举类型,并指定其枚举元素的值 enum color { RED=3, YELLOW=6, BLUE=9 }; //声明枚举变量a和b,并为枚举变量a赋初值 enum color a=RED; color b; //合法,与C语言不同 // 输出枚举常量 cout const double PI=3.1416; //声明常量(const变量)PI为3.1416 main(){ //声明3个变量 double r=3,l,s; //计算圆的周长l=2*PI*r; cout main(){ //变量声明 char c; double x,y; //测试自增 cout main(){ int a=3, b=2; //输出关系表达式 coutb)=b)main(){ float a=3.5,b=2.1,c=0; cout=0 //显示a,b,c的值 cout main(){ //用 sizeof 计算各类种常量的字节长度 cout main(){ //声明变量语句中使用顺序运算 int x, y; //计算中使用顺序运算 x=50; y=(x=x-5, x/5); cout main(){ //测试表达式类型的转换 int n=100,m; double x=3.791,y; cout main(){ float a,b,s; cout>a>>b; //利用cin从键盘上为变量a,b 赋值 s=a; if (a main(){ int x,y; cout>x; if (x main(){ int a,b,c; int smallest; cout>a>>b>>c; if (a main() { int score; //从键盘上输入分数 cout>score; //用带else if的条件语句判断处理 if (score100){ cout=90)cout=80)cout=70)cout=60)cout main(){ int n; cout>n; if (n>=0 //输入数据 cout>a; cout>b; //找出较大值 Max=a>b?a:b; cout main(){ int a,b; //输入数据 cout>a; cout>b; //除法判断 if (b!=0 char c1; cin>>x>>c1>>y; //c1。

C语言程序设计例子

C语言程序设计例子

C语言程序设计例子题目:输入3个数abc,按大小顺序输出。

1.程序分析:利用指针方法。

2.程序源代码:/♦pointer*/#include "stdio-h11#include "conio.h”main(){iiit nl,ii2,n3;mt *pomter 1、*poiiiter2, *pomter3;pnntf(M please mput 3 numbei:nhn2,n3:H);scanfC%d%d、%cT,&iih&i2&n3);pomterl =&nl;pomter2=&n2;pomter3=&n3;if(nl>n2) swap(pomterLpointer2);if(nl>n3) swap(pomterLpointer3);if(n2>n3) swap(pomter2,pointer3);pnntf(M the sorted numbers are:%d,%d,%d\ir\nl,ii2,n3);getch();}swap(pl.p2)iiit *pl,*p2;{imp;p=*pl;*pl=*p2;*p2=p;}题目:编写input()和output()函数输入,输出5个学生的数据记录。

1.程序分析:2.程序源代码:#include "stdio-h11#include "conio.h”^define N 5stmct student{char num[6];char name[8];}stu[N];mput(stu)stmct student stu[];{intij;for(i=O;i<N;i-H-){pnntf(M\n please input %d of %d\n”,i+l,N);pnntf(M num: ”);scanf(H%s H,stu[i].num);pnntf(M name:");scanf(H%s H,stu [i].name);for(j=O;j<3j++){printf(M score %d・”j+l);scanf(,,%d,\&stu[i].score[j]);}prmtf(”\n”);}}print(stu)stmct student stu[];{intij;pnntf(M\nNo. Name Scol Sco2 Sco3\iT);fbr(i=O;i<N;i-H-){printf(M%-6s%-10s,\stu[i].num,stu[i].naine);for(j=O;j<3j++)pnntf(,,%-8d,\sni[i].scoielj]);pmitfCE);}}main(){mputQ;pnnt();getch();}题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

C程序设计源代码大全

C程序设计源代码大全

S2_1 #include<iostream>using namespace std;void main(){float a,b,c;cout<<"input a b c\n";cin>>a>>b>>c;if((a+b<c)||(b+c<a)||(a+c<b))cout<<"Not Triangle\n";elsecout<<"Triangle\n";}S2_2#include<iostream>using namespace std;void main(){int year;cout<<"Input year: ";cin>>year;if((year%4==0&&year%100!=0)||(year% 400==0)) cout<<year<<" is a leap year"<<'\n';elsecout<<year<<" is not a leap year"<<'\n';}S2_3#include<iostream>using namespace std;void main(){float a1, a2;char oper;float result;int flag=0;cout<<"请输入简单的运算式:\n"; cin>>a1>>oper>>a2;switch(oper){case'+':result=a1+a2;break;case'-':result=a1-a2;break;case'*':result=a1*a2;break;default:cout<<"输入错误的运算符!\n"; flag=1;}if(flag==0)cout<<a1<<oper<<a2<<"="<<result<<en dl; }S2_4#include<iostream>#include<math.h>using namespace std;void main(){float a,b,c,x1,x2;cout<<"请输入方程的3个系数a b c \n"; cin>>a>>b>>c;x1=(-b+sqrt(b*b-4*a*c))/2*a;x2=(-b-sqrt(b*b-4*a*c))/2*a;if(b*b-4*a*c<0)cout<<"无实根!\n";elsecout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;}S3_1#include<iostream>using namespace std;void main(){int x,y;for(x=1;x<=30;x++)for(y=1;y<=30;y++)if(x+y==30&&2*x+4*y==90) cout<<"鸡有1"<<x<<'\n'<<"兔有"<<y<<endl; }S3_2#include<iostream.h>void main(){int a0,a1,a2;int b;for(a2=1;a2<=9;a2++)for(a1=1;a1<=9;a1++)for(a0=1;a0<=9;a0++){b=100*a2+10*a1+a0;if(b==a2*a2*a2+a1*a1*a1+a0*a0*a0) cout<<b<<endl;}}S3_3#include<iostream.h>void main(){int a0,a1,a2;int b;for(b=100;b<=999;b++){a2=b/100;a1=(b/10)%10;a0=b%10;if(b==a0*a0*a0+a1*a1*a1+a2*a2*a2) cout<<b<<'\t';}}S3_4#include<iostream.h>void main(){int a,b,c;for(a=1;a<=36;a++)for(b=1;b<=36;b++)for(c=1;c<=36;c++)if(a+b+c==36&&a*4+b*2+c/2==36&&c %2==0)cout<<"男人"<<a<<'\n'<<"女人"<<b<<'\n'<<"小孩"<<c<<endl; }S3_5_1#include<iostream.h>void main(){int a;for(a=1;a<=599;a++){if((a%10==5||(a/10)%10==5||(a/10/10)% 10==5)&&(a%3==0)) cout<<a<<endl;}}S3_5_2#include<iostream.h> void main(){int a,b,c=0;cout<<"请输入整数:"; cin>>a;while(a){ b=a%10;c=c+b;a=a/10;}cout<<c<<endl;}S4_1#include<iostream.h> void main(){int a,b;int x,t;cout<<"请输入两个正整数:"; cin>>a>>b;x=a*b;if(a<b){t=a;a=b;b=t;}while(t=a%b){a=b;b=t;}cout<<"最大公约数:"<<b<<endl; cout<<"最小公倍数:"<<x/b<<endl; }S4_2#include<iostream.h>void main(){int a, b,c;cout<<"Input three number:"; cin>>a>>b>>c;for(int i=a;;i--)if(a%i==0&&b%i==0&&c%i==0) break;cout<<i<<endl;}S4_3#include<iostream.h>#include<math.h>void main(){int a;cout<<"请输入一个整数:"; cin>>a;for(int i=2;i<sqrt(a);i++)if(a%i==0)break;if(a%i!=0)cout<<a<<"是素数\n";elsecout<<a<<"不是素数\n";}S4_4#include<iostream.h>void main(){int a,b,c,x;cout<<"Input three number:";cin>>a>>b>>c;for(x=a;;x++)if(x%a==0&&x%b==0&&x%c==0) break;cout<<x<<endl;}S4_5#include<iostream.h>void main(){int a;for(a=100;a<=200;a++){for(int b=2;b<a;b++)if(a%b==0)break;if(a==b)cout<<a<<endl;}}S4_6# include <iostream> using namespace std; int main (){int n,i,sum;for(n=2;n<1000;n++) {//p=n/2;sum=0;for (i=1;i<n;i++) {if (n%i==0)sum =sum+i;}if (sum ==n)cout <<n<<endl;}return 0;}S5_1#include<iostream.h> void main(){int a=2,b=1 ,c=0;for(;b<=7;b++){ c+=a;a=a*10+2;}cout<<c<<endl;}S5_2#include<iostream.h> void main(){int a=2,b=1 ,c=0;for(;b<=7;b++){ c+=a;a=a*10+2;}cout<<c<<endl;}S5_3#include<iostream.h> #include <math.h> double x;int main(){cout<<"Input x :";cin>>x;double y1,y2=x;do{y1=y2;y2=2.0/3.0*y1+x/(3.0*y1*y1); }while(fabs(y1-y2)>=1e-5); cout <<"y="<<y2<<endl;return 0;}S5_4#include<iostream.h>void main(){float x;cout<<"Input x :";cin>>x;int n=1; float g=0;float t=x;do{g+=t;n++;t=-t*x*x/(2*n-1)/(2*n-2); }while(n<=10);cout<<g<<endl;}S6_1include<iostream.h> double abc(double x){double y;y=2*x*x+3*x+5;return y;}void main(){double a,b;a=abc(1);b=abc(1.2);cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; }S6_2#include<iostream.h> #include<math.h> float f(float x) {float y;y=x*x+3*x-4;return y;}float df( float x) {float y;y=2*x+3;return y;}void main(){float x0,x1;x1=0;do{x0=x1;x1=x0-f(x0)/df(x0);} while(fabs(f(x0))>=1e-5); cout<<"x="<<x1<<endl;}S6_3#include<iostream.h>#include<cmath>float f(float x){return x*x+3*x-4;}void main(){float x1,x2,x0;do{cout<<"请输入初值x1和x2: "; cin>>x1>>x2;}while(f(x1)*f(x2)>0); do{x0=(x1+x2)/2;if(f(x0)*f(x1)>0)x1=x0;elsex2=x0;}while(fabs(f(x0))>=1e-5);cout<<"x="<<x0<<endl;}S6_4#include<iostream.h>#include<cmath>float f(float x){return x*x+3*x-4;}void main(){float x1,x2,x0;do{cout<<"请输入初值x1和x2: "; cin>>x1>>x2;}while(f(x1)*f(x2)>0); do{x0=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));if(f(x0)*f(x1)>0)x1=x0;elsex2=x0;}while(fabs(f(x0))>=1e-5);cout<<"x="<<x0<<endl;}S7_1 #include<iostream.h>int prime(int x){for(int i=2;i<x/2;i++)if(x%i==0)return 0;return 1;}void main(){for(int x=100;x<=200;x++) {if(prime(x)==1)cout<<x<<'\t';}}S7_2#include<iostream.h>int prime(int num){for(int i=2;i<num/2;i++) if(num%i==0)return 0;return 1;}void main(){int n;cout<<"请输入一个整数n: "; cin>>n;for(int i=2;i<n/2;i++){if(n%i==0&&prime(i)==1) cout<<i<<'\t';}cout<<endl;}S7_3#include<iostream.h>int prime(int a){for(int i=2;i<a/2;i++)if(a%i==0)return 0;return 1;}void main(){int n;do{cout<<"输入一个不小于6的偶数: "; cin>>n;}while(n%2!=0||n<6);for(int i=2;i<n/2;i++){if(prime(i)==1&&prime(n-i)==1)cout<<n<<'='<<i<<'+'<<n-i<<'\n';}cout<<endl;}S7_4#include<iostream.h>int fun(int x){int a,b=1;while(x){a=x%10;b=b*a;x=x/10;}return b;}void main(){int n,mul;cout<<"请输入一个整数(输入0结束): "; cin>>n;while(n){mul=fun(n);cout<<n<<"的各位数之积为"<<mul<<endl; cout<<"请输入一个整数(输入0结束):"; cin>>n;}}S8_1#include<iostream.h>void main(){int a[6]={9,8,7,6,5,4};int i,j,t;int n=6;for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++){if (a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}for(i=0;i<n;i++)cout<<a[i]<<'\t';cout<<endl;}S8_2#include<iostream.h> void main(){int a[6]={9,8,7,6,5,4}; int i,j,min,t;int n=6;for(j=0;j<n-1;j++){min=j;for(i=j;i<n;i++)if(a[min]>a[i])min=i;t=a[min];a[min]=a[j];a[j]=t;}for(i=0;i<n;i++)cout<<a[i]<<'\t';cout<<endl;}S8_3#include<iostream.h>void main(){int a[10]={2,5,78,4,6,3,89,12,15,34}; int i,max;int n=10;max=0;for(i=0;i<10;i++){if(a[i]>a[max])max=i;}cout<<"max="<<a[max]<<" "<<"maxindex="<<max+1<<endl; }S8_4#include<iostream.h>void main(){int a[5]={8,16,5,14,1};int i,j,n=5;for(i=0;i<n/2;i++){ j=a[i];a[i]=a[n-1-i];a[n-1-i]=j;}for(i=0;i<n;i++)cout<<a[i]<<'\t';}S9_1#include<iostream.h>void main(){int i,j,row=0,colum=0,max;inta[4][4]={{5,12,23,56},{19,28,37,46},{-12, -34,6,8},{4,6,34,1}}; max=a[0][0];for(i=0;i<4;i++)for(j=0;j<4;j++)if(a[i][j]>max){max=a[i][j];row=i;colum=j;}cout<<"max="<<max<<",row="<<ro w<<",colum="<<colum<<endl;}S9_2#include<iostream.h>void main(){int i,j,k;int colum,saddle,max,flag=0;inta[4][4]={{5,12,23,56},{19,28,37,46},{-12, -34,-6,8},{4,6,34,10}}; for(i=0;i<4;i++){max=a[i][0];for(j=0;j<4;j++)if(a[i][j]>max){max=a[i][j];colum=j;}for(k=0;k<4;k++)if(a[k][colum]<max)max=a[k][colum];if(a[k][j]<max){flag=1;saddle=max;break;}}if(flag=1)cout<<"saddle="<<saddle<<",row="<<i<<",colum= "<<colum<<endl; elsecout<<"No Saddle!\n";}S9_3_1#include<iostream.h>void main(){int i,j,k,n=4;inta[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{ 13,14,15,16}}; for(i=0;i<n;i++)for(j=i;j<n;j++){k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;}for(i=0;i<n;i++){for(j=0;j<n;j++){cout<<a[i][j]<<'\t';}cout<<endl;}}S9_3_2#include<iostream.h>void main(){int a[9][9];for(int i=1;i<=9;i++)for(int j=1;j<=i;j++)a[i-1][j-1]=i*j;for(int b=0;b<9;b++){for(int c=0;c<=b;c++)cout<<b+1<<"*"<<c+1<<"="<<a[ b][c]<<"\t"; cout<<endl;}}S9_4#include<iostream.h>void main(){int i,j,a[10][10]={0};a[0][0]=a[1][0]=a[1][1]=1;for(i=2;i<=9;i++){a[i][0]=1;a[i][i]=1;for(j=1;j<=9;j++)a[i][j]=a[i-1][j-1]+a[i-1][j]; }for(i=0;i<=9;i++)for(j=0;j<=i;j++){cout<<a[i][j]<<'\t';if(j==i)cout<<'\n';}} S10_1#include<iostream.h>int gys(int m,int n){int r;if(m<n){r=m;m=n;n=r;}while(r=m%n){m=n;n=r;}return n;}void main(){inta[8]={26,1007,956,705,574,371,416,517}; int b[8]={994,631,772,201,262,763,1000,781 };int c[8];for(int i=0;i<8;i++) c[i]=gys(a[i],b[i]); for(i=0;i<8;i++) cout<<c[i]<<'\t'; cout<<endl;}S10_2#include<iostream.h> int fun(int x){int sum=0;while(x){sum+=x%10;x=x/10;}return sum;}void main(){ int a[10],b[10];int sum=0;cout<<"请输入10个整数: \n"; for(int i=0;i<10;i++)cin>>a[i];for(i=0;i<10;i++){b[i]=fun(a[i]);sum+=a[i];}cout<<"sum="<<sum<<endl;for(i=0;i<10;i++)cout<<a[i]<<'\t'<<b[i]<<endl; }S10_3#include<iostream.h>int fun(int x){int sum=0;while(x){sum+=x%10;x/=10;}if(sum==10)return 1;elsereturn 0;}void main(){int a[1001],num=0,x;cout<<"请输入一个大于100小于1000的数:";cin>>x;for(int i=100;i<=x;i++){a[i]=i;if(fun(a[i])==1){cout<<a[i]<<'\t';num++;}}cout<<'\n'<<"共"<<num<<"个"<<'\n'; }S10_4#include<iostream.h>int prime(int num) //函数prime判断参数num是否为素数,若为素数函数返回1,否则返回0{ for(int i=2;i<num/2;i++)if(num%i==0)return 0;return 1;}void main(){int num=0;inta[]={55,154,103,106,151,58,199,10,247,2 18,39,170,87,122,135}; int n=sizeof(a)/sizeof(a[0]);for(int i=0;i<n;i++)if(prime(a[i])==1){cout<<a[i]<<'\t';num++;}cout<<'\n'<<"共"<<num<<"个"<<endl;}S11_1#include<iostream.h>int binary(int array[],int n,int number) { int low=0,high=n-1,mid;while(low<=high){mid=(low+high)/2;if(number<array[mid])high=mid-1;else if(number>array[mid])low=mid+1;elsereturn mid;}return -1;}void main(){inta[]={2,4,6,8,10,12,14,16,18,20,22,24};int num;cout<<"请输入要寻找的数: ";cin>>num;intindex=binary(a,sizeof(a)/sizeof(a[0]),nu m); if(index!=-1)cout<<"该数在数组中的序号为: "<<index<<endl; elsecout<<"数组中没有该元素\n";}S11_2#include<iostream.h>int del(int array[],int n){for(int i=0;i<n-1;i++)if(array[i]==array[i+1]){for(int j=i+2;j<n;j++)array[j-1]=array[j];n=n-1;i=i-1;}return n;}void main(){inta[]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,1 0}; int n=del(a,sizeof(a)/sizeof(a[0]) );for(int i=0;i<n;i++)cout<<a[i]<<'\t';cout<<endl;}S11_3#include<iostream.h>int f(int a[],int n){ int c=0;for(int e=n;e>0;e--)if(a[e-1]>a[e]){c=a[e-1];a[e-1]=a[e];a[e]=c;}return n; }void main(){ int s[1000];int i=0,n=0;cout<<"请输入数字(输入0结束):"<<endl; cin>>s[0];while(s[i]!=0){ n=f(s,i);i++;cin>>s[i];}for(int d=0;d<i;d++)cout<<s[d]<<'\t';cout<<endl;}S11_4#include<iostream.h>void main(){int a[]={5,26,98,77,1,27,30};int b[10]={0,0,0,0,0,0,0,0,0,0}; int c, n=sizeof(a)/sizeof(a[0]); for(int i=0;i<n;i++)while(a[i]){c=a[i]%10;b[c]++;a[i]=a[i]/10;}for(int j=0;j<10;j++)cout<<b[j]<<'\t';}S12_1#include<iostream.h>void main(){char s[1000];cout<<"请输入一行字符串:\n"; cin.getline(s,200);int a=0,b=0,c=0;for(int i=0;s[i]!='\0';i++) {if(s[i]>='A'&&s[i]<='Z')a++;else if(s[i]>='a'&&s[i]<='z')b++;else if(s[i]>='0'&&s[i]<='9')c++;}cout<<"大写字母个数:"<<a<<'\t'<<"小写字母个数:"<<b<<'\t'<<"数字字符个数:"<<c<<endl;}S12_2#include<iostream.h>#include<string.h>void main(){char str[100];int flag=0;cout<<"Input a string:\n";cin.getline(str,100);for(int i=0;str[i]!='\0';i++){if(str[i]>='a'&&str[i]<='z'&&flag= =0) {str[i]=str[i]-32;flag=1;}if(str[i]==' '||str[i]=='\n')flag=0;}cout<<"thr result is:\n";cout<<str<<endl;}S12_3#include<iostream.h>#include<string.h>。

(完整版)C语言代码大全

(完整版)C语言代码大全

摘自宋鲁生程序设计大赛乘法口诀表#include <stdio.h>#include <conio.h>void main(void){int i,j,x,y;clrscr();printf("\n\n * * * 乘法口诀表* * * \n\n");x=9;y=5;for(i=1;i<=9;i++){gotoxy(x,y);printf("%2d ",i);x+=3;}x=7;y=6;for(i=1;i<=9;i++){gotoxy(x,y);printf("%2d ",i);y++;}x=9;y= 6;for(i=1;i<=9;i++){for(j=1;j<=9;j++){gotoxy(x,y);printf("%2d ",i*j);y++;}y-=9;x+=3;}printf("\n\n");}用一维数组统计学生成绩#include <stdio.h>void main(){char SelectKey,CreditMoney,DebitMoney;while(1){do{clrscr();puts("=========================");puts("| Please select key: |");puts("| 1. Quary |");puts("| 2. Credit |");puts("| 3. Debit |");puts("| 4. Return |");puts("=========================");SelectKey = getch();}while( SelectKey!='1' && SelectKey!='2' && SelectKey!='3' &&SelectKey!='4' );switch(SelectKey){case '1':clrscr();puts("================================");puts("| Your balance is $1000. |");puts("| Press any key to return... |");puts("================================");getch();break;case '2':do{clrscr();puts("==================================");puts("| Please select Credit money: |");puts("| 1. $50 |");puts("| 2. $100 |");puts("| 3. Return |");puts("==================================");CreditMoney = getch();}while( CreditMoney!='1' && CreditMoney!='2' && CreditMoney!='3' );switch(CreditMoney){}break; case '3':do{ case '1':clrscr();puts("=========================================");puts("| Your Credit money is $50,Thank you! |");puts("| Press any key to return... |");puts("=========================================");getch();break;case '2':clrscr();puts("==========================================");puts("| Your Credit money is $100,Thank you! |");puts("| Press any key to return... |");puts("==========================================");getch();break;case '3':break;clrscr();puts("====================================");puts("| Please select Debit money: |");puts("| 1. $50 |");puts("| 2. $100 |");puts("| 3. $500 |");puts("| 4. $1000 |");puts("| 5. Return |");puts("====================================");DebitMoney = getch();}while( DebitMoney!='1' && DebitMoney!='2' && DebitMoney!='3' &&DebitMoney!='4' && DebitMoney!='5' );switch(DebitMoney){case '1':clrscr();puts("===========================================");puts("| Your Debit money is $50,Thank you! |");puts("| Press any key to return... |");puts("===========================================");getch();break;case '2':clrscr();puts("===========================================");puts("| Your Debit money is $100,Thank you! |");puts("| Press any key to return... |");puts("===========================================");getch();break;case '3':clrscr();puts("===========================================");puts("| Your Debit money is $500,Thank you! |");puts("| Press any key to return... |");puts("===========================================");getch();break;case '4':clrscr();puts("===========================================");puts("| Your Debit money is $1000,Thank you! |");puts("| Press any key to return... |");puts("===========================================");getch();break;case '5':break;}break;case '4':clrscr();puts("================================");puts("| Thank you for your using! |");puts("| Good bye! |");puts("================================");return;}}模拟ATM(自动柜员机)界面#include <stdio.h> void main(){int Password=0,Number=0,price=58,i=0;while( Password != 1234 ){if( i >= 3 )return;}i=0; i++;puts("Please input Password: "); scanf("%d",&Password);while( Number!=price ){do{puts("Please input a number between 1 and 100: ");scanf("%d",&Number);printf("Your input number is %d\n",Number);}while( !(Number>=1 && Number<=100) );if( Number >= 90 ){printf("Too Bigger! Press any key to try again!\n");}else if( Number >= 70 && Number < 90 ){printf("Bigger!\n");}else if( Number >= 1 && Number <= 30 ){printf("Too Small! Press any key to try again!\n");}else if( Number > 30 && Number <= 50 ){}else{printf("Small! Press any key to try again!\n");if( Number == price ){printf("OK! You are right! Bye Bye!\n");}else if( Number < price ){printf("Sorry,Only a little smaller! Press any key to try again!\n");}else if( Number > price ){printf(" Sorry, Only a little bigger! Press any key to try again!\n");}getch();}}用二维数组实现矩阵转置/* 用二维数组实现矩阵的转置*/#include <stdio.h>#define ROW 3#define COL 4main(){int matrixA[ROW][COL],matrixB[COL][ROW];int i,j; clrscr();printf("Enter elements of the matrixA,");printf("%d*%d:\n",ROW,COL);for( i=0; i<ROW; i++ ){for( j=0; j<COL; j++ ){scanf("%d",&matrixA[i][j]);}}for( i=0; i<ROW; i++ ){for( j=0; j<COL; j++ ){matrixB[j][i] = matrixA[i][j];}}printf("MatrixB,");printf("%d*%d:\n",COL,ROW);for( i=0; i<COL; i++ ){for( j=0; j<ROW; j++ ){printf("%8d",matrixB[i][j]);}printf("\n");}printf("\n Press Any Key to Quit... \n");getch();}求解二维数组的最大/最小元素#define MAXN 20int a[MAXN][MAXN];main(){int min, /* 存储最小值*/max; /* 存储最大值*/int row,col,n;clrscr();printf("Please input the order of the matrix:\n");/* 输入方阵的阶次*/ scanf("%d",&n);printf("Please input the elements of the matrix,\n from a[0][0] to a[%d][%d]:\n",n-1,n-1);for(row=0;row<n;row++)for(col=0;col<n;col++)scanf("%d",&a[row][col]);for(min=a[0][0],row=0;row<n;row++){/* 从每行选出最大数*/for(max=a[row][0],col=1;col<n;col++)/*从row 行选出最大数*/if(max<a[row][col])max=a[row][col];if(min>max)/* 保存至row 行的最小数*/min=max;}printf("The minimum of maximum number is %d\n",min);for(max=a[0][0],row=0;row<n;row++){/* 每行选出最小数*/for(min=a[row][0],col=1;col<n;col++)/* 从row 行选出最小数*/ if(min>a[row][col])min=a[row][col];if(max<min)/*保存至row 行的最大数*/max=min;}printf("The maximum of minimum numbers is %d\n",max);printf("\nPress any key to quit...\n");getch();}利用数组求前n 个质数#define N 50main(){int primes[N];int pc,m,k; clrscr();printf("\n The first %d prime numbers are:\n",N);primes[0]=2;/*2 是第一个质数*/pc =1;/*已有第一个质数*/m =3;/*被测试的数从3 开始*/while(pc<N){/*调整m 使它为下一个质数*/k=0;while(primes[k]*primes[k]<=m)if(m%primes[k]==0){/*m 是合数*/m+=2;/*让m 取下一个奇数*/k=1;/*不必用primes[0]=2 去测试m,所以k 从一开始*/}elsek++;/*继续用下一个质数去测试*/primes[pc++]=m;m+=2;/*除2 外,其余质数均是奇数*/}/*输出primes[0]至primes[pc-1]*/for(k=0;k<pc;k++)printf("%4d",primes[k]);printf("\n\n Press any key to quit...\n ");getch();}编制万年历#include "stdio.h"long int f(int year,int month){/*f(年,月)=年-1,如月<3;否则,f(年,月)=年*/if(month<3) return year-1;else return year;} long int g(int month){/*g(月)=月+13,如月<3;否则,g(月)=月+1*/if(month<3) return month+13;else return month+1;} long int n(int year,int month,int day){/*N=1461*f(年、月)/4+153*g(月)/5+日*/return 1461L*f(year,month)/4+153L*g(month)/5+day;} int w(int year,int month,int day){/*w=(N-621049)%7(0<=w<7)*/return(int)((n(year,month,day)%7-621049L%7+7)%7);} int date[12][6][7];int day_tbl[ ][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};main(){int sw,leap,i,j,k,wd,day;int year;/*年*/char title[]="SUN MON TUE WED THU FRI SAT";clrscr();printf("Please input the year whose calendar you want to know: ");/*输入年*/scanf("%d%*c",&year);/*输入年份值和掠过值后的回车*/sw=w(year,1,1);leap=year%4==0&&year%100||year%400==0;/*判闰年*/for(i=0;i<12;i++)for(j=0;j<6;j++)for(k=0;k<7;k++)date[i][j][k]=0;/*日期表置0*/for(i=0;i<12;i++)/*一年十二个月*/for(wd=0,day=1;day<=day_tbl[leap][i];day++){/*将第i+1 月的日期填入日期表*/date[i][wd][sw]=day;sw=++sw%7;/*每星期七天,以0 至6 计数*/if(sw==0) wd++;/*日期表每七天一行,星期天开始新的一行*/} printf("\n|==================The Calendar of Year %d=====================|\n|",year);for(i=0;i<6;i++){/*先测算第i+1 月和第i+7 月的最大星期数*/for(wd=0,k=0;k<7;k++)/*日期表的第六行有日期,则wd!=0*/wd+=date[i][5][k]+date[i+6][5][k];wd=wd?6:5;printf("%2d %s %2d %s |\n|",i+1,title,i+7,title);for(j=0;j<wd;j++){printf(" ");/*输出四个空白符*//*左栏为第i+1 月,右栏为第i+7 月*/for(k=0;k<7;k++)if(date[i][j][k])printf("%4d",date[i][j][k]);else printf(" ");printf(" ");/*输出十个空白符*/for(k=0;k<7;k++)if(date[i+6][j][k])printf("%4d",date[i+6][j][k]);else printf(" ");printf(" |\n|");}/*scanf("%*c");/*键入回车输出下一个月的日历*/}puts("=================================================================|") ;puts("\n Press any key to quit...");getch();}对数组元素排序rest(int a[], int n){int i,low,high,t; for(i=0,low=0,high=n-1;i<=high;) {if(a[i]>0){/*a[i]与a[high]交换,随之high 减1*/t=a[i];a[i]=a[high];a[high]=t;high--;}else if(a[i]==0)i++; /* 掠过该元素*/else{/*a[i]与a[low]交换,随之low 增1, i 增1*/t=a[i];a[i]=a[low];a[low]=t;low++; i++;}}}int s[]={8,4,0,-1,6,0,-5};main(){int i;clrscr();printf("\n The arry before rest is:\n");for(i=0;i<sizeof(s)/sizeof(s[0]);i++)printf("%4d",s[i]);rest(s,sizeof(s)/sizeof(s[0]));printf("\n The arry after rest is:\n");for(i=0;i<sizeof(s)/sizeof(s[0]);i++)printf("%4d",s[i]);printf("\n Press any key to quit...\n");getch();}任意进制数的转换/* 函数trans 将无符号整数n 翻译成d(2<=d<=16)进制表示的字符串s */ #define M sizeof(unsigned int)*8int trans(unsigned n, int d, char s[]){static char digits[] ="0123456789ABCDEF"; /* 十六进制数字的字符*/char buf[M+1];int j, i = M;if(d<2||d>16){s[0]='\0'; /* 不合理的进制,置s 为空字符串*/return 0; /* 不合理的进制,函数返回0 */}buf[i]='\0';do{buf[--i]=digits[n%d]; /*译出最低位,对应字符存入对应工作数组中*/n/=d;}while(n);/* 将译出在工作数组中的字符串复制到s */for(j=0;(s[j]=buf[i])!='\0';j++,i++);/* 其中控制条件可简写成s[j]=buf[i] */return j;}/* 主函数用于测试函数trans() */main(){unsigned int num = 253;int scale[]={2,3,10,16,1};char str[33];int i;clrscr();for(i=0;i<sizeof(scale)/sizeof(scale[0]);i++){if(trans(num,scale[i],str))printf("%5d = %s(%d)\n",num,str,scale[i]);elseprintf("%5d => (%d) Error! \n",num,scale[i]);}printf("\n Press any key to quit...\n");getch();}判断回文数/* 函数circle 用于判断正整数n 的d 进制数表示形式是否是回文数*/ int circle(int n, int d){int s=0,m=n;while(m){s=s*d+m%d;m/=d;}return s==n;}/* main 函数用于测试circle 函数*/int num[]={232,27,851};int scale[]={2,10,16};main(){int i,j;clrscr();for(i=0;i<sizeof(num)/sizeof(num[0]);i++)for(j=0;j<sizeof(scale)/sizeof(scale[0]);j++)if(circle(num[i],scale[j]))printf("%d -> (%d) is a Circle Number!\n",num[i],scale[j]);elseprintf("%d -> (%d) is not a Circle Number!\n",num[i],scale[j]);printf("\n Press any key to quit...\n");getch();}求解钢材切割的最佳订单#include <stdio.h>#define N 20#define DELTA 2int bestlen;int bestsele[N];int sele[N];int n;int orderlen[N];int total;main(){int i;clrscr();printf("\n Please enter total length of the steel:\n");/* 输入钢材总长*/scanf("%d",&total);printf("\n Please enter number of order:\n"); /* 输入定单数*/ scanf("%d",&n);printf("\n Please enter the orders:\n"); /* 输入各定单*/for(i=0;i<n;i++)scanf("%d",&orderlen[i]);bestlen=0; /*最佳解用料的初值*/for(i=0;i<n;i++)sele[i]=bestsele[i]=0; /*置当前选择和最佳选择初值*/try(); /* 调用函数求解*/for(i=0;i<n;i++) /* 输出结果*/if(bestsele[i])printf("order %d length = %d\n",i+1,orderlen[i]);printf("\n Press any key to quit...");getch();}try(){int i,len;for(len=i=0;i<n;i++) /* 求当前选中的用料量*/if(sele[i])len+=orderlen[i]+DELTA;if(len-DELTA<=total) /* 注意最后一段可能不需要切割*/{if(bestlen < len){/* 找到一个更好的解*/bestlen = len;for(i=0;i<n;i++)bestsele[i]=sele[i];}for(i=0;i<n;i++) /* 对所有未选定单逐一作选中尝试循环*/if(!sele[i]){sele[i]=1; /* 做选中尝试*/try();sele[i]=0;}}}指向数组的指针main(){int x,y,z; /* 定义三个int 型变量*/int *xp = &x, /* 定义指针变量xp,并赋值为x 的地址,使xp 指向x */ *yp = &y, /* 定义指针变量yp,并赋值为y 的地址,使yp 指向y */ *zp = &z; /* 定义指针变量zp,并赋值为z 的地址,使zp 指向z */int t;printf("\nPlease input x,y,z:\n");scanf("%d%d%d",xp,yp,zp); /* 通过变量的指针,为变量输入值*/if(*xp>*yp) /* 通过指向变量的指针引用变量的值*/{t=*xp; /* 通过指向变量的指针引用变量的值*/*xp=*yp;/* 通过指向变量x 的指针xp,引用变量x 的值*/*yp=t; /* 通过指向变量y 的指针yp,引用变量y 的值*/}if(*xp>*zp) /* 通过指向变量的指针,引用变量的值*/{t=*xp; /* 通过指向变量x 的指针xp,引用变量x 的值*/*xp=*zp;/* 通过指向变量x 的指针xp,引用变量x 的值*/*zp=t; /* 通过指向变量z 的指针zp,引用变量z 的值*/}if(*yp>*zp) /* 通过指向变量的指针,引用变量的值*/{t=*yp; /* 通过指向变量的指针,引用变量的值*/*yp=*zp;/* 通过指向变量y 的指针yp,引用变量y 的值*/*zp=t;/* 通过指向变量z 的指针zp,引用变量z 的值*/}printf("x = %d\ty = %d\tz = %d\n",x,y,z);printf("\nPress any key to quit...\n");getch();}阿拉伯数字转换为罗马数字#include <stdio.h>#define ROWS 4#define COLS 4int nums[ROWS][COLS]={{1000,1000,1000,1000},{900,500,400,100},{90,50,40,10},{9,5,4,1}};char *roms[ROWS][COLS]={{"m","m","m","m"}, {"cm","d","cd","c"},{"xc","l","xl","x"},{"ix","v","iv","i"}}; main(int argc,char *argv[ ]){int low,high;char roman[25]; if(argc<2){ printf("Usage:roman decimal_number\n");/*运行程序需带整数参数*/}high=low=atoi(argv[1]);/*将第一个参数转换成整数*/checknum(low);if(argc>2){/*带两个参数*/high=atoi(argv[2]);checknum(high);if(low>high){low=high;high=atoi(argv[1]);}}elselow=1;for(;low<=high;low++){to_roman(low,roman);printf("%d\t%s\n",low,roman);}} checknum(int val)/*检查参数合理性*/{if(val<1||val>9999){printf("The number must be in range 1..9999.\n");exit(0);}}to_roman(int decimal,char roman[ ])/*将整数转换成罗马数字表示*/ {int power,index;roman[0]='\0';for(power=0;power<ROWS;power++)for(index=0;index<COLS;index++)while(decimal>=nums[power][index]){strcat(roman,roms[power][index]);decimal-=nums[power][index];}}通讯录的输入输出#include <stdio.h>#define ZIPLEN 10#define PHONLEN 15/*struct addr 类型定义*/ struct addr{char *name;/*姓名*/char *address;/*地址*/char zip[ZIPLEN];/*邮政编码*/char phone[PHONLEN];/*电话号码*/}; main()/*本主函数示意上述输入输出函数的用法*/{struct addr p[100];int i,j;clrscr();for(i=0;readaddr(p+i);i++);for(j=0;j<i;j++) writeaddr(p+j);puts("\n Press any key to quit...");getch();} /* 函数readaddr 用于输入一个通信录函数*/int readaddr(struct addr *dpt){int len;char buf[120];/*输入字符串的缓冲区*/ printf("\nPlease input theName:\n");/*输入姓名*/if(scanf("%s",buf)==1){len=strlen(buf);dpt->name=(char *)malloc(len+1);/*申请存贮姓名的空间*/ strcpy(dpt->name,buf);}else return 0;/*Ctrl+Z 结束输入*/printf("Please input the Address:\n");/*输入地址*/if(scanf("%s",buf)==1){len=strlen(buf);dpt->address=(char *)malloc(len+1);/*申请存贮地址的空间*/ strcpy(dpt->address,buf);}else{/*Ctrl+Z 结束输入*/free(dpt->name);/*释放存贮姓名的空间*/return 0;}printf("Please input the Zip code:\n");/*输入邮编*/if(scanf("%s",buf)==1)strncpy(dpt->zip,buf,ZIPLEN-1);else{free(dpt->name);/*释放存贮姓名的空间*/free(dpt->address);/*释放存贮地址的空间*/return 0;/*Ctrl+Z 结束输入*/}printf("Please input the Phone number:\n");/*输入电话号码*/ if(scanf("%s",buf)==1)strncpy(dpt->phone,buf,PHONLEN-1);else{free(dpt->name);free(dpt->address);return 0;/*Ctrl+Z 结束输入*/}return 1;} /* 函数writeaddr 用于输出通讯录*/int writeaddr(struct addr*dpt){printf("Name : %s\n", dpt->name);/* 输出姓名*/printf("Address : %s\n", dpt->address);/*输出地址*/printf("Zip : %s\n", dpt->zip);/* 输出邮编*/printf("Phone : %s\n\n", dpt->phone);/*输出电话号码*/}扑克牌的结构表示enum suits{CLUBS,DIAMONDS,HEARTS,SPADES}; struct card{enum suits suit;char value[3];};struct card deck[52];char cardval[][3]= {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};char suitsname[][9]={"CLUBS","DIAMONDS","HEARTS","SPADES"}; main() {int i,j;enum suits s;clrscr();for(i=0;i<=12;i++)for(s=CLUBS;s<=SPADES;s++){j=i*4+s;deck[j].suit=s;strcpy(deck[j].value,cardval[i]);}for(j=0;j<52;j++)printf("(%s%3s)%c",suitsname[deck[j].suit],deck[j].value,j%4==3?'\n':'\t');puts("\nPress any key to quit...");getch();}用“结构”统计学生成绩#include <stdio.h>#define N 200#define SCORES 5#define NUMLEN 10struct std_type{char no[NUMLEN];/*学号*/char *name;/*名字符串指针*/int scores[SCORES];/*五门功课的成绩*/};struct std_type students[N];int order[N];int total[N]; /*[函数]输入一个学生信息函数*/int readastu(struct std_type *spt){int len,j;char buf[120];/*输入字符串的缓冲区*/ printf("\nNumber : ");/*输入学号*/if(scanf("%s",buf)==1)strncpy(spt->no,buf,NUMLEN-1);elsereturn 0;/*Ctrl+Z 结束输入*/printf("Name : ");/*输入姓名*/if(scanf("%s",buf)==1){len=strlen(buf);spt->name=(char *)malloc(len+1);/*申请存贮姓名的空间*/ strcpy(spt->name,buf);}else return 0;/*Ctrl+Z 结束输入*/printf("Scores : ");/*输入成绩*/for(j=0;j<SCORES;j++)if(scanf("%d",spt->scores+j)!=1)break;if(j==0)/*一个成绩也未输入*/{free(spt->name);/*释放存贮姓名的空间*/return 0;}for(;j<SCORES;j++)/*少数未输入的成绩用0 分代之*/ spt->scores[j]=0;return 1;} /*[函数]输出一个学生信息的函数*/int writeastu(struct std_type *spt){int i; printf("Number : %s\n",spt->no);/*输出学号*/printf("Name : %s\n",spt->name);/*输出姓名*/printf("Scores : ");/* 输出成绩*/for(i=0;i<SCORES;i++)printf("%4d",spt->scores[i]);printf("\n\n");} main(){int n,i,j,t; clrscr();for(n=0;readastu(students+n);n++);/*采用冒泡法对学生信息数组排序*/for(i=0;i<n;i++){order[i]=i;/* 预置第i 个输入的学生*/for(t=0,j=0;j<SCORES;j++)/*求第i 个学生的总分*/t+=students[i].scores[j];total[i]=t;}/*冒泡排序*/for(i=0;i<n-1;i++)/*共扫视n-1 遍*/for(j=0;j<n-1-i;j++)if(total[order[j]]<total[order[j+1]]){/*交换名次*/t=order[j];order[j]=order[j+1];order[j+1]=t;}for(j=0;j<n;j++)/* 输出*/writeastu(students+order[j]);printf("\n Press any key to quit...\n");getch();}报数游戏#include <stdio.h>struct ele{int no;struct ele *link;}main(){int n,m,i;struct ele *h,*u,*p;clrscr();printf("Please input n&m:\n");scanf("%d%d",&n,&m);/*输入n 和m*/h=u=(struct ele *)malloc(sizeof(struct ele));/*形成首表元*/ h->no=1;for(i=2;i<=n;i++)/*形成其余的n-1 个表元*/{u->link=(struct ele *)malloc(sizeof(struct ele));u=u->link;u->no=i;/*第i 个表元置编号i*/}u->link=h;/*末表元后继首表元,形成环*/puts("\nThe numbers of who will quit the cycle in turn are:"); while(n){for(i=1;i<m;i++)/*掠过m-1 个表元*/u=u->link;p=u->link;/*p 指向第m 个表元*/u->link=p->link;/*第m 个表元从环中脱钩*/printf("%4d",p->no);free(p);/*释放第m 个表元占用的空间*/n--;}printf("\n\n Press any key to quit...\n");getch();}学生成绩管理程序/*学生成绩管理程序编制一个统计学生考试分数的管理程序。

经典C语言程序设计100例C-90-100

经典C语言程序设计100例C-90-100
#include "stdio.h"
main()
{ time_t start,end;
int i;
start=time(NULL);
for(i=0;i<3000;i++)
{ printf("\1\1\1\1\1\1\1\1\1\1\n");}
end=time(NULL);
printf("\1: The different is %6.3f\n",difftime(end,start));
pp: clrscr();
sum=0.0;
gotoxy(1,1);printf("|---------------------------------------------------------------------------|");
gotoxy(1,2);printf("| money management system(C1.0) 2000.03 |");
gotoxy(1,23);printf("|---------------------------------------------------------------------------|");
gotoxy(1,24);printf("| |");
gotoxy(1,25);printf("|---------------------------------------------------------------------------|");
gotoxy(1,12);printf("| cost: ---------- | |");
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void main()
{
float a,b,c,x1,x2;
cout<<"请输入方程的3个系数a b c \n";
cin>>a>>b>>c;
x1=(-b+sqrt(b*b-4*a*c))/2*a;
x2=(-b-sqrt(b*b-4*a*c))/2*a;
if(b*b-4*a*c<0)
cout<<"无实根!\n";
do{
x0=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
if(f(x0)*f(x1)>0)
x1=x0;
else
x2=x0;}
while(fabs(f(x0))>=1e-5);
cout<<"x="<<x0<<endl;
}
S7_1
#include<iostream.h>
int prime(int x)
S2_1
#include<iostream>
using namespace std;
void main()
{
float a,b,c;
cout<<"input a b c\n";
cin>>a>>b>>c;
if((a+b<c)||(b+c<a)||(a+c<b))
cout<<"Not Triangle\n";
float result;
int flag=0;
cout<<"请输入简单的运算式:\n";
cin>>a1>>oper>>a2;
switch(oper)
{
case'+':
result=a1+a2;
break;
case'-':
result=a1-a2;
break;
case'*':
result=a1*a2;
for(x=a;;x++)
if(x%a==0&&x%b==0&&x%c==0)
break;
cout<<x<<endl;
}
S4_5
#include<iostream.h>
void main()
{
int a;
for(a=100;a<=200;a++)
{
for(int b=2;b<a;b++)
if(a%b==0)
while(n%2!=0||n<6);
for(int i=2;i<n/2;i++)
{if(prime(i)==1&&prime(n-i)==1)
cout<<n<<'='<<i<<'+'<<n-i<<'\n';
}
cout<<endl;
}
S7_4
#include<math.h>
float f(float x)
{float y;
y=x*x+3*x-4;
return y;}
float df( float x)
{float y;
y=2*x+3;
return y;
}
void main()
{
float x0,x1;
x1=0;
do{
x0=x1;
x1=x0-f(x0)/df(x0);}
break;
default:
cout<<"输入错误的运算符!\n";
flag=1;
}
if(flag==0)
cout<<a1<<oper<<a2<<"="<<result<<endl;
}
S2_4
#include<iostream>
#include<math.h>
using namespace std;
cout<<"请输入初值x1和x2: ";
cin>>x1>>x2;}while(f(x1)*f(x2)>0);
do{
x0=(x1+x2)/2;
if(f(x0)*f(x1)>0)
x1=x0;
else
x2=x0;}
while(fabs(f(x0))>=1e-5);
cout<<"x="<<x0<<endl;
{for(int i=2;i<num/2;i++)
if(num%i==0)
return 0;
return 1;
}void main()
{
int n;
cout<<"请输入一个整数n: ";
cin>>n;
for(int i=2;i<n/2;i++)
{if(n%i==0&&prime(i)==1)
cout<<i<<'\t';
}
cout<<endl;
}
S7_3
#include<iostream.h>
int prime(int a)
{for(int i=2;i<a/2;i++)
if(a%i==0)
return 0;
return 1;
}
void main()
{int n;
do{cout<<"输入一个不小于6的偶数:";
cin>>n;}
for(c=1;c<=36;c++)
if(a+b+c==36&&a*4+b*2+c/2==36&&c%2==0)
cout<<"男人"<<a<<'\n'<<"女人"<<b<<'\n'<<"小孩"<<c<<endl;
}
S3_5_1
#include<iostream.h>
void main()
{
int a;
{
cout<<"Input x :";
cin>>x;
double y1,y2=x;
do{
y1=y2;
y2=2.0/3.0*y1+x/(3.0*y1*y1);
}while(fabs(y1-y2)>=1e-5);
cout <<"y="<<y2<<endl;
return 0;
}
S5_4
#include<iostream.h>
while(t=a%b)
{
a=b;
b=t;
}
cout<<"最大公约数:"<<b<<endl;
cout<<"最小公倍数:"<<x/b<<endl;
}
S4_2
#include<iostream.h>
void main()
{
int a, b,c;
cout<<"Input three number:";
cin>>a>>b>>c;
cin>>a;
while(a)
{b=a%10;
c=c+b;
a=a/10;}
cout<<c<<endl;
}
S4_1
#include<iostream.h>
void main()
{
int a,b;
int x,t;
cout<<"请输入两个正整数:";
cin>>a>>b;
x=a*b;
if(a<b)
{
t=a;a=b;b=t;}
a1=(b/10)%10;
a0=b%10;
if(b==a0*a0*a0+a1*a1*a1+a2*a2*a2)
cout<<b<<'\t';
}
}
S3_4
#include<iostream.h>
void main()
{
int a,b,c;
for(a=1;a<=36;a++)
for(b=1;b<=36;b++)
void main()
{
float x;
cout<<"Input x :";
相关文档
最新文档