c语言编程例题.docx
- 文档编号:29431505
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:92
- 大小:32.45KB
c语言编程例题.docx
《c语言编程例题.docx》由会员分享,可在线阅读,更多相关《c语言编程例题.docx(92页珍藏版)》请在冰豆网上搜索。
c语言编程例题
/*Hw1.3例程三房地产问题*/
/*************************************************************************/
#include
#include
intmain_h1_3()
{
floatx,y;
intyear;
scanf("%f%f",&x,&y);
year=(int)ceil(3.1416*(x*x+y*y)/2/50);
printf("Becorradedafter%dyears.\n",year);
return0;
}
/*Ex3.1与7无关数的平方和*/
/*************************************************************************/
#include
intmain_e3_1()
{
inti,k,sum=0;
scanf("%d",&k);
for(i=1;i<=k;i++)
{
if((i%7!
=0)&&(i/10!
=7)&&(i%10!
=7))
sum+=i*i;
}
printf("%d",sum);
return0;
}
/*************************************************************************/
/*Ex3.6生日相同*/
/*************************************************************************/
/*不使用排序的例程*/
#include
intmain_e3_6()
{
/*定义学生结构*/
structstudent_t{
charno[11];
intm,d;
}students[100];
intn,i,j,m,d;
/*读入所有学生的学号,生日*/
scanf("%d",&n);
for(i=0;i scanf("%s%d%d",students[i].no,&students[i].m,&students[i].d); } /*查看每天出生的学生,如果有生日重复的,打印他们*/ for(m=1;m<=12;m++){ for(d=1;d<=31;d++){ for(i=0,j=-1;i if(students[i].m==m&&students[i].d==d){ if(j! =-1) break;/*遇到生日相同的学生,中断循环*/ else j=i;/*遇到第一个当天过生日的学生*/ } } /*当且仅当i if(i printf("%d%d%s",m,d,students[j].no); for(;i if(students[i].m==m&&students[i].d==d){ printf("%s",students[i].no); } } printf("\n"); } } } return0; } /*使用排序的例程*/ #include intmain_e3_6_sort() { /*定义学生结构*/ structstudent_t{ charno[11]; intm,d; }students[100],t; intn,i,j; /*读入所有学生的学号,生日*/ scanf("%d",&n); for(i=0;i scanf("%s%d%d",students[i].no,&students[i].m,&students[i].d); } /*按生日排序,冒泡排序*/ for(i=0;i for(j=n-1;j>i;j--){ if(students[j].m (students[j].m==students[j-1].m&& students[j].d t=students[j]; students[j]=students[j-1]; students[j-1]=t; } } } /*查找生日相同的学生并打印他们*/ for(i=1;i /*当前学生与前一个学生的生日相同*/ if(students[i-1].m==students[i].m&& students[i-1].d==students[i].d){ printf("%d%d",students[i-1].m,students[i-1].d); for(i=i-1;i printf("%s",students[i].no); if(i==n-1|| students[i].m! =students[i+1].m|| students[i].d! =students[i+1].d){ break; } } printf("\n"); } } return0; } /*************************************************************************/ /*Fr1.1连续分数求和*/ /*************************************************************************/ #include intmain_f1_1() { inti,n; doublesum; scanf("%d",&n); for(i=1;i<=n;i++){ sum+=1/(double)i; } printf("%.9lf",sum); return0; } /*************************************************************************/ /*Fr1.2整数的立方和*/ /*************************************************************************/ #include intmain_f1_2() { inti,n,total=0; scanf("%d",&n); for(i=1;i<=n;i++){ total=total+i*i*i; } printf("%d",total); return0; } /*************************************************************************/ /*Fr1.3整数的立方和*/ /*************************************************************************/ #include intmain_f1_3() { inti,a,b,c; for(i=100;i<1000;i++){ a=i%10; c=i/100; b=(i/10)%10; if(a*a*a+b*b*b+c*c*c==i) printf("%d\n",i); } return0; } /*************************************************************************/ /*Fr1.4计算f(x)=1+1/(1+1/(...+1/(1+1/x)...))*/ /*************************************************************************/ /*递归算法*/ #include doublef(doublex,intn) { if(n==1) return(1+1/x); else return(f(1+1/x,n-1)); } intmain_f1_4() { intn; doublex; scanf("%d%lf",&n,&x); printf("%.10lf\n",f(x,n)); return0; } /*递推算法*/ #include intmain_f1_4_for() { intn,i; doublex,sum=0; scanf("%d%lf",&n,&x); for(i=0;i sum=1+1/x; x=sum; } printf("%.10lf",sum); return0; } /*************************************************************************/ /*Fr1.5计算f(x)=1+1/(1+1/(...+1/(1+1/x)...))*/ /*************************************************************************/ #include intmain_f1_5() { inta,b,c; for(a=1;a<=100;a++){ for(b=a+1;b<=100;b++){ for(c=b+1;c<=100;c++){ if(a*a+b*b==c*c) printf("%d*%d+%d*%d=%d*%d\n",a,a,b,b,c,c); /*可选的,在下面条件成立时,满足条件的c不存在*/ elseif(a*a+b*b break; } } } return0; } /*************************************************************************/ /*Fr1.6求前n个素数*/ /*************************************************************************/ /*素数没有除1和其本身以外的因子*/ #include intmain_f1_6() { intn,i,sum=0,k=2; scanf("%d",&n); while(sum for(i=2;i if(k%i==0){ break; } } if(i>=k){ printf("%d\n",k); sum++; } k++; } return0; } /*优化: 合数的因子不会比其平方根更大*/ #include intmain_f1_6_sqrt() { intn,i,sum=0,k=2; scanf("%d",&n); while(sum for(i=2;i*i<=k;i++){ if(k%i==0){ break; } } if(i*i>k){ printf("%d\n",k); sum++; } k++; } return0; } /*进一步优化: 仅考虑奇数,特殊处理素数2*/ #include intmain_f1_6_odd() { intn,i,sum=0,k=3; scanf("%d",&n); if(sum printf("2\n"); sum++; } while(sum for(i=3;i*i<=k;i+=2){ if(k%i==0){ break; } } if(i*i>k){ printf("%d\n",k); sum++; } k+=2; } return0; } /*小于第n个素数的合数的因子一定在前n-1个素数中*/ /*最优化: 用数组记录下来所有已经求得的素数*/ #include #include intmain_f1_6_prime() { intn,i,sum,k; int*primes; scanf("%d",&n); primes=(int*)malloc(sizeof(int)*(n+1)); primes[0]=2; sum=1; k=3; while(sum for(i=0;primes[i]*primes[i] if(k%primes[i]==0){ break; } } if(primes[i]*primes[i]>k){ primes[sum++]=k; } k+=2; } for(i=0;i printf("%d\n",primes[i]); } return0; } /*************************************************************************/ /*Fr1.7配置生理盐水*/ /*************************************************************************/ #include intmain_f1_7() { inti,n; floata,b,c; scanf("%d",&n); for(i=0;i scanf("%f",&a); b=0.009f*a/0.1f; c=a-b; printf("%.1f%.1f\n",b,c); } return0; } /*************************************************************************/ /*Fr1.8星期几? */ /*************************************************************************/ #include intmain_f1_8() { intyear,month,day; inti,s,sum=0; scanf("%d%d%d",&year,&month,&day); /*星期数,每400年一轮回*/ s=(year-1)%400+1; for(i=1;i /*非闰年,每年星期数增加1*/ if(i%4! =0||(i%100==0&&i%400! =0)){ sum++; } /*闰年,每年星期数增加2*/ elseif((i%4==0&&i%100! =0)||i%400==0){ sum+=2; } } for(i=1;i /*大月,每月星期数增加3*/ if(i==1||i==3||i==5||i==7||i==8||i==10){ sum+=3; } /*小月,每月星期数增加2*/ elseif(i==4||i==6||i==9||i==11){ sum+=2; } /*2月,非闰年,星期数不变*/ elseif(i==2&&(year%4! =0||(year%100==0&&year%400! =0))){ sum+=0; } /*2月,闰年,星期数增加1*/ elseif(i==2&&(year%4==0&&year%100! =0)||year%400==0){ sum+=1; } } /*累加当月天数*/ sum+=day; switch(sum%7){ case1: printf("Mon."); break; case2: printf("Tue."); break; case3: printf("Wed."); break; case4: printf("Thu."); break; case5: printf("Fri."); break; case6: printf("Sat."); break; case0: printf("Sun."); } return0; } /*************************************************************************/ /*Hw4.1数组练习*/ /*************************************************************************/ #include #include intmain_h4_1() { intpositive=0,negative=0,sum=0,min,max,i,n; inta[100]; scanf("%d",&n); for(i=0;i scanf("%d",&a[i]); } for(i=0;i sum+=a[i]; if(i==0){ min=max=a[i]; } if(a[i]>0){ positive++; } elseif(a[i]<0){ negative++; } if(abs(a[i]) min=a[i]; } if(abs(a[i])>abs(max)){ max=a[i]; } } printf("%d\n",positive); printf("%d\n",negative); printf("%d\n",sum); printf("%d\n",max); printf("%d\n",min); return0; } /*不使用数组也能做此题*/ #include #include intmain_h4_1_noarray() { intpositive=0,negative=0,sum=0,min,max,i,n,t; scanf("%d",&n); for(i=0;i scanf("%d",&t); sum+=t; if(i==0){ min=max=t; } if(t>0){ positive++; } elseif(t<0){ negative++; } if(abs(t) min=t; } if(abs(t)>abs(max)){ max=t; } } printf("%d\n",positive); printf("%d\n",negative); printf("%d\n",sum); printf("%d\n",max); printf("%d\n",min); return0; } /*************************************************************************/ /*Hw4.2数组练习*/ /*************************************************************************/ #include intmain_h4_2() { inti,j,n; inta[100]; /*读入数组*/ scanf("%d",&n); for(i=0;i scanf("%d",&a[i]); } /*逆序重放*/ for(i=0,j=n-1;i intt=a[i]; a[i]=a[j]; a[j]=t; } /*输出结果*/ for(i=0;i if(i>0) printf("%d",a[i]); else printf("%d",a[i]); } return0; } /*************************************************************************/ /*Hw4.3肿瘤面积*/ /*************************************************************************/ #include intmain_h4_3() { int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 例题