C语言--小例题

  1 完倍数
  2 #include <stdio.h>
  3 void main()
  4 {
  5     int i,j,k;
  6     for(i=1;i<=1000;i++)
  7     {
  8         k=0;
  9         for(j=1;j<i;j++)
 10         {
 11             if(i%j==0)
 12             {
 13                 k=k+j;
 14             }
 15         }
 16         if(i==k)
 17         {
 18             printf("%d\t",j);
 19         }
 20     }
 21 }
 22 
 23 1000以内最大49的倍数是几?是第几个数?
 24 #include <stdio.h>
 25 void main()
 26 {
 27     int i=1,j,t=0;
 28     while(i<=1000)
 29     {
 30         if(i%49==0)
 31         {
 32             j=i;
 33             t+=1;
 34         }
 35         i++;
 36     }
 37     printf("%d  %d\t",j,t);
 38 }
 39 
 40 1000以内49的所有倍数
 41 #include <stdio.h>
 42 void main()
 43 {
 44     int i=1;
 45     while(i<=1000)
 46     {
 47         if(i%49==0)
 48         {
 49             printf("%d\t",i);
 50         }
 51             i++;
 52     }
 53 }
 54 
 55 1000以内49的最大倍数
 56 #include <stdio.h>
 57 void main()
 58 {
 59     int i=1,j;
 60     while(i<=1000)
 61     {
 62         if(i%49==0)
 63         {
 64             j=i;
 65         }
 66         i++;
 67     }
 68     printf("%d\t",j);
 69 
 70 }
 71 
 72 100以内1加到多少刚好超过100?
 73 #include <stdio.h>
 74 void main()
 75 {
 76     int i=0,s=0;
 77     while(s<=100)
 78     {
 79         i++;
 80         s=s+i;
 81     }
 82     printf("%d\t%d\n",i,s);
 83 }
 84 
 85 用while语句写100以内被7整除的数
 86 #include <stdio.h>
 87 void main()
 88 {
 89     int i=1;
 90     while(i<=100)
 91     {
 92         if(i%7==0)
 93         {
 94             printf("%d\t",i);
 95         }
 96         i++;
 97     }
 98 }
 99 
100 用while语句算1加到100
101 #include <stdio.h>
102 void main()
103 {
104     int i=1,s=0;
105     while(i<=100)
106     {
107         s=s+i;
108         i++;
109     }
110     printf("%d\t",s);
111 }
112 
113 100以内可以用根号开出的自然数对
114 #include <stdio.h>
115 #include <math.h>
116 void main()
117 {
118     int i,j;
119     for(i=1;i<=100;i++)
120     {
121         for(j=1;j<=i;j++)
122         {
123             if(sqrt(i+j)==(int)sqrt(i+j) && sqrt(i-j)==(int)sqrt(i-j))
124             {
125                 printf("%d-%d\t",i,j);
126             }
127         }
128     }
129 }
130 
131 100以内可以用根号开出的数
132 #include <stdio.h>
133 #include <math.h>
134 void main()
135 {
136     int i;
137     for(i=1;i<=100;i++)
138     {
139         if(sqrt(i)==(int)sqrt(i))
140         {
141             printf("%d\t",i);
142         }
143     }
144 }
145 
146 小孩搬砖:共有37人搬砖,男人一次搬2块,女人一次搬一块,2个小孩搬一块,写程序
147 #include <stdio.h>
148 #include <math.h>
149 void main()
150 {
151     int x,y,z;
152     for(x=1;x<=37;x++)
153     {
154         for(y=1;y<=37;y++)
155         {
156             for(z=1;z<=37;z++)
157             {
158                 if(x+y+z==37 && 2*x+y+z/2==37 && z%2==0)
159                     printf("%d,%d,%d\n",x,y,z);
160             }
161         }
162     }
163 }
164 
165 数组冒泡排序
166 #include <stdio.h>
167 void main()
168 {
169     int a[10],i,j,t;
170     printf("请任意输入10个整数:");
171     for(i=0;i<10;i++)
172     {
173         scanf("%d",&a[i]);
174     }
175     for(i=0;i<=9;i++)
176     {
177         for(j=0;j<=9-i;j++)
178         {
179             if(a[j]>a[j+1])
180             {
181                 t=a[j];
182                 a[j]=a[j+1];
183                 a[j+1]=t;
184             }
185         }
186     }
187     for(i=1;i<=9;i++)
188     {
189             printf("%d   ",a[i]);
190     }
191 }
192 
193 用for语句显示100以内可以被7整除的数
194 #include <stdio.h>
195 void main()
196 {
197     int i;
198     for(i=1;i<=100;i++)
199     {
200         if(i%7==0)
201         {
202             printf("%d\t",i);
203         }
204     }
205 }
206 
207 水仙花树
208 #include <stdio.h>
209 void main()
210 {
211     int i,j,k;
212     for(i=1;i<=9;i++)
213     {
214         for(j=0;j<=9;j++)
215         {
216             for(k=0;k<=9;k++)
217             {
218                 if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
219                 {
220                     printf("%d%d%d\t",i,j,k);
221                 }
222             }
223         }
224     }
225 
226 }
227 
228 用程序写出2/(3*4)+4/(5*6)+……+20/(21*22)
229 #include <stdio.h>
230 void main()
231 {
232     int i;
233     float s=0;
234     for(i=2;i<=20;i=i+2)
235     {
236         s=s+(i*1.0)/((i+1)*(i+2));
237     }
238     printf("s=%f",s);
239 }
240 
241 若输入1,56101316181958,100这10个数字,请利用数组球其最大值
242 #include <stdio.h>
243 void main()
244 {
245     int a[10]={1,5,6,10,13,16,18,19,58,100};
246     int i,max;
247     max=0;
248     for(i=0;i<=9;i++)
249     {
250         if(a[i]>max)
251         {
252             max=a[i];
253         }
254     }
255     printf("%d\n",max);
256 }
257 
258 任意输入10个数,求最大值和最小值
259 #include <stdio.h>
260 void main()
261 {
262     int a[10],i,j,max,min;
263     printf("请任意输入10个数:");
264     for(i=0;i<10;i++)
265     {
266         scanf("%d",&a[i]);
267     }
268     max=0;
269     min=100;
270     for(i=0;i<=9;i++)
271     {
272         
273         if(a[i]>max)
274         {
275             max=a[i];
276         }
277         
278         if(a[i]<min)
279         {
280             min=a[i];
281         }
282     }
283     printf("min=%d\nmax=%d\n",min,max);
284 }
285 
286 歌手大赛:求最高最低分
287 #include <stdio.h>
288 void main()
289 {
290     float a[10],max,min;
291     int i;
292     printf("请输入评委得分:");
293     for(i=0;i<=9;i++)
294     {
295         scanf("%f",&a[i]);
296     }
297     max=0;
298     min=10;
299     for(i=0;i<=9;i++)
300     {
301         
302         if(a[i]>max)
303         {
304             max=a[i];
305         }
306         
307         if(a[i]<min)
308         {
309             min=a[i];
310         }
311     }
312     printf("min=%f\nmax=%f\n",min,max);
313 }
314 
315 歌手大赛:求最终平均成绩
316 #include <stdio.h>
317 void main()
318 {
319     float a[9],max,min,s,p;
320     int i;
321     printf("请输入评委得分:");
322     for(i=0;i<=9;i++)
323     {
324         scanf("%f",&a[i]);
325     }
326     max=0;
327     min=10;
328     s=0;
329     for(i=0;i<=9;i++)
330     {
331         
332         if(a[i]>max)
333         {
334             max=a[i];
335         }
336         
337         if(a[i]<min)
338         {
339             min=a[i];
340         }
341         s=s+a[i];
342     }
343     p=(s-min-max)/8;
344     printf("%f\n",p);
345 }
346 
347 任意输入两个数,求它们的最大公约数
348 #include <stdio.h>
349 void main()
350 {
351     int m,n,r,t;
352     printf("m,n=");
353     scanf("%d%d",&m,&n);
354     if(m<n)
355     {
356         t=m;
357         m=n;
358         n=t;
359     }
360     r=m%n;
361     while(r!=0)
362     {
363         m=n;
364         n=r;
365         r=m%n;
366     }
367     printf("最大公约数:%d",n);
368 }
369 
370 九九乘法表
371 #include<stdio.h>
372 void main()
373 {
374     int i,j;
375     for(i=1;i<=9;i++)
376     {
377         for(j=1;j<=i;j++)
378         {
379             printf("%d*%d=%d\t",i,j,i*j);
380         }
381         {
382             printf("\n");
383         }
384     }
385 }
386 
387 有一条长阶梯,若每步跨2阶最后剩下1阶;若每步跨3阶最后剩下2阶;若每步跨5阶最后剩下4阶;若每步跨6阶最后剩下5阶;只有每步跨7阶,最后才正好1阶不剩。编程计算这条阶梯共有多少阶?
388 #include<stdio.h>
389 void main()
390 {
391     int i=7;
392     while(i<=1000)
393     {
394         if((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)&&(i%7==0))
395         {
396             printf("%d\n",i);
397             break;
398         }
399         i++;
400     }
401 }
402 
403 右直角三角形
404 #include<stdio.h>
405 void main()
406 {
407     int i,j;
408     for(i=1;i<=5;i++)
409     {
410         for(j=4;j>=i;j--)
411         {
412             printf(" ");
413         }
414         for(j=1;j<=i;j++)
415         {
416             printf("*");
417         }
418         {
419             printf("\n");
420         }
421     }
422 }
423 
424 正等腰三角形
425 #include<stdio.h>
426 void main()
427 {
428     int i,j;
429     for(i=1;i<=5;i++)
430     {
431         for(j=5;j>=i;j--)
432         {
433             printf(" ");
434         }
435         for(j=1;j<=i;j++)
436         {
437             printf(" *");
438         }
439         {
440             printf("\n");
441         }
442     }
443 }
444 
445 倒等腰三角形
446 #include<stdio.h>
447 void main()
448 {
449     int i,j;
450     for(i=5;i>=1;i--)
451     {
452         for(j=5;j>=i;j--)
453         {
454             printf(" ");
455         }
456         for(j=1;j<=i;j++)
457         {
458             printf(" *");
459         }
460         {
461             printf("\n");
462         }
463     }
464 }
465 
466 正直角三角形
467 #include<stdio.h>
468 void main()    
469 {
470     int i,j;
471     for(i=1;i<=5;i++)
472     {
473         for(j=1;j<=i;j++)
474         {
475             printf("*");
476         }
477         {
478             printf("\n");
479         }
480     }
481 }
482 
483 倒直角三角形
484 #include<stdio.h>
485 void main()    
486 {
487     int i,j;
488     for(i=5;i>=1;i--)
489     {
490         for(j=1;j<=i;j++)
491         {
492             printf("*");
493         }
494         {
495             printf("\n");
496         }
497     }
498 }
499 
500 左直角三角形
501 #include<stdio.h>
502 void main()    
503 {
504     int i,j;
505     for(i=1;i<=5;i++)
506     {
507         for(j=5;j>=i;j--)
508         {
509             printf(" ");
510         }
511         for(j=1;j<=i;j++)
512         {
513             printf("*");
514         }
515         {
516             printf("\n");
517         }
518     }
519 }
520 
521 左倒直角三角形
522 #include<stdio.h>
523 void main()    
524 {
525     int i,j;
526     for(i=5;i>=1;i--)
527     {
528         for(j=5;j>=i;j--)
529         {
530             printf(" ");
531         }
532         for(j=1;j<=i;j++)
533         {
534             printf("*");
535         }
536         {
537             printf("\n");
538         }
539     }
540 }
541 
542 #include<stdio.h>
543 void main()    
544 {
545     int i,j,a=0;
546     for(i=1;i<=4;i++)
547     {
548         for(j=1;j<=i;j++)
549         {
550             a=a+2;
551         }
552         {
553             printf("a=%d\n",a);
554         }
555     }
556 }
557 
558 For语句 
559 #include <stdio.h>
560 void main()
561 {
562     int i,s=0;
563     for(i=1;i<=100;i++)
564     {
565         s=s+i;
566     }
567     {
568         printf("s=%d\n",s);
569     }
570     printf("i=%d\n",i);
571 }
572 
573 输入1,23,4四个数,组成任意的三个数,不能重复,输出所有的三位数
574 #include <stdio.h>
575 void main()
576 {
577     int i,j,k,s=0;
578     for(i=1;i<=4;i++)
579     {
580         for(j=1;j<=4;j++)
581         {
582             for(k=1;k<=4;k++)
583             {
584                 if(i!=j && j!=k && i!=k)
585                 {
586                     s++;
587                     printf("%d\t",i*100+j*10+k);
588                 }
589             }
590         }
591     }
592     printf("s=%d\n",s);
593 }
594 
595 猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第十天想在吃的时候,只剩下一个桃子了,问第一天共摘了多少个桃子?
596 #include <stdio.h>
597 void main()
598 {
599     int i,j=1;
600     for(i=1;i<10;i++)
601     {
602         j=(j+1)*2;
603     }
604     printf("%d\n",j);
605 }
606 
607 从1+2+3+......+n,求和
608 #include <stdio.h>
609 void main()
610 {
611     int i,n,s=0;
612     printf("n=");
613     scanf("%d",&n);
614     for(i=1;i<=n;i++)
615     {
616         s=s+i;
617     }
618     printf("s=%d\n",s);
619 }
620 
621 从n+.....+m,求和
622 #include <stdio.h>
623 void main()
624 {
625     int s=0,n,m,i;
626     printf("n,m=");
627     scanf("%d%d",&n,&m);
628     for(i=n;i<=m;i++)
629     {
630         s=s+i;
631     }
632     printf("s=%d",s);
633 }
634 
635 若n大于m,在运算n+(n+1)+(n+2)+......+m,求和
636 #include <stdio.h>
637 void main()
638 {
639     int s=0,n,m,i,t;
640     printf("n,m=");
641     scanf("%d%d",&n,&m);
642     if(n>m)
643     {
644         t=n;
645         n=m;
646         m=t;
647     }
648     for(i=n;i<=m;i++)
649     {
650         s=s+i;
651     }
652     printf("s=%d\n",s);
653 }
654 
655 从n出发,每循环一次加1,循环5次,求和
656 #include <stdio.h>
657 void main()
658 {
659     int n,a=1;
660     for(n=1;n<=5;n++)
661     {
662         a=a+1;
663     }
664     printf("a=%d\n",a);
665 }
666 
667 从n出发,每循环一次加3,n的范围为5,求最后一次循环的和
668 #include <stdio.h>
669 void main()
670 {
671     int a=5,n;
672     for(n=1;n<=5;n=n+3)
673     {
674         a=a+1;
675     }
676     printf("a=%d\n",a);
677 }
678 
679 多重循环
680 #include <stdio.h>
681 void main()
682 {
683     int i,j,a=0;
684     for(i=1;i<=3;i++)
685     {
686         for(j=1;j<=i;j++)
687         {
688             a=a+1;
689         }
690     }
691     printf("a=%d\n",a);
692 }
693 
694 if的嵌套语句
695 当输入3个正数时,由大到小
696 #include <stdio.h>
697 void main()
698 {
699     int a,b,c,t;
700     printf("a,b,c=");
701     scanf("%d%d%d",&a,&b,&c);
702     if(a>=0)
703     {
704         if(a<b)
705         {
706             t=a;
707             a=b;
708             b=t;
709         }
710         if(a<c)
711         {
712             t=a;
713             a=c;
714             c=t;
715         }
716         if(b<c)
717         {
718             t=b;
719             b=c;
720             c=t;
721         }
722     }
723     printf("a=%d\nb=%d\nc=%d\n",a,b,c);
724 }
725 
726 当输入3个正数时,由小到大
727 #include <stdio.h>
728 void main()
729 {
730     int a,b,c,t;
731     printf("a,b,c=");
732     scanf("%d%d%d",&a,&b,&c);
733     if(a>=0)
734     {
735         if(a>b)
736         {
737             t=a;
738             a=b;
739             b=t;
740         }
741         if(a>c)
742         {
743             t=a;
744             a=c;
745             c=t;
746         }
747         if(b>c)
748         {
749             t=b;
750             b=c;
751             c=t;
752         }
753     }
754     printf("a=%d\nb=%d\nc=%d\n",a,b,c);
755 }
756 
757 Y={sqrt(x)    x>=10
758     X+7     0<=x<10
759    }fabs(x)-3   x<0
760 
761 #include<stdio.h>
762 #include<math.h>
763 void main()
764 {
765     int x;
766     float y;
767     printf("x=");
768     scanf("%d",&x);
769     if(x>=10)
770     {
771         y=sqrt(x);
772     }
773     else
774     {
775         if(x>=0 && x<10)
776         {
777             y=x+7;
778         }
779         else
780         {
781             y=fabs(x)-3;
782         }
783     }
784     printf("y=%7.2f",y);
785 }
786 
787 成绩在85分以上为A,在70分以上为B,在60分以上为C,小于60分的全为D
788 #include <stdio.h>
789 void main()
790 {
791     int x;
792     printf("x=");
793     scanf("%d",&x);
794     if(x>=0 && x<=100)
795     {
796         if(x>=85)
797         {
798             printf("A");
799         }
800         else
801             if(x>=70)
802             {
803                 printf("B");
804             }
805         else
806             if(x>=60)
807             {
808                 printf("C");
809             }
810         else
811             printf("D");
812     }
813     else
814     {
815         printf("错了!");
816     }
817 }
818 
819 多分支选择语句:
820 格式:switch(表达式)
821           case  常量:
822               表达式;  
823           case  常量:
824               表达式;  
825           .......
826 switch后的表达式可以是整形或字符型
827 
828 商场购物:消费金额为1000元以上打9折,消费金额为2000元以上打8折,消费金额为3000元以上打7折,消费金额为4000元以上都打5折
829 #include <stdio.h>
830 #include <math.h>
831 void main()
832 {
833     int t;
834     float x,y;
835     printf("x=");
836     scanf("%f",&x);
837     t=(int)x/1000;
838     switch(t)
839     {
840         case 0: y=x;break;
841         case 1: y=0.9*x;break;
842         case 2: y=0.8*x;break;
843         case 3: y=0.7*x;break;
844         case 4: y=0.5*x;break;
845         case 5: 
846         case 6: 
847         case 7: 
848         case 8: 
849         case 9: y=0.5*x;break;
850     }
851     printf("y=%7.2f",y);
852 }
853 
854 输出1-100中所有的质数
855 #include <stdio.h>
856 #include <math.h>
857 void main()
858 {
859     int i,j;
860     for(i=1;i<=100;i++)
861     {
862         for(j=2;j<i;j++)
863         {
864             if(i%j==0)
865                 break;
866         }
867         if(j>=i)
868         printf("%d\t",i);
869     }
870 }
871 
872 成绩在90分以上为A,在80分以上为B,在70分以上为C,大于60分的为D,60分以下的都为E
873 #include <stdio.h>
874 #include <math.h>
875 void main()
876 {
877     int x,t;
878     printf("x=");
879     scanf("%d",&x);
880     if(x>=0 && x<=100)
881     {
882         t=(int)x/10;
883         switch(t)
884         {
885         case 9: printf("A");break;
886         case 8: printf("B");break;
887         case 7: printf("C");break;
888         case 6: printf("D");break;
889         case 5: 
890         case 4: 
891         case 3: 
892         case 2: 
893         case 1: 
894         case 0: printf("E");break;
895         }
896     }
897     else
898     {
899         printf("对不起,错了!");
900     }
901 }
902 
903 三个值的交换
904 #include <stdio.h>
905 void main()
906 {
907     int a,b,c,t;
908     printf("a,b,c=");
909     scanf("%d%d%d",&a,&b,&c);
910     if(a<b)
911     {
912         t=a;
913         a=b;
914         b=t;
915     }
916     if(a<c)
917     {
918         t=a;
919         a=c;
920         c=t;
921     }
922     if(b<c)
923     {
924         t=b;
925         b=c;
926         c=t;
927     }
928     printf("a=%db=%dc=%d\n",a,b,c);
929 }
930 
931 两个值的交换
932 #include <stdio.h>
933 void main()
934 {
935     int a,b,t;
936     printf("a,b=");
937     scanf("%d%d",&a,&b);
938     if(a>b)
939         printf("%d%d",a,b);
940     else
941         t=a;
942         a=b;
943         b=t;
944         printf("a=%db=%d\t",a,b);
945 }
946 
947 输出两个值,哪个值最小输出哪个
948 #include <stdio.h>
949 void main()
950 {
951     float a,b;
952     printf("a,b=");
953     scanf("%f%f",&a,&b);
954     if(a<b)
955         printf("%f\n",a);
956     else
957         printf("%f\n",b);
958 }
959 
960 输出2个值做比较
961 #include <stdio.h>
962 void main()
963 {
964     float a,b;
965     printf("a,b=");
966     scanf("%f%f",&a,&b);
967     if(a>=b)
968         printf("%f,%f\n",a,b);
969     else
970         printf("%f,%f\n",b,a);
971 }
972 
973 一元二次方程
974 #include <stdio.h>
975 #include <math.h>
976 void main()
977 {
978     int a,b,c;
979     float x1,x2;
980     printf("a,b,c=");
981     scanf("%d%d%d",&a,&b,&c);
982     if(b*b-4*a*c>=0)
983     {
984         x1=(-b+sqrt(b*b-4*a*c))/(2*a);
985         x2=(-b-sqrt(b*b-4*a*c))/(2*a);
986         printf("x1=%7.2f\n",x1);
987         printf("x2=%7.2f\n",x2);
988     }
989     else
990     {
991         printf("无解");
992     }
993 }

 

posted @ 2015-06-18 00:45  lfxiaoweinice  阅读(888)  评论(0编辑  收藏  举报