11.4
循序存取阵列元素
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
srand(time(0));
int c[6]=0;
int a;
for(a =1;a<=6000;a++){
int num =rand()%6+1;
switch(num){
case 1:c[0]++;break;
case 2:c[1]++;break;
case 3:c[2]++;break;
case 4:c[3]++;break;
case 5:c[4]++;break;
case 6:c[5]++;break;
} //计算掷6000次骰子个点被掷到的次数
}
printf("%d\n",c[0]);
printf("%d\n",c[1]);
printf("%d\n",c[2]);
printf("%d\n",c[3]);
printf("%d\n",c[4]);
printf("%d\n",c[5]);
return 0;
}
简化后:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
srand(time(0));
int c[6]={0}; //c是每个点的次数
int n,t; //n是次数,t代表六个点
for(n=1;n<=6000;n++){
int d =rand()%6+1;
for(t=1;t<=6;t++){
if (d ==t){
c[t-1]++;
}
}
}
for(t = 1;t<=6;t++){
printf("%d: %d",t,c[t-1]);
}
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
srand(time(0));
int c[6]={0}; //c是每个点的次数
int n; //n是次数
for(n=1;n<=6000;n++){
int d =rand()%6+1;
c[d-1]++;
}
}
for(t = 1;t<=6;t++){
printf("%d: %d",t,c[t-1]);
}
return 0;
}
#include<stdio.h>
int main(){
int a[5]={90,75,83,89,71};
int n,b,sum=0;
do{
scanf("%d",&n);
if(id!=0){
sum = sum +a[n-1];
}
//简化计算总价(更有弹性)
}while(n!=0);
printf("%d\n",sum);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
srand(time(0));
int i,n;
int c[11]={0};
for(i=1;i<=100000;i++){
int dice1 =rand()%6+1;
int dice2 =rand()%6+1;
int sum =dice1+dice2;
c[sum-2]++;
//掷两个骰子和的次数
}
int a;
for(a=2;a<=12;a++){
printf("%d:%d\n",a,c[a-2]);
}
return 0;
}
#include<stdio.h>
int main(){
int w,n,a[5];
for(n=1;n<=5;n++){
printf("第%d个数:",n);
scanf("%d",&a[n-1]);
}
while(1){
printf("输入你要查第几个数:");
scanf("%d",&w);
if(w!=0){
printf("%d\n",a[w-1]);
}
}
return 0;
}
while(1)直接执行代码块,条件判断结果为1(正确)
#include<stdio.h>
int main(){
int b,s,n,a[10];
for(n=1;n<=10;n++){
printf("第%d个数:",n);
scanf("%d",&a[n-1]);
}
//查询范围内的数字
while(1){
printf("请输入最小值和最大值:");
scanf("%d%d",&s,&b);
if(a==0&&b==0){
break;
}
for(n=1;n<=10;n++){
if(a[n-1]>s&&a[n-1]<b){
printf("%d\n",a[n-1]);
}
}
}
return 0;
}