C++程序设计源代码大全
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程序设计(谭浩强)_源码
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例(全)
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 经典程序代码大全#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语言程序设计例子题目:输入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程序设计源代码大全
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语言代码大全
摘自宋鲁生程序设计大赛乘法口诀表#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
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: ---------- | |");
C#100例经典源代码
C#语言100例经典源代码程序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语言经典编程282例源码
c语言经典编程282例源码C语言是一门广泛应用于软件开发领域的编程语言,具有简洁、高效、灵活等特点。
为了帮助广大编程初学者快速入门C语言编程,我为大家整理了282个经典编程例子的源码,并以中文为大家生成了以下全面、生动且具有指导意义的文章。
第一章:基础语法C语言作为编程语言的基石,掌握其基础语法非常重要。
这一章的例子涵盖了C语言的基本数据类型、运算符、控制结构等内容,帮助读者快速理解和掌握C语言的基础知识。
第二章:数组和字符串数组和字符串是C语言中常用的数据结构,本章例子从简单到复杂地介绍了如何定义和使用数组,并展示了各种数组操作的技巧,以及如何处理字符串。
第三章:函数函数是C语言程序的基本组成部分,也是模块化编程的核心。
本章例子通过实例演示了如何定义和调用函数,以及如何应用函数解决实际问题。
第四章:指针指针是C语言的重要概念之一,也是其强大而灵活的部分。
本章例子详细介绍了指针的概念、指针变量的声明与使用,以及指针与数组、函数的关系,帮助读者深入理解指针的运作原理。
第五章:结构体和联合体结构体和联合体是C语言中的高级数据结构,可以用来组织和管理复杂的数据。
本章例子展示了如何定义和使用结构体和联合体,以及如何利用它们解决实际问题。
第六章:文件操作文件操作是C语言中常常需用到的操作之一,本章例子介绍了如何创建、打开和关闭文件,以及如何读取和写入文件内容,帮助读者理解和掌握C语言中的文件操作技巧。
第七章:动态内存分配动态内存分配是C语言中非常有用的功能,可以动态地为变量分配内存空间,提高程序的灵活性和效率。
本章例子演示了如何使用malloc和free等函数进行动态内存分配和释放。
通过阅读以上章节,读者可以全面了解和掌握C语言的基础知识和常用技巧,为后续的深入学习和开发打下坚实的基础。
此外,整理的这282个编程例子源码涵盖了C语言中的各个方面和难点,读者可以按照自己的需求选择相应的例子进行学习和实践。
通过逐个实例的分析和实践,读者可以更加深入地理解C语言的特点和应用场景,提高自己的编程水平和解决问题的能力。
经典C语言源代码
经典C语言源代码1、(1)某年某月某日是星期几#include<stdio.h>intmain(){intyear,month,day;{if(month==1||month==2)//判断month是否为1或2{ year--;month+=12;}intc=year/100;inty=year-c*100;intweek=(c/4)-2*c+(y+y/4)+(13*(month+1)/5)+day-1;while(week<0){week+=7;}week%=7;switch(week){}}return0;}1、(2)某年某月某日是第几天(一维数组)voidmain(){inti,flag,year,month,day,dayth;intmonth_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};请输入年/月/日:dayth=day;flag=(year%400==0)||(year%4==0&&year%100!=0);if(flag)month_day[2]=29;for(i=1;i<month;i++)dayth=dayth+month_day[i];是第%4天}2、30个数中找最小的数及其位置#defineSIZE30voidmain(){inti;floatdata[SIZE];intmin;请输入%d个浮点数:for(i=0;i<SIZE;i++){data[i]=rand()%30+1;、}min=0;for(i=1;i<SIZE;i++){if(data[i]<data[min])min=i;最小值是%5.2f,位置是}3、30个数从小到大排序(1)#defineSIZE30voidmain(){inti,j;floatdata[SIZE],temp;intmin;请输入%d个整型数:for(i=0;i<SIZE;i++){}for(i=0;i<SIZE;i++){min=i;for(j=i+1;j<SIZE;j++)if(data[j]<data[min])temp=data[min];data[min]=data[i];data[i]=temp;}排序后的结果是:for(i=0;i<SIZE;i++)min=j;}(2)模块化程序(数组名作为函数参数)#defineSIZE5voidaccept_array(floata[],intsize);voidsort(floata[],intsize); voidshow_array(floata[],intsize);voidmain(){floatscore[SIZE];accept_array(score,SIZE);排序前:show_array(score,SIZE);sort(score,SIZE);排序后:show_array(score,SIZE);}voidaccept_array(floata[],intsize){inti;请输入%d个分数:for(i=0;i<size;i++)}voidshow_array(floata[],intsize){inti;for(i=0;i<size;i++)}voidsort(floata[],intsize){inti,min,j;floattemp;for(i=0;i<SIZE;i++){min=i;for(j=i+1;j<SIZE;j++)if(a[j]<a[min])min=j;}temp=a[min]; a[min]=a[i]; a[i]=temp;}}4、(1)指针加减:#defineSIZE10voidmain(){inta[SIZE]={1,2,3,4,5,6,7,8,9,10};int*pa,i;pa=&a[0];//pa=a;for(i=0;i<SIZE;i++){pa++;(2)指针比较:#defineSIZE10voidmain(){inta[SIZE]={1,2,3,4,5,6,7,8,9,10};int*pa,i;int*qa;pa=qa=&a[0];请输入%d整型数:for(;pa<qa+SIZE;pa++)for(pa--;qa<=pa;pa--)}5、两字符串相连:voidstr_cat(charstr1[],charstr2[]);voidmain(){inti,j;charstr1[160];charstr2[80];请输入第一个字符串:gets(str1);请输入第二个字符串:gets(str2);str_cat(str1,str2);puts(str1);}voidstr_cat(charstr1[],charstr2[]){ inti,j;i=0;i++;j=0;str1[i]=str2[j];i++;j++;}}6、二维数组(a,b转置)voidmain(){inti,j,b[2][3];inta[3][2]={{1,2},{3,4},{5,6}};for(i=0;i<2;i++){for(j=0;j<3;j++)b[i][j]=a[j][i];}for(i=0;i<3;i++){for(j=0;j<2;j++)}for(i=0;i<2;i++){for(j=0;j<3;j++)}7、输入一个二维数组并输出(指针)voidmain(){intx[2][3];inti,j;for(i=0;i<2;i++)for(j=0;j<3;j++)putchar('');for(i=0;i<2;i++){for(j=0;j<3;j++)putchar('');}}8、冒泡法排序一个数组#definesize10voidmaopao(inta[]);voidmain(){inta[10];inti;请输入10个整数:for(i=0;i<10;i++)maopao(a);}voidmaopao(inta[]){inti,j,temp;for(i=0;i<9;i++){//进行9轮排序for(j=0;j<9-i;j++)//每轮进行9-i次交换{if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];//大的沉底,小的上浮a[j+1]=temp;排序结果:for(i=0;i<10;i++)}}9、两数组A,B,要求A<B,如A :4,7,9B :1,3,5,8,9变换后A :1,3, 5B :4,7,8,9,9#include<stdio.h>voidReArranger(int*A,int*B,intm,intn)//A和B是各有m个和n个整数的非降序数组,本算法将B数组元素逐个插入到A中,使A中各元素均不大于B中各元素,且两数组仍保持非降序排列。
C#100例经典源代码
long int i,x, y, z;
for (i=1;i<100000;i++)
{ x=sqrt(i+100); /*x为加上100后开方后的结果*/
y=sqrt(i+268); /*y为再加上168后开方后的结果*/
i f (x*x== i +100&&y*y== i +268)/*如果一个数的平方根的平方等于该数,这说明此 数是完全平方数*/
bonus二bonus2+(i-200000) *;
else if(i<=600000)
bonus二bonus4+(i-400000)*;
else if(i<=1000000)
bonus二bonus6+(i-600000)*;
e I se
bonus二bonusl0+ (i T 000000)*; pr intf ("bonus=%d", bonus);
pr intf (H\n%ld\n,\ i);
}
)
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即 本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2•程序源代码:
ma i n()
int day, month, year, sum, Ieap;
bonus4=bonus2+200000*;
bonus6=bonus4+200000*;
bonusl0=bonus6+400000*;
if (i<=100000)
经典C语言源程序100例(最常见的)
我的经典C语言程序设计源程序100例(精品)【程序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语言版源代码:1.冒泡排序算法:```#include <stdio.h>void bubbleSort(int arr[], int n)int i, j, temp;for (i = 0; i < n-1; i++)for (j = 0; j < n-i-1; j++)if (arr[j] > arr[j+1])temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}int maiint arr[] = {64, 34, 25, 12, 22, 11, 90};int n = sizeof(arr)/sizeof(arr[0]);bubbleSort(arr, n);printf("Sorted array: \n");for (int i=0; i < n; i++)printf("%d ", arr[i]);return 0;```2.选择排序算法:```#include <stdio.h>void selectionSort(int arr[], int n)int i, j, minIndex, temp;for (i = 0; i < n-1; i++)minIndex = i;for (j = i+1; j < n; j++)if (arr[j] < arr[minIndex])minIndex = j;}}temp = arr[minIndex];arr[minIndex] = arr[i];arr[i] = temp;}int maiint arr[] = {64, 25, 12, 22, 11};int n = sizeof(arr)/sizeof(arr[0]);selectionSort(arr, n);printf("Sorted array: \n");for (int i=0; i < n; i++)printf("%d ", arr[i]);return 0;```3.插入排序算法:```#include <stdio.h>void insertionSort(int arr[], int n)int i, j, temp;for (i = 1; i < n; i++)temp = arr[i];j=i-1;while (j >= 0 && arr[j] > temp)arr[j+1] = arr[j];j=j-1;}arr[j+1] = temp;}int maiint arr[] = {12, 11, 13, 5, 6};int n = sizeof(arr)/sizeof(arr[0]);insertionSort(arr, n);printf("Sorted array: \n");for (int i=0; i < n; i++)printf("%d ", arr[i]);return 0;```4.快速排序算法:```#include <stdio.h>void swap(int* a, int* b)int t = *a;*a=*b;*b=t;int partition(int arr[], int low, int high) int pivot = arr[high];int i = (low - 1);for (int j = low; j <= high- 1; j++)if (arr[j] < pivot)i++;swap(&arr[i], &arr[j]);}}swap(&arr[i + 1], &arr[high]);return (i + 1);void quickSort(int arr[], int low, int high) if (low < high)int pi = partition(arr, low, high); quickSort(arr, low, pi - 1);quickSort(arr, pi + 1, high);}int maiint arr[] = {10, 7, 8, 9, 1, 5};int n = sizeof(arr)/sizeof(arr[0]); quickSort(arr, 0, n-1);printf("Sorted array: \n");for (int i=0; i < n; i++)printf("%d ", arr[i]);return 0;```。
C语言程序设计入门源代码代码集合
演示1#include<stdio.h>voidprint_star(void){printf("*****************\n");}voidprint_welcome(void){printf("Clanguage,welcome!\n");}voidmain(){print_star();print_welcome();print_star();getchar();}演示2#include"stdio.h"intsum(inti,intj){return(i+j);}voidmain(){intn1,n2;printf("input2numbers:\n");scanf("%d%d",&n1,&n2);printf("thesum=%d\n",sum(n1,n2)); getchar();}演示3#include"stdio.h"intmaxnum(int,int,int);main(){inta,b,c;printf("Pleaseenter3numbers:\n"); scanf("%d,%d,%d",&a,&b,&c);printf("Maxnumis%d\n",maxnum(a,b,c));return0;}intmaxnum(intx,inty,intz) {intmax=x;if(y>max)max=y;if(z>max)max=z;returnmax;}演示4#include<stdio.h>ints1(intn){intj,s;s=0;for(j=1;j<=n;j++)s=s+j;returns;}intsum(intn){inti,s=0;for(i=1;i<=n;i++)s=s+s1(i);returns;}voidmain(){intn;printf("n:");scanf("%d",&n);printf("s=%d\n",sum(n)); }演示5#include<stdio.h>voidfunc(intn){inti;for(i=n-1;i>=1;i--)n=n+i;printf("n=%d\n",n);}voidmain(){intn;printf("Inputn:");scanf("%d",&n);func(n);printf("n=%d\n",n);}演示6#include<stdio.h>voidswap(inta,intb){inttemp;temp=a;a=b;b=temp;printf("swap:a=%d,b=%d\n",a,b); }voidmain(){inta,b;a=3;b=10;swap(a,b);printf("a=%d,b=%d\n",a,b);}演示7#include<stdio.h>intfunc(inta,intb){intc;c=a+b;returnc;}voidmain(){intx=6,y=7,z=8,r;r=func((x--,y++,x+y),z--);printf("%d\n",r);}演示8#include<stdio.h>max(floatx,floaty){returnx>y?x:y;}voidmain(){printf("%d\n",max(2,3.5)); }演示9#include<stdio.h>intsum(intn){inti,s=0;for(i=0;i<=n;i++)s=s+i;returns;}voidmain(){intm,sn;scanf("%d",&m);sn=sum(m);printf("thesumis%d\n",sn); }演示10#include<stdio.h>voidswap(intx,inty);intmain(){inta,b;printf("input2numbers:\n"); scanf("%d,%d",&a,&b);printf("inputnumberis:a=%d,b=%d\n",a,b);swap(a,b);printf("input2numbersis:a=%d,b=%d\n",a,b);return0;}voidswap(intx,inty){inttemp;temp=x;x=y;y=temp;printf("swapnumberis:x=%d,y=%d\n",x,y);}演示11#include"stdio.h"#defineK3#defineN5longf2(intn,intk){longpower=n;inti;for(i=1;i<k;i++)power*=n;returnpower;}longf1(intn,intk){longsum=0;inti;for(i=1;i<=n;i++)sum=sum+f2(i,k);returnsum;}intmain(void){printf("sumof%dpowerofintegerfrom1to%d=",K,N); printf("%ld\n",f1(N,K));return0;}演示12#include<stdio.h>intmin(inta,intb);intmain(void){intj,k,mininum;printf("input2integers:");scanf("%d,%d",&j,&k);mininum=min(j,k);printf("\nofthetwovalues%dand%d,themininumis%d\n",j,k,mininum);return0;}intmin(inta,intb){if(a<b)returna;elsereturnb;}演示13#include<stdio.h>intfunc(inta,intb);voidmain(){intk=4,m=1,p;p=func(k,m);printf("%d\n",p);}intfunc(inta,intb){intm=0,i=2;i+=m+1;m=i+a+b;returnm;}演示14#include<stdio.h>intmax(intx,inty){intz;z=x>y?x:y;returnz;}voidmain()externintA,B;//声明外部变量printf("%d\n",max(A,B));}intA=13,B=-8;//定义外部变量演示15#include<stdio.h>intf1(intxb){externintxa;return(xa*xb);}intmain(void){externintxb;intxa=5;printf("xa=%d,xb=%d,result=%d",xa,xb,f1(xa)); return0;}intxa=3,xb=4;演示16#include<stdio.h>voidnum(){externintx,y;inta=15,b=10;x=a-b;y=a+b;}intx,y;voidmain(){inta=7,b=5;x=a+b;y=a-b;num();printf("%d,%d\n",x,y);}演示17#include<stdio.h>voidmain()voidswap();externinta,b;a=3;b=10;swap();printf("a=%d,b=%d\n",a,b);}inta,b;voidswap(){inttemp;temp=a;a=b;b=temp;}演示18#include<stdio.h>voidauto_static(void){intvar_auto=0;staticintvar_static=0;printf("var_auto=%d,var_static=%d\n",var_auto++,var_static++); }voidmain(){inti;for(i=0;i<3;i++)auto_static();}演示19#include<stdio.h>voidswap(intx,inty){intt;t=x;x=y;y=t;}voidmain(){inta,b;scanf("%d,%d",&a,&b);swap(a,b);printf("%d,%d\n",a,b);}----------------------------------------------------------------------------------------------------------#include<stdio.h>intx,y;voidswap(int,,int){intt;t=x;x=y;y=t;}voidmain(){scanf("%d,%d",&x,&y);swap(x,y);printf("%d,%d\n",x,y);}#include<stdio.h>intx,y;voidswap(intx,inty){intt;t=x;x=y;y=t;}voidmain(){scanf("%d,%d",&x,&y);swap(x,y);printf("%d,%d\n",x,y);}----------------------------------------------------------------------------------------------------------------------演示20#include<stdio.h>intfac(intn){staticintf=1;f=f*n;returnf;}voidmain(){inti;for(i=1;i<=5;i++)printf("%d!=%d\n",i,fac(i));}演示21#include"stdio.h"intmain(void){inta=2;intp=a;printf("%d\n",a);{inta=7;printf("%d\n",a);printf("%d\n",p);}printf("%d\n",++a);return0;}演示22#include<stdio.h>intfunc(inta,intb);voidmain(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p); }intfunc(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;returnm;}演示23#include<stdio.h>f(intn){intc;if(n==6)c=1;elsec=(f(n+1)+1)*2;returnc;}voidmain(){printf("%d\n",f(1));}演示24#include<stdio.h>longpower(intn){longf;if(n>1)f=power(n-1)*n;elsef=1;returnf;}main(){intn;longx;printf("inputanintegernumber:\n"); scanf("%d",&n);x=power(n);printf("%d!=%ld\n",n,x);getchar();}演示25#include<stdio.h>intfact(){staticinti=5;if(i==0)return1;else{i--;return(i+1)*fact();}}voidmain(){printf("fact=%d\n",fact());}演示26#include<stdio.h>intfun(intk);intw=3;voidmain(){intw=10;printf("%d\n",fun(5)*w);}intfun(intk){if(k==0)returnw;return(fun(k-1)*k);}演示27#include<stdio.h>intfac(intn){registerinti,f=1;for(i=1;i<=n;i++)f=f*i;returnf;}main(){inti;for(i=1;i<=5;i++)printf("%d!=%d\n",i,fac(i)); }演示28#include<stdio.h>age(intn){intc;if(n==1)c=10;elsec=age(n-1)+2;returnc;}voidmain(){printf("%d\n",age(5));}演示29#include<stdio.h>#definePI3.14#definecircuit(r)2*PI*r#definearea(r)PI*r*rvoidmain(){floatra,c,a;scanf("%f",&ra);c=circuit(ra);a=area(ra);printf("ra=%f,c=%f,a=%f",ra,c,a);}汉诺塔(演示30)#include"stdio.h"voidmove(int,char,char,char);intmain(void){intn;printf("inputndiskontowerA:\n");scanf("%d",&n);move(n,'A','B','C');getchar();return0;}voidmove(intn,chara,charb,charc){staticintstep=1;if(n==1){printf("step%d:movediskform%c->%c\n",step++,a,c); }else{move(n-1,a,c,b);move(1,a,b,c);move(n-1,b,a,c);}}演示31#defineLETTER1#include"stdio.h"voidmain(){charstr[20]="CLanguage",c;inti;i=0;while((c=str[i])!='\0'){i++;#ifLETTERif(c>='a'&&c<='z')c=c-32;#elseif(c>='A'&&c<='Z')c=c+32;#endifprintf("%c",c);}}#include<stdio.h>longf(intn){if(n==1||n==2)return1;elsereturnf(n-1)+f(n-2);}voidmain(){longn;printf("inputn:\n");scanf("%d",&n);printf("thenumberis%d\n",f(n)); }。
C语言经典源程序100例
C语言经典源程序100例1. Hello, World!这是C语言中最基本的程序,用于显示"Hello, World!"。
```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 计算两数之和这个程序用于计算两个整数的和,并将结果输出。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```3. 判断奇偶数这个程序用于判断一个整数是奇数还是偶数。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数。
\n");} else {printf("该数是奇数。
\n");}}```4. 求输入数字的平均值这个程序用于求输入数字的平均值。
```c#include <stdio.h>int main() {int count, i;double num, sum = 0.0, average;printf("请输入数字的个数:");scanf("%d", &count);printf("请输入这 %d 个数字:\n", count); for (i = 0; i < count; i++) {scanf("%lf", &num);sum += num;}average = sum / count;printf("平均值为:%lf\n", average);}```5. 判断闰年这个程序用于判断一个年份是否为闰年。
C#100例经典源代码
C#语言100例经典源代码程序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后再开方,如果开方后的结果满足如下条件,即是结果。
(完整word版)C语言源代码
剪刀石头布源代码#include<stdio.h>#include<stdlib.h>main(){int d,x;{printf(" 请输入:1 是剪刀,2 是石头,3是布");scanf("%d",&d);x=rand()%3;if(d==x)printf(" 双方平局");else if((d==1&&x==2)||(d==2&&x==3)||(d==3&&x==1)) printf("你赢了");elseprintf(" 电脑赢了");}}简单计算器#include<stdio.h>main(){int a,b,d=0;char c;while(d==0){printf(" 请开始计算,请输入需要运算的数字和运算法则,数字符号数字:"); scanf("%d%c%d",&a,&c,&b);switch(c){case'+': printf("%d+%d=%d\n",a,b,a+b); break;case'-':printf("%d-%d=%d\n",a,b,a-b); break;case'*':printf("%d*%d=%d\n",a,b,a*b);break;case'/':if(0==b)printf(" 除法被除数不能为零!\n") ; elseprintf("%d/%d=%d\n",a,b,a/b); break;}}}加油站加油问题#include<stdio.h>int main(){double a = 3.25, b = 3.00, c= 2.75;double d = 0.05, e = 0.10, m;int x,y,z;printf(" 请输入您要的加油量:");scanf("%d",&x);printf(”请输入您要的汽油种类,1-a型汽油售价3.25元/千克,2-b型汽油售价3.00元/千克, 3-c型汽油售价2.75元/千克:”);scanf("%d",&y);printf(" 请输入您要的服务类型,1-自己加服务优惠0.05,2-协助加服务优惠0.10:");scanf("%d",&z);switch(y){case 1:y = a;break;case 2:y = b;break;case 3:y = c;break;}if(z == 1)m = (1 - d) * y * x; else if(z == 2)m = (1 - e) * y * x;",m);printf(" 您需要支付:%f 元,谢谢惠顾,欢迎下次再来return 0;}猜数字游戏#include<stdio.h>#include<stdlib.h>int main(){int d=1,e=0;int a,b,t;printf (" 请输入1-10 以内的整数,\n ");while(d==1){printf(" 玩家的选择: ");scanf("%d",&a);do{if((a>=0)&&(a<11))break; else{printf(" 错误");scanf("%d",&a);}}while(e==0);b=rand()%10+1;printf("npc:%d",b);t=a-b;if(t==0)printf("\nRight!\n");else if(t<0)printf("\n Wrong ! 太小了\ n");else if(t>0)printf("\n Wrong ! 太大了\ n");}return 0;}万年历#include<stdio.h>#include<stdlib.h> void setmonth(int r);void main(void){int year,month,day,a,b,i,j,d,x,mon,k;do{printf(" --------------------------------------------------- \n");printf(" 查全年,输入1!\n");printf(" 查月份,输入2!\n");printf(" 查日期,输入3!\n"); printf(" 继续?输入4!\n");printf(" 退出,输入5!\n"); printf(" ----------------- \n");printf(" 请输入:");scanf("%d",&x);if(x==1){ month=12; printf(" 输入年份:"); scanf("%d",&year);} if(x==2){printf(" 输入年份:"); scanf("%d",&year); printf(" 输入月份:"); scanf("%d",&month);} if(x==3){printf(" 输入年份:"); scanf("%d",&year); printf(" 输入月份:"); scanf("%d",&mon);printf(" 输入日期:"); scanf("%d",&day); month=mon-1;}}if(x==5) exit(100); a=((year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400)%7;for(i=1,d=0;i<=month;i++){ switch(i) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:d=31;break;case 2:if(!(year%4)&&(year%100)||!(year%400)) d=29;elsed=28; break; case 4: case 6: case 9: case 11:d=30;} b=a%7; a+=d; if(x==1){printf("setmonth(i);**\n"); printf("========================================================\n"); printf(" 星期一 星期二 星期三 星期四 星期五 星期天 \n");for(j=1;j<=b;j++) printf("%8c",' '); for(j=1;j<=d;j++) {printf("%8d",j);if((j+b)%7==0) printf("\n");\n");printf( 星期六**\n");printf("========================================================\n");printf(" 星期一 星期二 星期三 星期四 星期五 星期天 \n");for(j=1;j<=b;j++)printf("%8c",' '); for(j=1;j<=d;j++) {printf("%8d",j); if((j+b)%7==0) printf("\n");}printf("\n");}if(x==3){a+=day; a%=7;printf (" 是否继续?输入 4继续,输入 5退出: ");scanf("%d",&k);while(k==4);printf(" }if(x==1)printf("\n");if(x==2)\n");setmonth(i-1);printf( 星期六switch(a){case 0:printf("%d.%d.%d case 1:printf("%d.%d.%d case 2:printf("%d.%d.%d case 3:printf("%d.%d.%d case 4:printf("%d.%d.%d case 5:printf("%d.%d.%d default:printf("%d.%d.%d } printf("\n");}星期一 !",year,mon,day);break;星期二 !",year,mon,day);break;星期三 !",year,mon,day);break;星期四 !",year,mon,day);break;星期五 !",year,mon,day);break;星期六 !",year,mon,day);break;星期天 !",year,mon,day);if(k==5)三 (- --=e H 川。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
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 :";