{ int min, row, column, i, j;
min=a[0][0];
row=0;
column=0;
for(i=0; i
for(j=0; j
if(a[i][j]
{ min=a[i][j];
row=i;
column=j;
}
printf('Min=%d/nAt Row%d,Column%d/n', min, row, column);
}
main()
{ int a[M][N]={{1,23,45,-5},{5,6,-7,6},{0,33,8,15}};
min(a);
}
九、迭代法
算法思想:对于一个问题的求解x,可由给定的一个初值x0,根据某一迭代公式得到一个新的值x1,这个新值x1比初值x0更接近要求的值x;再以新值作为初值,即:x1→x0,重新按原来的方法求x1,重复这一过和直到|x1-x0|<ε(某一给定的精度)。此时可将x1作为问题的解。
例:用迭代法求某个数的平方根。 已知求平方根的迭代公式为:
#include
float fsqrt(float a)
{ float x0, x1;
x1=a/2;
do{
x0=x1;
x1=0.5*(x0+a/x0);
}while(fabs(x1-x0)>0.00001);
return(x1);
}
main()
{ float a;
scanf('%f', &a);
printf('genhao =%f/n', fsqrt(a));
}
十、数制转换
将一个十进制整数m转换成 →r(2-16)进制字符串。
方法:将m不断除 r取余数,直到商为零,以反序得到结果。下面写出一转换函数,参数idec为十进制数,ibase为要转换成数的基(如二进制的基是2,八进制的基是8等),函数输出结果是字符串。
char *trdec(int idec, int ibase)
{ char strdr[20], t;
int i, idr, p=0;
while(idec!=0)
{ idr=idec % ibase;
if(idr>=10)
strdr[p++]=idr-10+65;
else
strdr[p++]=idr+48;
idec/=ibase;
}
for(i=0; i
{ t=strdr[i];
strdr[i]=strdr[p-i-1];
strdr[p-i-1]=t;
}
strdr[p]=’/0’;
return(strdr);
}
main()
{ int x, d;
scanf('%d%d', &x, &d);
printf('%s/n', trdec(x,d));
}
十一、字符串的一般处理
1.简单加密和解密
加密的思想是: 将每个字母C加(或减)一序数K,即用它后的第K个字母代替,变换式公式: c=c+k
例如序数k为5,这时 A→ F, a→f,B→?G… 当加序数后的字母超过Z或z则 c=c+k -26
例如:You are good→ Dtz fwj ltti
解密为加密的逆过程
将每个字母C减(或加)一序数K,即 c=c-k,
例如序数k为5,这时 Z→U,z→u,Y→T… 当加序数后的字母小于A或a则 c=c-k +26
下段程序是加密处理:
#include
char *jiami(char stri[])
{ int i=0;
char strp[50],ia;
while(stri[i]!=’/0’)
{ if(stri[i]>=’A’&&stri[i]<=’Z’)
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-34162-5.html
教授