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,5,6,10,13,16,18,19,58,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,2,3,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 }