eg1:
交换矩阵行列
*#include<stdio.h>
#include<stdlib.h>
#define M 3
//1.新建一个矩阵并随机初始化
//2.行列互换
//3.输出
void fun(int array[M][M])
{//单独作为函数功能
int i,j,t=0;
for(i=0;i<M;i++)
for(j=i;j<M;j++)
{
t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;
}
}
int main()
{
int str[M][M],i,j,t=0;
for(i=0;i<M;i++)
for(j=0;j<M;j++)
{
str[i][j]=rand()%1000;
printf("%d\t",str[i][j]);
if(j!=0&&j%(M-1)==0) printf("\n");
}
printf("\n");
// fun(str);
for(i=0;i<M;i++)
for(j=i;j<M;j++)//列与行同步:第一趟-从0,0~0,M 第二趟-从1,1~1,M……不会出现重复交换值的情况
{
t=str[i][j];str[i][j]=str[j][i];str[j][i]=t;
}
for(i=0;i<M;i++)
for(j=0;j<M;j++)
{
printf("%d\t",str[i][j]);
if(j!=0&&j%(M-1)==0) printf("\n");
}
}
eg2:
求输入值内素数个数
#include<stdio.h>
#include<math.h>
#define MAX 100
//1.输入limit值
//2.求小于或等于limit的素数
//3.放入数组中并输出素数个数
int fun(int limit,int aa[MAX])
{//素数:大于1,除1和本身外无其他因数的自然数
int i,c=0,j;
for(i=2;i<=limit;i++)
{
//方法一:
for(j=2;j<i;j++)
if(i%j==0) break;//可以被2~本身-1中的数整除,说明不是素数
if(j>=i)
aa[c++]=i;
//方法二:
for(j=2;j<=sqrt(i);j+=2) //循环增量也无需一个个增加判断,素数加2仍为素数
if(i%j==0) break;//如果其算术平方根不是素数,那么此数本身一定也不是素数
if(j>sqrt(i))//不满足条件,则为素数
aa[c++]=i;
}
return c;
}
int main()
{
int lim, str[MAX],n;
scanf("%d",&lim);
n=fun(lim,str);
printf("%d",n);
}