一、一到一百求和#include<stdio.h>main(){inti,sum;for(i=1,sum=0;i<=100;sum+=i++);printf("1+2+……+100=%d",sum);}如果求偶数和,则变成:for(i=2,sum=0;I<=100;sum=sum+i,i+=2);已知循环次数有for循环比较方便,循环次数未知用do while或while比较方便。
二、计算三角形面积#include<stdio.h>#include<math.h>main(){float a,b,c,s,area;printf("请输入三角形的三边:\n");scanf("%f%f%f",&a,&b,&c);while(c>a+b||a>c+b||b>a+c){printf("所输入数据组不成三角形\n");printf("请再次输入三角形的三边:\n");scanf("%f%f%f",&a,&b,&c);}{s=(a+b+c)/2.;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%5.2f,b=%5.2f,c=%5.2f,s=%7.2f \n",a,b,c,s);printf("area=%7.2f\n",area);}}三、解一元二次方程#include<stdio.h>#include<math.h>main(){float a,b,c,dt,p,q,x1,x2;printf("请以此输入一元二次方程系数a,b,c\n");scanf("%f%f%f",&a,&b,&c);dt=b*b-4*a*c;if(dt>=0){p=-b/(2*a);q=sqrt(dt)/(2*a);x1=p+q;x2=p-q;printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2); }elseprintf("方程无解");}四一箭穿心图案main(){printf("\n");printf(" * * * *\n"); printf(" * * * *\n"); printf(" * * *\n");printf(" >>>------I LOVE YOU !------->\n"); printf(" * *\n"); printf(" * *\n"); printf(" * *\n"); printf(" * *\n");printf(" *\n");}五、得出字符ASCII码#include<stdio.h>main(){char c;printf("请输入一个字符:\n");scanf("%c",&c);printf("字符是:%c,它的ASCII码是:%d\n",c,c);六、破解密码#include<stdio.h>#define PASSWORD 154533main(){inti;for (i=1;i<=999999;i++){if (i==PASSWORD){printf("小样,你的密码被破了。
密码是:%d",i);break;}}}六、求100-1000内水仙花数#include<stdio.h>main(){inti,a,b,c;printf("100-999间的水仙花数为:\n");for (i=100;i<=999;i++){a=i%10;b=(i/10)%10;c=i/100;if(a*a*a+b*b*b+c*c*c==i)printf("%4d",i);}}七、求1000内7与11的共同公倍数#include<stdio.h>main(){int a[1000];intn,i,j;j=0;for(n=1;n<=1000;n++)if(n%7==0&&n%11==0)a[j++]=n;printf("共有%d个数据符合条件,他们是:\n",j);for(i=0;i<j;i++)printf("%d ",a[i]);printf("\n");}八、求1-1000内的素数#include<stdio.h>#include<math.h>main(){inti,k;float j;printf("1-1000内的素数为: \n ");for(i=2;i<=1000;i++){j=sqrt(i);for(k=2;k<j;k++)if (i%k==0) break;if(k>j)printf("%d ",i);}}九、用数组输出50-100内的素数#include<stdio.h>#include<math.h>main(){int a[50],n,i,j;float k;j=0;for(n=50;n<=100;n++){k=sqrt(n);for(i=2;i<k;i++)if(n%i==0) break;if(i>k) a[j++]=n;}printf("共有%d素数,他们是:\n",j);for(i=0;i<j;i++)printf("%d ",a[i]);}十、输入成绩并求和#include<stdio.h>main(){float score[10];inti,cnt;float sum=0.0,aver=0.0;for (i=0;i<10;i++)scanf("%f",&score[i]);cnt=0;for(i=0;i<10;i++){if (score[i]>=60) cnt++;sum+=score[i];}aver=sum/10.0;printf("及格人数=%d\n",cnt);printf("平均成绩=%5.1f\n",aver);}十一、删除重复数据并保留一个(数据已从小到大排序)#include<stdio.h>main(){inta[20]={2,2,2,2,3,3,3,3,4,4,4,5,5,6,7,7,7,8,11,1 1},n=20;inti,j=0,t=-1;for (i=0;i<n;i++)if(a[i]!=t){a[j++]=a[i];t=a[i];}n=j;printf("删除重复数据后为:\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n");}十二、二分法查找数据#include<stdio.h>main(){int a[10]={2,3,4,5,7,9,15,34,45,67};int low=0,high=9,mid;while (low<=high){mid=(low+high)/2;if (a[mid]<34)low=mid+1;else if(a[mid]>34)high=mid-1;elsebreak;}if (low>high)printf("该数据中没有找到34,\n");elseprintf("找到34,他的下标是%d",mid);} 十三、选择排序法#include<stdio.h>#define N 5main(){int a[N]={4,5,3,2,7};inti,j,t;for (i=0;i<N-1;i++)for (j=i+1;j<N;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}for (i=0;i<N;i++)printf ("%d ",a[i]);}十四、冒泡排序法int a[100]={0};inti,j,k,n,temp;printf("请输入数组大小n:\n"); scanf("%d",&n);printf("请输入数组内元素:\n"); for (i=0;i<n;i++)scanf("%d",&a[i]);for (j=0;j<n;j++)for(k=0;k<n-1-j;k++)if (a[k]>a[k+1]){temp=a[k];a[k]=a[k+1];a[k+1]=temp;}printf("排序后为:\n");for(j=0;j<n;j++)printf("%d ",a[j]);}十五、插入法排序方法一、#include<stdio.h>#define N 5main(){int b[N]={4,5,3,2,7};inti,j,k,date;for (i=1;i<N;i++){date=b[i];for (j=0;j<i;j++)if (b[j]>date)break;k=j;for (j=i-1;j>=k;j--)b[j+1]=b[j];b[k]=date;}for (i=0;i<N;i++)printf ("%d ",b[i]);}方法二、int a[100]={0};inti,j,k,m,n,temp;printf("请输入数组大小n:\n"); scanf("%d",&n);printf("请输入数组内元素:\n"); for (i=0;i<n;i++)scanf("%d",&a[i]);for (j=1;j<n;j++){temp=a[j];for(k=0;k<j;k++)if (a[k]>temp) break;m=k;for(k=j-1;k>=m;k--)a[k+1]=a[k];a[m]=temp;}printf("排序后为:\n");for(j=0;j<n;j++)printf("%d ",a[j]);方法三、int a[100]={0};inti,j,k,m,n=0,temp;printf("请输入数组大小n:\n"); scanf("%d",&n);printf("请输入数组内元素:\n"); for (i=0;i<n;i++){scanf("%d",&temp);for (j=i;j>0;j--){if(a[j-1]>temp)a[j]=a[j-1];elsebreak;}a[j]=temp;}printf("排序后为:\n");for(i=0;i<n;i++)printf("%d ",a[i]);十六、打印杨辉三角{int proc(inti,int j);intn,i,j;printf("请输入高度:");scanf("%d",&n);for (i=1;i<=n;i++){for(j=0;j<n-i;j++)printf(" ");for (j=1;j<=i;j++){if(j==1)printf("%d",proc(i,j));elseprintf("%6d",proc(i,j));}printf("\n");}return 0;}int proc(inti,int j){if(j==1||j==i)return 1;elsereturn (proc(i-1,j-1)+proc(i-1,j)); }。