11.4

循序存取阵列元素

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main(){
  5. srand(time(0));
  6. int c[6]=0;
  7. int a;
  8. for(a =1;a<=6000;a++){
  9. int num =rand()%6+1;
  10. switch(num){
  11. case 1:c[0]++;break;
  12. case 2:c[1]++;break;
  13. case 3:c[2]++;break;
  14. case 4:c[3]++;break;
  15. case 5:c[4]++;break;
  16. case 6:c[5]++;break;
  17. } //计算掷6000次骰子个点被掷到的次数
  18. }
  19. printf("%d\n",c[0]);
  20. printf("%d\n",c[1]);
  21. printf("%d\n",c[2]);
  22. printf("%d\n",c[3]);
  23. printf("%d\n",c[4]);
  24. printf("%d\n",c[5]);
  25. return 0;
  26. }

简化后:

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main(){
  5. srand(time(0));
  6. int c[6]={0}; //c是每个点的次数
  7. int n,t; //n是次数,t代表六个点
  8. for(n=1;n<=6000;n++){
  9. int d =rand()%6+1;
  10. for(t=1;t<=6;t++){
  11. if (d ==t){
  12. c[t-1]++;
  13. }
  14. }
  15. }
  16. for(t = 1;t<=6;t++){
  17. printf("%d: %d",t,c[t-1]);
  18. }
  19. return 0;
  20. }
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main(){
  5. srand(time(0));
  6. int c[6]={0}; //c是每个点的次数
  7. int n; //n是次数
  8. for(n=1;n<=6000;n++){
  9. int d =rand()%6+1;
  10. c[d-1]++;
  11. }
  12. }
  13. for(t = 1;t<=6;t++){
  14. printf("%d: %d",t,c[t-1]);
  15. }
  16. return 0;
  17. }
  1. #include<stdio.h>
  2. int main(){
  3. int a[5]={90,75,83,89,71};
  4. int n,b,sum=0;
  5. do{
  6. scanf("%d",&n);
  7. if(id!=0){
  8. sum = sum +a[n-1];
  9. }
  10. //简化计算总价(更有弹性)
  11. }while(n!=0);
  12. printf("%d\n",sum);
  13. return 0;
  14. }
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>
  4. int main(){
  5. srand(time(0));
  6. int i,n;
  7. int c[11]={0};
  8. for(i=1;i<=100000;i++){
  9. int dice1 =rand()%6+1;
  10. int dice2 =rand()%6+1;
  11. int sum =dice1+dice2;
  12. c[sum-2]++;
  13. //掷两个骰子和的次数
  14. }
  15. int a;
  16. for(a=2;a<=12;a++){
  17. printf("%d:%d\n",a,c[a-2]);
  18. }
  19. return 0;
  20. }
  1. #include<stdio.h>
  2. int main(){
  3. int w,n,a[5];
  4. for(n=1;n<=5;n++){
  5. printf("第%d个数:",n);
  6. scanf("%d",&a[n-1]);
  7. }
  8. while(1){
  9. printf("输入你要查第几个数:");
  10. scanf("%d",&w);
  11. if(w!=0){
  12. printf("%d\n",a[w-1]);
  13. }
  14. }
  15. return 0;
  16. }

while(1)直接执行代码块,条件判断结果为1(正确)

  1. #include<stdio.h>
  2. int main(){
  3. int b,s,n,a[10];
  4. for(n=1;n<=10;n++){
  5. printf("第%d个数:",n);
  6. scanf("%d",&a[n-1]);
  7. }
  8. //查询范围内的数字
  9. while(1){
  10. printf("请输入最小值和最大值:");
  11. scanf("%d%d",&s,&b);
  12. if(a==0&&b==0){
  13. break;
  14. }
  15. for(n=1;n<=10;n++){
  16. if(a[n-1]>s&&a[n-1]<b){
  17. printf("%d\n",a[n-1]);
  18. }
  19. }
  20. }
  21. return 0;
  22. }