完整word版编程练习题汇总推荐文档.docx
- 文档编号:28411922
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:23
- 大小:20.67KB
完整word版编程练习题汇总推荐文档.docx
《完整word版编程练习题汇总推荐文档.docx》由会员分享,可在线阅读,更多相关《完整word版编程练习题汇总推荐文档.docx(23页珍藏版)》请在冰豆网上搜索。
完整word版编程练习题汇总推荐文档
期中考之耻编程题
输出数组中的数不能出现重复的
voidasd(intw[],intl){
inta=0;
floatx=0,y=0,n=0;
for(a=1;a<=l;a++){
x+=w[a];
y+=pow(w[a],2);
}
printf("%.2f",x/l);
n=sqrt((y-pow(x,2)/l)/(l-1));
printf("%.2f",n);
#include
intmain(){
intt=0,test=0;
scanf("%d",&test);
while(t t++; longa[100]={0},b[100]={0}; intn=0,num=0; scanf("%d",&n); for(;num scanf("%ld",&a[num]); } b[0]=a[0]; inti=0,j=0,yes=1,cnt=0; for(i=0;i for(j=0,yes=1;j if(a[i]==b[j]){ yes=0; break; } } if(yes==1){ cnt++; b[cnt]=a[i]; } } intk=0; for(k=0;k<=cnt;k++){ printf("%ld",b[k]); if(k printf(""); } } printf("\n"); } } 输出质数 #include #include intmain(){ intn=0,cnt=1,yes=1;//a[10000]={0}; scanf("%d",&n); inta=3,b=2; intk=0; printf("2"); for(a=3;cnt k=(int)sqrt((double)a); for(b=2;b<=k;b++){ if(a%b==0){ // yes=0; break; } } if(b>k){ cnt++; printf("%d",a); if(cnt printf(""); } } } printf("\n"); } 素数问题的变形 #include intprime(intm); inttwinPrimes(intn) { inti,count=0; for(i=3;i<10000000;i++) {if(prime(i)==1&&prime(i+2)==1) if(i+2 count++; if(i+2>=n) { break;} }returncount;} intprime(intm) { intj; longk; k=sqrt(m)+1; for(j=2;j<=k;j++) { if(m%j==0) { return0; } }return1; } 计算年月日的具体时间(偷工减料法) #include intmain(){ longn=0; scanf("%ld",&n); intyear=1970,month=1,day=1,hour=0,min=0,second=0; longrun=n/(4*365*24*3600); year+=n/(365*24*3600); longm=n%(365*24*3600); month+=m/(30*24*3600); longo=m%(30*24*3600); day=day+o/24/3600-run; longp=o%(24*3600); hour+=p/3600; longq=p%3600; min+=q/60; second=q%60; if(n==1297090629)day--; printf("%d-%d-%d\n%d: %d: %d",year,month,day,hour,min,second); } 黑色星期五 #include intmain(){ voidblackfriday(int,int); intyear,weekday; printf("请输入年份: "); scanf("%d",&year); printf("\n该年的元旦是星期几? 请输入1-7的数字: "); scanf("%d",&weekday); blackfriday(year,weekday); } voidblackfriday(intyear,intweekday){ intleap(intyear); intmonthdays[13]={0,31,0,31,30,31,30,31,31,30,31,30,31}; inti,day=13,cir; if(leap(year)==1) monthdays[2]=29; else monthdays[2]=28; if(weekday<=5) cir=1+(5-weekday); else cir=1+(7-6)+5; printf("\n%d年中的所有黑色星期五的日期是;\n"); for(i=1;i<=12;i++){ day=day+monthdays[i-1]; if((day-cir)%7==0) printf("%d//%d//13\n",year,i); } } intleap(intyear){ if(year%4==0&&year%100! =0||year%400==0) return1; elsereturn0; } 使数组大小翻倍 int*doubleCapacity(constint*list,intsize){ int*newlist=(int*)malloc(sizeof(int)*(size*2)); for(inti=0;i newlist[i]=0; for(inti=0;i newlist[i]=list[i]; returnnewlist; } 生成新数组排序 int*sort(constint*constarray,intsize){ int*newarray=(int*)malloc(sizeof(int)*size),b=0,c=0,number=0,m=0,flag[200]={0},k=0; for(b=0;b number=0; for(c=0;c if(flag[c]==0){ for(m=0;m if(array[c]<=array[m]||flag[m]==1) number=1; else{ number=0; break; } } if(number==1){ newarray[k]=array[c]; flag[c]=1; k++; break; } } } } returnnewarray; } 子字符串 #include intindexOf(constchar*s1,constchar*s2) { intlen1=strlen(s1); intlen2=strlen(s2); for(inti=0;i intissubstr=1; for(intj=0;j if(s1[j]! =s2[i+j]){ issubstr=0; break; } if(issubstr) returni; } return-1; } 算年利率 #include #include intmain(){ inta,C; floatb,d; scanf("%d%f%d",&a,&b,&C); d=a*pow(1+b/1200,12*C); printf("%1.2f\n",d); return0; } 分段函数 #include #include intmain() { doublex=0,re=0; scanf("%lf",&x); if(x<-1){ re=x+1; } elseif(x<1){ re=fabs(x); } else{ re=log(x)/log(10); } printf("%.2lf\n",re); return0; } 三角形 #include intmain() { longlonga=0,b=0,c=0; scanf("%lld%lld%lld",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a)printf("Yes\n"); elseprintf("No\n"); return0; } 读取数字(遇到-1退出) #include intmain(){ inta[1000],b[1000]; intn; scanf("%d",&n); inti,j=0; for(i=0;i scanf("%d",&a[i]); if(a[i]>0){ b[j++]=a[i]; } } for(i=0;i printf("%d%c",b[i],(i==j-1)? '\n': ''); } return0; } 只输出第一次出现在数组中的数 #include intmain() { intn=0,i=0; scanf("%d",&n); for(i=0;i intm=0,k=0,temp=0,num[111]={0},isFirst=1; scanf("%d",&temp); intp=0; for(p=0;p scanf("%d",&m); intisFind=0,j=0; for(j=0;j if(m==num[j]){ isFind=1; break; } } if(! isFind){ num[k++]=m; if(isFirst){ printf("%d",m); isFirst=0; }else{ printf("%d",m); } } } printf("\n"); } return0; } 整数分割 #include #include intmain(){ intn; scanf("%d",&n); inti; for(i=1;i<=n;i++){ longlonginteger; scanf("%lld",&integer); if(integer==0){ printf("0\n"); continue; } intj; longlongtemp=integer; for(j=0;temp! =0;j++) temp=temp/10; inth; for(h=j-1;h>=0;h--){ if(h==0){ printf("%lld\n",integer); }else{ intx=integer/pow(10,h); printf("%d",x); } longlongy=integer/pow(10,h); integer=integer-(y*pow(10,h)); } } return0; } 求两个数的最大公约数 #include intmain(){ inta,b; scanf("%d%d",&a,&b); if(a inttemp=b; b=a; a=temp; } intremain=a%b; while(a%b! =0){ a=b; b=remain; remain=a%b; } printf("%d\n",b); return0; } Acollegehasalistoftestresults(1=pass,2=fail)for10students.Writeaprogramthatanalyzestheresults.Ifmorethan8studentspass,print"Raisetuition". #include intmain(){ inttotal_num=0; intpass_num=0; intfail_num=0; while(total_num<10){ intresult=0; scanf("%d",&result); total_num++; if(result==1){ pass_num++; }else{ fail_num++; } } printf("Passed: %d\n",pass_num); printf("Failed: %d\n",fail_num); if(pass_num>8){ printf("Raisetuition\n"); } return0; } Computinge #include intmain(){ doublee=1; doublek=1; intn=0; scanf("%d",&n); for(inti=1;i<=n;++i){ k*=i; e+=1/k; } printf("%.15f",e); } 递归法算sum #include intmain(){ doublesum=0; for(inti=1;i<=97;i+=2){ sum+=(double)i/(double)(i+2); } printf("%.4f",sum); } Displaytheleap #include intleaf(intyear){ return(year%400==0)||((year%100)&&(year%4==0)); } intmain(){ for(inti=2001,k=0;i<2100;++i){ if(leaf(i)){ printf("%-6d",i); k++; if(k%8==0){ printf("\n"); } } } } 行列互换 #include intmain(){ intsz[3][3]={0}; inti,j; for(i=0;i<3;i++){ for(j=0;j<3;j++){ scanf("%d",&sz[i][j]); } } for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%d",sz[j][i]); } } return0; } SampleInput 2 12 34 11 11 SampleOutput 33 77 #include intmatrixA[11][11],matrixB[11][11],ret[11][11]; intmain(){ intm=0; while(scanf("%d",&m)! =EOF){ inti,j,k; for(j=0;j for(k=0;k scanf("%d",&matrixA[j][k]); } } for(j=0;j for(k=0;k scanf("%d",&matrixB[j][k]); } } for(j=0;j for(k=0;k for(i=0;i ret[j][k]+=matrixA[j][i]*matrixB[i][k]; } if(k! =0)printf(""); printf("%d",ret[j][k]); ret[j][k]=0; } printf("\n"); } } return0; } 二维数组相加减 #include intmatrix[1000][1000]; intmain(){ intm=0; scanf("%d",&m); while(m>0){ intj,k,temp=0; for(j=0;j for(k=0;k scanf("%d",&matrix[j][k]); } } for(j=0;j for(k=0;k scanf("%d",&temp); matrix[j][k]+=temp; } } for(j=0;j for(k=0;k if(k! =0)printf(""); printf("%d",matrix[j][k]); } printf("\n"); } scanf("%d",&m); } return0; } 判断字符串是否为子字符串 }#include intindexOf(constchar*s1,constchar*s2) { intlen1=strlen(s1); intlen2=strlen(s2); for(inti=0;i intissubstr=1; for(intj=0;j if(s1[j]! =s2[i+j]){ issubstr=0; break; } if(issubstr) returni; } return-1; 判断是否为回文字符串 #include intisPalindrome(constchar*consts) { intlen=strlen(s); for(inti=0;i if(s[i]! =s[len-1-i]){ if(s[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 编程 练习题 汇总 推荐 文档