week_8

1 随机函数练习 


1)参照王芳版课本第45页的例子,练习练习随机函数rand的用法。
注:
函数原型:int rand();
功能:返回一个随机数

2) 请使用rand函数,来写一个上午上课随机点名的小程序,要求执行该程序后会输出被提问学生的学号。(注意,咱班有45个人,学号为1~45)

#include "stdio.h"
#include "stdlib.h"
main()
{
   int a;
   a=rand()%45+1;
   printf("the random number is %d\n",a) ;
   
}
3)对2中程序进行改进,要求一次输出7个学生的学号(我可能会在刚刚上课的时候就执行这个程序,并通知这7个学生随时准备回答问题)

#include "stdio.h"
#include "stdlib.h"
main()
{
   int i,b;
   for(i=0;i<=6;i++)
   { 
     b=rand()%45+1;
     printf("the %d random number is %d\n",i+1,b) ;
   
  }
}
4)对3中的程序进一步改进,要求使用数组来存储这些学生的学号,同时要求学号不能重复。

#include "stdio.h"
#include "stdlib.h"
#define N 7 
main()
{
   int i,j,temp;
   int students[N];
   for(i=0;i<N;i++)
   { temp=rand()%45+1;
   	 if(i>0)
   	   { for(j=0;j<=i-1;j++)
   	   	 { if(temp==students[j])
   	   	     {temp=rand()%45+1;
   	   	     j=-1;}
   	   	 }
   	   }
   	   students[i]=temp;
       printf("the %d student no is : %d\n",i,students[i]);
   }
}
2  一维数组练习
定义一个100长度的整型数组,使用rand函数生产随机数对每个元素进行赋值,顺序遍历该数组,输出所有值大于50的数。输出格式例子为:
a[1]=100
a[5]=70

a[20]=90

#include "stdio.h"
#include "stdlib.h"
main()
{
  int a[100],i;
  a[i]=rand();
  for(i=0;i<100 ;i++)
    if(a[i]>50)
    printf("a[%d]=%d\n",i,a[i]);
}
3 二维数组练习

1)随机生成一个对称矩阵,并输出。

#include "stdio.h"
#include "stdlib.h"
#define n 10
main()
{
   int a[n][n],i,j;
   for(i=0;i<n;i++)
    {for(j=0;j<n;j++)
     a[i][j]=rand();}
   for(i=0;i<n;i++)
    {for(j=0;j<n;j++)
     if(i!=j)
     a[i][j]=a[j][i];}
    for(i=0;i<n;i++)
  {for(j=0;j<n;j++)
    printf("%d ",a[i][j]);
    printf("\n");}
     
}

2)两个矩阵相加。

#include "stdio.h"
#include "stdlib.h"
main()
{
   int a[3][3],b[3][3],c[3][3],i,j;
   for(i=0;i<3;i++)
    {for(j=0;j<3;j++)
      a[i][j]=rand();}
   for(i=0;i<3;i++)
    {for(j=0;j<3;j++) 
      b[i][j]=rand();}
   for(i=0;i<3;i++)
    {for(j=0;j<3;j++)
      c[i][j]=a[i][j]+b[i][j];}
   for(i=0;i<3;i++)
    {for(j=0;j<3;j++)
      printf("%d ",c[i][j]);
      printf("\n");} 
} 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值