c语言程序代码.docx
- 文档编号:10614082
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:34
- 大小:20.33KB
c语言程序代码.docx
《c语言程序代码.docx》由会员分享,可在线阅读,更多相关《c语言程序代码.docx(34页珍藏版)》请在冰豆网上搜索。
c语言程序代码
/*韩信点兵*/
#include"stdio.h"
voidmain()
{
inti=900;
for(i=900;i<=1100;i=i++)
if(i%3==1&&i%5==1&&i%7==1)
{printf("满足条件的值为:
%d\n",i);
break;
}
}
/*两个日期之间的天数*/
#include"stdio.h"
voidmain()
{
inti,y,m1,m2,d1,d2;
intd=0;
printf("请输入年月日:
\n如2010年1月3日和3月4日输入格式为20101334\n");
scanf("%d%d%d%d%d",&y,&m1,&d1,&m2,&d2);
y=(y%4==0&&y%100!
=0||y%400==0)?
1:
0;
for(i=m1;i switch(i) { case1: case3: case5: case7: case8: case10: case12: d+=31; break; case4: case6: case9: case11: d+=30; break; case2: d=d+28+y; break; } printf("%d\n",d+d2-d1); } /*N乘方表*/ #include"stdio.h" voidmain() { intn,i,p=1; printf("请输入n的值,按回车键确定! \n"); scanf("%d",&n); do { i=p*p; printf("%.0d的乘方为%.0d\n",p,i); p=p++; }while(p<=n); } /*判断某一日期是当年的第几天*/ #include"stdio.h" voidmain() { intn,year,month,day,month_day_sum=0,sum, month_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; printf("请输入\"年月日\"\n"); scanf("%d%d%d",&year,&month,&day); if(year%100! =0&&year%4==0||year%400==0)month_day[2]=29; if(day>31||day<1||month>12||month<1)printf("错误"); else { for(n=1;n sum=month_day_sum+day; printf("是%d年的第%d天\n",year,sum); } } /*n的阶乘表*/ #include"stdio.h" voidmain() { floatn,i=1,p=1; printf("请输入n的值: \n"); scanf("%f",&n); do { i=i*p; if(p<=15) printf("%.2f的阶乘为%.2f\n",p,i); else printf("%.2f的阶乘为%4.5e\n",p,i); p=p++; }while(p<=n); } /*求一元二次方程的解*/ #include"stdio.h" #include"math.h" voidmain() { intm; do { m=1; floata,b,c,delta,x1,x2,realpt,imagpt; printf("\n\n本程序可求一元二次方程的解。 \n"); printf("请输入一元二次方程的三个参数。 \n"); scanf("%f%f%f",&a,&b,&c); if(a! =0) { delta=b*b-4*a*c; if(delta>0) { x1=(-b+sqrt(delta)/2*a); x2=(+b+sqrt(delta)/2*a); printf("方程的两个不等实根为: x1=%8.4fx2=%8.4f\n",x1,x2); } elseif(delta==0) { x1=x2=-b/(2*b); printf("方程的两个相等实根为: x1=x2=%8.4f\n",x1); } else { delta=-delta; realpt=-b/(2*a); imagpt=sqrt(delta); printf("方程的两个共轭根为: \n"); printf("x1=%8.4f+%8.4fi\n",realpt,imagpt); printf("x2=%8.4f-%8.4fi\n",realpt,imagpt); } } else printf("这不是一元二次方程! \n"); }while(m==1); } /*求三角形的面积*/ #include"stdio.h" #include"math.h" voidmain() { floata,b,c,p,s; printf("\n请输入三角形的三边: \n"); scanf("%f%f%f",&a,&b,&c); if(a+b<=c||b+c<=a||a+c<=b) printf(" 输入有误,请重新输入! \n"); else { p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("三角形的面积s=%.3f\n",s); } } /*把百分制成绩转换为ABC等级制*/ #include"stdio.h" voidmain() { intn,m; printf("请输入分数: \n"); scanf("%d",&m); switch(m/10) { case10: case9: printf("A\n"); break; case8: printf("B\n"); break; case7: printf("C\n"); break; case6: printf("及格\n"); break; case5: case4: case3: case2: case1: case0: printf("不及格! \n"); } } /*其两个自然数的最大公约数和最小公倍数*/ #include"stdio.h" voidmain() { intm,n,j,k,r; do { printf("请按输入数字m,n: \n"); scanf("%d%d",&m,&n); }while(m<0||n<0); r=m*n; while(m%n! =0) { j=m%n; m=n; n=j; k=r/n; } printf("最大公约数是: %d\n",n); printf("最小公倍数是: %d\n",k); } /*求输入n个数的平均值*/ #include"stdio.h" voidmain() { inti=1,n,s=0; floatave,m; printf("请输入一个整数n: \n"); scanf("%d",&n); while(i<=n) { printf("请输入数字! \n"); scanf("%f",&m); s=s+m; i++; ave=s/n; } printf("%d个数的平均值是: %f\n",n,ave); } /*求一个数各个位上的数字之和*/ /*此为C++语句*/ #include usingnamespacestd; intmain() { printf("请输入一个正整数! \n"); intx,n=0; cin>>x; ints=0; while(x) { s+=x%10; x/=10; n++; } printf("各个位上的数之和是: \n"); cout< printf("\n"); return0; } /*求n个数的阶乘之和*/ #include"stdio.h" voidmain() { intodr=1,sum=0; inti,n; printf("请输入一个大于0的正整数: \n"); scanf("%d",&n); for(i=1;i<=n;i++) { odr=odr*i; sum=sum+odr; } printf("%d\n",sum); } /*求n个a的a+aa+aaa+……的和*/ /*此为C++语句*/ #include usingnamespacestd; intmain() { inti,an=0,a,n,tn=0; cout<<"输入a,n: \n"; cin>>a>>n; i=1; an=0; while(i<=n) { tn=tn+a; a=a*10; ++i; an=an+tn; } cout<<"an="< return0; printf("\n"); } /*求e的近似值*/ #include"stdio.h" voidmain() { floati,m=1; floate=1,n; printf("请输入正整数n: \n"); scanf("%f",&n); for(i=1;i<=n;i++) { m=m*i; e=e+1/m; } printf("e的值为: %f\n",e); } /*求2-n之间的所有素数*/ #include #include voidmain() { inti,j,n,m; printf("请输入一个大于2的整数: \n"); scanf("%d",&n); for(j=2;j<=n;j++) { m=(int)sqrt((double)j); for(i=2;i<=m;i++) { if(j%i==0) { break; } } if(i>m) { printf("%d是素数\n",j); } } } /*换钱问题*/ #include voidmain() { intx,y,z,i=0; for(x=1;x<100;x++) for(y=1;y<50;y++) for(z=1;z<20;z++) if(x+2*y+5*z==100) { i++; printf("第%d 种: %d个1角%d个2角%d个5角",i,x,y,z); } printf("共有%d\n种换法! \n",i); } /*兔子狐狸问题*/ #include"stdio.h" intdata[11]; ints(intn) {intnt=n%10; if(nt==0) return10; returnnt; } voidmain() { intnum=1; data[1]=1; for(inti=2;i<=1000;i++) { num+=i; num=s(num); if(data[num]==0) data[num]=num; } for(intk=1;k<10;k++) { if(data[k]==0) printf("兔子藏在第%d洞里\n",k); } } /*小学生算数*/ #include"stdio.h" #include"stdlib.h" #include"time.h" intmain() { while (1) { inta,b,c,d,k,type,op; printf("Pleasechoosethelever! \n1.Easy(0--9)\n2.Hard(10--99)\n"); scanf("%d",&k); printf("Pleasechoosethetypeyouwant! \n"); printf("**********************\n"); printf("*\t1.plus\n*\t2.minus\n*\t3.multiply\n*\t4.divided\n*\t0.exit\n"); printf("**********************\n"); scanf("%d",&type); if(k==1) { a=rand()%10; b=rand()%10; } else { a=rand()%100; b=rand()%100; } if(type==0) { printf("thankyouforusing! \n\n"); break; } if(type==1) { printf("%d+%d=? \n",a,b); while (1) { scanf("%d",&op); if(a+b==op) {printf("Verygood! Youarerigth! \n\n"); break; } else printf("Sorry,youarewrong! \nPleaseagain! \n"); } } elseif(type==2) { printf("%d-%d=? \n",a,b); while (1) { scanf("%d",&op); if(a-b==op) {printf("Verygood! Youarerigth! \n\n"); break; } elseprintf("Sorry,youarewrong! \nPleaseagain! \n"); } } elseif(type==3) { printf("%d*%d=? \n",a,b); while (1) { scanf("%d",&op); if(a*b==op) { printf("Verygood! Youarerigth! \n\n"); break; } elseprintf("Sorry,youarewrong! \nPleaseagain! \n"); } } elseif(type==4) { b=b+1; printf("%d/%d=? 商几余几\n",a,b); while (1) { scanf("%d%d",&c,&d); if(c==a/b&&d==a%b) { printf("Verygood! Youarerigth! \n\n"); break; } elseprintf("Sorry,youarewrong! \nPleaseagain! \n"); } } } return0; } /*小学生算数第二种方法*/ #include #include #include intquestion_get1(); intquestion_get2(); inttype; voidmain(void) { intanswer,Lever; srand((unsigned)time(NULL)); out: printf("1.一位数运算! 2.两位数运算! \n"); scanf("%d",&Lever); printf("请选择要测试的题目种类: "); printf("\n1.加法\n2.减法\n3.乘法\n4.除法\n"); scanf("%d",&type); while (1)//实现系统循环 { inttemp; charflag; while(Lever==1) { answer=question_get1();//调用一位数运算函数 printf("请给出你的答案: \n"); break;// 要跳出此次while循环 } while(Lever==2) { answer=question_get2();//调用二位数运算的函数 printf("请给出你的答案: \n"); break;//要跳出此次while循环 } fflush(stdin); scanf("%d",&temp);//储存测试者输入的结果 while(temp! =answer)//判断结果的对错错误时实现循环运算 { printf("\n笨蛋,youarewrong! again! \n"); fflush(stdin);//继续运算 scanf("%d",&temp); } printf("\n天才! youarerigth! Verygood! \n"); printf("press1togoon,press2toexit,press0toend! \n");//选择菜单 fflush(stdin); scanf("%c",&flag); while(flag! ='1'&&flag! ='2'&&flag! ='0')//选择菜单判断 { printf("press1togoon,press2toexit,press0toend! \nelsenoworking! \n"); fflush(stdin); scanf("%c",&flag); } if(flag=='2') gotoout;//回到out实现整个系统的循环 elseif(flag=='0') break;//结束本程序 } } intquestion_get1()//子函数一位数运算 { inta,b,c; if(type==1) { a=rand()%10;//在10以内产生随机数 b=rand()%10;//在10以内产生随机数 printf("%d+%d=? ",a,b); return(a+b); } elseif(type==2) { b=rand()%10;//在10以内产生随机数 c=rand()%10;//在10以内产生随机数 printf("%d-%d=? ",b+c,b); return(c); } elseif(type==3) { a=rand()%10;//在10以内产生随机数 b=rand()%10;//在10以内产生随机数 printf("%d*%d=? ",a,b); return(a*b); } else { b=rand()%10; c=rand()%9+1; printf("%d/%d=? ",b*c,b); return(c); } } intquestion_get2()//子函数二位数运算 { inta,b,c; if(type==1) { a=rand()%100;//在100以内产生随机数 b=rand()%100;//在100以内产生随机数 printf("%d+%d=? ",a,b); return(a+b); } elseif(type==2) { b=rand()%100;//在100以内产生随机数 c=rand()%100;//在100以内产生随机数 printf("%d-%d=? ",b+c,b); return(c); } elseif(type==3) { a=rand()%100;//在100以内产生随机数 b=rand()%100;//在100以内产生随机数 printf("%d*%d=? ",a,b); return(a*b); } else { b=rand()%10; c=rand()%10+1; printf("%d/%d=? ",b*c,c); return(b); } } //数组合并问题 /*本程序可实现将随机产生的两个数m<10,n<100;\n将n插入随机产生的一个10元素一维数组第m个位置上*/ #include"stdio.h" #include"stdlib.h" #include"time.h" intmain() { intA[ 11]; inti,m,n,c; srand((unsigned)time(NULL)); printf("*本程序可实现将随机产生的两个数m<10,n<100;\n将n插入随机产生的一个10元素一维数组第m个位置上\n"); while (1) { printf("\n*.按1运行本程序\n*.按其他任意键退出退出系统\n"); scanf("%d",&c); if(c==1) { for(i=0;i<10;i++) { A[i]=rand()%100; } printf("随机产生的数组为: \n"); for(i=0;i<10;i++) printf("%3d",A[i]); printf("\n"); m=rand()%10; n=rand()%100; printf("随机产生的m=%d\n",m); printf("随机产生的n=%d\n",n); for(i=0;i<10;i++) { if(i==m-1) { for(i=11;i>=m;i--) { A[i]=A[i-1]; } A[i]=n; } } printf("插入后的数组为: \n"); for(i=0;i<=10;i++) printf("%3d",A[i])
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序代码