/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:输入一个字符串,过滤此串,只保留串中的字母字
符,并统计新生成串中包含的字母个数。
例如:输入的字符串为ab234$df4,新生成的串为abdf 。
------------------------------------------------*/
#include
#include
#define N 80
void wwjt();
fun(char *ptr)
{
/**********Program**********/
int i=0,n=0;
while(*(ptr+i)!='\0')
{
if((*(ptr+i)>='a'&&*(ptr+i)<='z')||(*(ptr+i)>='A'&&*(ptr+i)<='Z')) {
*(ptr+n)=*(ptr+i);
n++;
}
i++;
}
*(ptr+n)=0;
return n;
/********** End **********/
}
main()
{
char str[N];
int s;
printf("input a string:");gets(str);
printf("The origINal string is :"); puts(str);
s=fun(str);
printf("The new string is :");puts(str);
}
/*------------------------------------------------ 【程序设计】
--------------------------------------------------
功能:编写函数求表达式的和(n的值由主函数输入)。
1-1/2+1/3-1/4+......+1/m
例如:当n=20时,表达式的值为0.668771。
------------------------------------------------*/
#include
void wwjt();
double sum(int n)
{
/**********Program**********/
int i;
double s=0,m=1;
for(i=1;i<=n;i++)
{
s=s+m/i;
m=-m;
}
return s;
/********** End **********/
}
main()
{
int n;
scanf("%d",&n);
printf("sum=%f\n",sum(n));
wwjt();
}
/*------------------------------------------------ 【程序设计】
--------------------------------------------------
功能:从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)
z=log(x+3) (x>-3)
z=sin(x)/((cos(x)+4)
------------------------------------------------*/
#include
#include
void wwjt();
double y(float x)
{
/**********Program**********/
double z;
if(x>10)
z=exp(x);
else if(x>-3)
z=log(x+3);
else
z=sin(x)/(cos(x)+4);
return z;
/********** End **********/
}
main()
{
float x;
scanf("%f",&x);
printf("y=%f\n",y(x));
wwjt();
}
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:编写一个类似库函数strlen()的函数,求字符串的长度,在main()函数中输入
一个字符串,调用该函数后输出结果。要求函数的形参采用指针变量。
-------------------------------------------------------*/
#include
void main()
{
char str[30];
int strlen1(char *);
printf("请输入字符串:");
gets(str);
printf("字符串长度为:%d\n",strlen1(str));
}
int strlen1(char *p)
{
int len=0;
/**********Program**********/
while(*p!='\0')
{
len++;
p++;
}
return len;
/********** End **********/
}
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:将字符串中的小写字母转换为对应的大写字母,
其它字符不变。
------------------------------------------------*/
#include "string.h"
#include
void wwjt();
void change(char str[])
{
/**********Program**********/
int i=0;
while(str[i]!='\0')
{
if(str[i]>='a'&&str[i]<='z')
str[i]=str[i]-32;
i++;
}
return;
/********** End **********/
}
main()
{
void change();
char str[40];
gets(str);
change(str);
puts(str);
wwjt();
}
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:对某一正数的值保留2位小数,并对第三位进行四舍五入。
------------------------------------------------*/
#include
#include"conio.h"
void wwjt();
double fun(float h)
{
/**********Program**********/
inta,b;
a=(int)(h*1000);
b=(int)(h*100);
if(a-b*10>=5)
h=(float)(b+1)/100;
else
h=(float)b/100;
return h;
/********** End **********/
}
main()
{
float m;
printf("Enter m: ");
scanf("%f", &m);
printf("\nThe result is %8.2f\n", fun(m));
wwjt();
}
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论
信息。
例如:7是素数,8不是素数。请编写fun函数。素数是仅能被1和自身整除的数
-------------------------------------------------*/
#include
voidwwjt();
int fun(int n)
{
/**********Program**********/
inti;
for(i=2;i if(n%i==0) return 0; return 1; /********** End **********/ } main() { intm,flag; printf("input an integer:"); scanf("%d",&m); flag=fun(m); if(flag) printf("%d is a prime.\n",m); else printf("%d is not a prime.\n",m); wwjt(); } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:在矩阵a中选出各行最大的元素组成一个一维数组b。如图片1所示。 -------------------------------------------------------*/ #include voidwwjt(); #define R 3 #define C 4 int * MaxRow(int a[R][C]) { int static b[R]; inti,j,imax; /**********Program**********/ for(i=0;i { imax=a[i][0]; for(j=1;j if(imax imax=a[i][j]; b[i]=imax; } /********** End **********/ return b; } void main() { int a[R][C]; int *b,i,j; for(i=0;i for(j=0;j scanf("%d",&a[i][j]); b=MaxRow(a); for(i=0;i { printf("%4d",b[i]); } wwjt(); } /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:删除所有值为y的元素。数组元素中的值和y的值由主函数通过键盘输入。 ------------------------------------------------*/ #include #include #include #define M 20 void wwjt(); void fun(int bb[],int *n,int y) { /**********Program**********/ inti,j; for(i=0;i<*n;i++) if(bb[i]==y) { for(j=i;j<*n;j++) bb[j]=bb[j+1]; i--; } /********** End **********/ } main() { intaa[M],n,y,k; printf("\nPlease enter n:");scanf("%d",&n); printf("\nEnter %d positive number:\n",n); for(k=0;k printf("The original data is:\n"); for(k=0;k printf("\nEnter a number to deletede:");scanf("%d",&y); fun(aa,&n,y); printf("The data after deleted %d:\n",y); for(k=0;k printf("\n"); wwjt(); } /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:调用函数fun判断一个三位数是否"水仙花数"。 在main函数中从键盘输入一个三位数,并输 出判断结果。请编写fun函数。 说明:所谓"水仙花数"是指一3位数,其各位数字立方和等于该数本身。 例如:153是一个水仙花数,因为153=1+125+27。 ------------------------------------------------*/ #include voidwwjt(); int fun(int n) { /**********Program**********/ inti,j,k; i=n%10; j=n/10%10; k=n/100; if(k*k*k+j*j*j+i*i*i==n) return 1; else return 0; /********** End **********/ } main() { intn,flag; scanf("%d",&n); flag=fun(n); if(flag) printf("%d 是水仙花数\n",n); else printf("%d 不是水仙花数\n",n); wwjt(); } /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求一个给定字符串中的字母的个数。------------------------------------------------*/ #include voidwwjt(); int fun(char s[]) { /**********Program**********/ inti=0,j=0; while(s[i]!='\0') { if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) j++; i++; } return j; /********** End **********/ } main() { charstr[]="Best wishes for you!"; int k; k=fun(str); printf("k=%d\n",k); wwjt(); } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:输出6~10000之间的亲密数对。说明:若(a,b)是亲密数对,则a的因子和等于b,b的因子和等于a,且a不等于b。如(220,284)是一对亲密数对。 -------------------------------------------------------*/ #include voidwwjt(); //如果a存在亲密数b,返回b,否则返回0. intisClose(int a) { inti,b=1,c=1; /**********Program**********/ for(i=2;i if(a%i==0) b+=i; for(i=2;i if(b%i==0) c+=i; if(c==a) return b; else return 0; /********** End **********/ } void main( ) { inta,b=1; for(a=6;a<=10000;a++) { if (isClose(a)) { printf("%6d,%6d\n",a,isClose(a)); } } wwjt(); } /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数求1~100中奇数的平方和。结果为166650.000000。 ------------------------------------------------*/ #include void wwjt(); float sum(int n) { /**********Program**********/ floati=0; for(n=n-1;n>=1;n-=2) i+=(float)n*n; returni; /********** End **********/ } main() { printf("sum=%f\n",sum(100)); wwjt(); } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目:对于一个如图片1所示4乘3,找出其中max及(m,n)。 从键盘输入:12 23 34 2 4 6 7 8 9 1 43 5 则输出:max=43 行号=3 列号=1 -------------------------------------------------------*/ #include voidwwjt(); main() { int a[4][3], i,j, max, m,n; /**********Program**********/ printf("请输入12个整数:"); for(i=0;i<4;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); max=a[0][0]; for(i=0;i<4;i++) for(j=0;j<3;j++)