int i;gets(str1); for(i=0;str1[i];i++) {
str2[str1[i]]=1; }
for(i=0;i!=256;i++) if(str2[i]==1) printf(\putchar('\\n'); return 0; }
实验十二 C函数的基本操作
1. 编写函数:计算三角形的面积。已知三角形三条边长,公式为:
其中x、y、z为边长,c=(x+y+z)/2。
2. 编写函数:用来判断一个整数是否满足“用4除余1,用5除余3,用7除余4”,满足则返回1,不满足返回0,然后编写main函数,通过调用该函数显示出200~500之间满足该条件的数。 3. 编写函数isprime( ),用来判断一个整数a是否为素数。再编写main函数,通过调用该函数打印出100~300之间所有的素数,要求一行打印10个。
4. 编写函数:判断一个整数是否为水仙花数,并编写主程序调用该函数求出所有的水仙花数。
5. 用迭代法求。迭代公式为:
迭代到为止 ,为方程的近似解。
6. 所谓完数就是它所有因子的和等于其自身自然数,如6=1+2+3,6就是一个完数。编写两个函数:函数factor(n)用来判断n是否是完数,函数PriFac(n)用来显示完数n的所有因子,在主函数中调用这两个函数,显示1~30000间的所有完数。
7. 以下函数p的功能是用递归方法计算x的n阶勒让德多项式的值。已有调用语句p(n,x);请编写p函数。递归公式如下:(此题为选做)
float p(int n, int x) { } 1.
#include
{ double a, b, c, p, s; printf(\请输入a, b和c:\ scanf(\ p = (a + b + c) / 2;
s = sqrt(p * (p - a) * (p - b) * (p -c)); printf(\此三角形的面积为:%lf\\n\ return 0; } 2.
#include
while(m<=n) {
if(m%4==1&&m%5==3&&m%7==4) {printf(\m++; } }
void main() {
fun(200,500); } 3.
#include
for(y=x-1;y>=1;y--) {
if(x%y==0)
{return y; break;} } } main() {int i,j=0,m; for(i=100;i<=300;i++) {m=isprime(i); if(m==1)
{printf(\j++; if(j==0) printf(\} } } 4.
#include
for(x=100;x<1000;x++) { a=(x/100); b=(x/10); c=x;
if( x==a*a*a+b*b*b+c*c*c) printf(\
} } main()
{int y; fun(y); } 5.
#include
{ double a, b, c, d, e; printf(\ scanf(\ e = pow(a, 1.0/3);
do { c = b * 2/3 + a / (3 * b * b); d = c - b; b = c; } while((d <= -0.00001) || (d >= 0.00001)); printf(\6.
#include
void prifac(int n); int w[10],k; main() {
int m,n;
for(n=2;n<=3000;n++) }
int factor(int n) {int s,i; k=-1; s=n;
for(i=1;i void prifac(int n) {int i; printf(\是完数\\n\} {m=factor(n); if(m==1)prifac(n); } 实验十三 C函数调用中的数据传递 1. 编程实现:在主程序main( )中输入2个整数,通过调用函数将两者的值互换(要求分别用地址传递方式、全局外部变量传递方式编程)。 2. 编写函数:功能是删除字符串s中的所有数字字符。 3. 编写函数:功能是返回字符串s中的指定字符c的出现次数。 4. 在main函数中,定义一个含N个元素的数组,其中N是符号常量,然后编写下列各子函数完成相应的功能: (1)编写函数sr:为该数组各元素赋值(要求调用随机函数为各数组元素赋值)。 (2)编写函数sc:打印该数组各元素,要求每行打印m个数,其中m作为形参传递。 (3)编写函数js:求该数组元素的最大值和最小值,最大值和最小值通过参数传递返回主调函数。 (4)编写函数px:实现对数组的排序。 各个函数编写完成后,请编写main函数,并在main中分别调用以上四个函数,以验证各子函数的功能。 1. #include printf(\scanf(\swap(&a,&b); printf(\交换后:a=%d,b=%d\\n\} void swap(int *p1,int *p2) { int t; t=*p1,*p1=*p2,*p2=t; } 2. #include printf(\scanf( \Swap(x,y); printf(\} void Swap() { int temp; temp=x; x=y; y=temp; return; } 3. #include void fun(char c[80], char x[1]) {int i = 0; int bit = 0;