文档库 最新最全的文档下载
当前位置:文档库 › 程序设计2

程序设计2

-------------------------------------------------------------------------------


1功能:从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)
z=log(x+3) (x>-3)
z=sin(x)/((cos(x)+4)


2功能:在键盘上输入一个3行3列矩阵的各个元素的值(值
为整数),然后输出主对角线元素的积,并在fun()
函数中输出。

3功能:求1到100之间的偶数之积。

4功能:求出N×M整型数组的最大元素及其所在的行坐标及
列坐标(如果最大元素不唯一,选择位置在最前面
的一个)。
例如:输入的数组为:
1 2 3
4 15 6
12 18 9
10 11 2

求出的最大数为18,行坐标为2,列坐标为1。

5功能:编写函数实现两个数据的交换,在主函数中输入任
意三个数据,调用函数对这三个数据从大到小排序。


6功能:求一个给定字符串中的数字字母的个数。

7功能:对长度为7个字符的字符串,除首、尾字符外,将其
余5个字符按降序排列。
例如:原来的字符串为CEAedca,排序后输出为CedcEAa。

8功能:编写函数fun求1+2+3+ ...+n的和,在main函
数中由键盘输入n值,并输出运算结果。请编写fun
函数。
例如:若n值为2,则结果为3。

9功能:判断一个整数w的各位数字平方之和能否被5整除,
可以被5整除则返回1,否则返回0。
10功能:求一个四位数的各位数字的立方和

11功能:从低位开始取出长整型变量s奇数位上的数,依次
构成一个新数放在t中。
例如:当s中的数为:7654321时,t中的数为:7531。

12功能:计算并输出给定整数n的所有因子之和(不包括1与
自身)。
注意:n的值不大于1000。
例如:n的值为855时,应输出704。

13功能:求一个给定字符串中的英文字母的个数。
14功能:能计算从1开始到n的自然数的和,n由键盘输入,
并在main()函数中输出。

15功能:请编一个函数void fun(int tt[M][N],int pp[N]),
tt指向一个M行N列的二维数组,求出二维数组每列
中最大元素,并依次放入pp所指一维数组中。二维
数组中的数已在主函数中赋予。
16功能:求一组数中大于平均值的数的个数。
例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函
数值为3。

17功能:求大于lim(lim小于100的整数)并且小于100的所
有素数并放在aa数组中,该函数返回所求出素数的
个数。
18功能:将字符串中的大写字母转换为对应的小写字母,
其它字符不变。
19功能:从键盘输入一个大于3的整数,调用函数fun判断
其是否素数,然后在

main函数中输出相应的结论
信息。
例如:7是素数,8不是素数。请编写fun函数。素数是
仅能被1和自身整除的数

20功能:从字符串中删除指定的字符。同一字母的大、小写
按不同字符处理。
例如:若程序执行时输入字符串为:turbocandborlandc++
从键盘上输入字符:n,则输出后变为:turbocadbo
rladc++,如果输入的字符在字符串中不存在,则字
符串照原样输出。
21功能:对长度为8个字符的字符串,将8个字符按降序排列。
例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。
--------------------------------------------------------------------------------
22功能:实现两个整数的交换。
例如:给a和b分别输入:60和65,输入为:a=65 b=60
23功能:给定n个数据, 求最小值出现的位置(如果最小值
出现多次,求出第一次出现的位置即可)。
24功能:调用函数fun判断一个三位数是否"水仙花数"。
在main函数中从键盘输入一个三位数,并输
出判断结果。请编写fun函数。
说明:所谓"水仙花数"是指一3位数,其各位数字立方和
等于该数本身。
例如:153是一个水仙花数,因为153=1+125+27。
25功能:从键盘为一维整型数组输入10个整数,调用fun
函数找出其中最小的数,并在main函数中输出。
请编写fun函数。






--------------------------------------------------

1功能:从键盘上输入任意实数,求出其所对应的函数值。
z=e的x次幂(x>10)
z=log(x+3) (x>-3)
z=sin(x)/((cos(x)+4)

------------------------------------------------*/

#include
#include

double y(float x)
{
/**********Program**********/






/********** End **********/
}

main()
{
float x;
scanf("%f",&x);
printf("y=%f\n",y(x));
yzj();
getch();
}

yzj()
{
FILE *IN,*OUT;
int n;
float i;
double o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(n=0;n<10;n++)
{
fscanf(IN,"%f",&i);
o=y(i);
fprintf(OUT,"%ld\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
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);
----------------------

--------------------------------------------------

2功能:在键盘上输入一个3行3列矩阵的各个元素的值(值
为整数),然后输出主对角线元素的积,并在fun()
函数中输出。

------------------------------------------------*/

#include "stdio.h"

void main()
{
int i,j,s,a[3][3];;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",

&a[i][j]);
}
s=fun(a);
printf("Sum=%d\n",s);
yzj();
getch();
}


int fun(int a[3][3])
{
/**********Program**********/






/********** End **********/

}

yzj()
{
FILE *IN,*OUT;
int m;
int n;
int i[3][3];
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(m=0;m<3;m++)
{
for(n=0;n<3;n++)
fscanf(IN,"%d",&i[m][n]);
}
o=fun(i);
{
fprintf(OUT,"%d\n",o);
getch();
}
fclose(IN);
fclose(OUT);
}


答案:----------------------
int sum;
int i,j;
sum=1;

for(i=0;i<3;i++)
sum=sum*a[i][i];
return sum;
----------------------

--------------------------------------------------

3功能:求1到100之间的偶数之积。

------------------------------------------------*/

#include "stdio.h"

double fun(int m)
{

/**********Program**********/






/********** End **********/

}

void main()
{
printf("ji=%f\n",fun(100));
yzj();
getch();
}

yzj()
{
FILE *IN,*OUT;
int iIN,i;
double dOUT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%d",&iIN);
dOUT=fun(iIN);
fprintf(OUT,"%f\n",dOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
double y=1;
int i;
for(i=1;i<=m;i++)
if(i%2==0)y*=i;
return y;
----------------------


--------------------------------------------------

4功能:求出N×M整型数组的最大元素及其所在的行坐标及
列坐标(如果最大元素不唯一,选择位置在最前面
的一个)。
例如:输入的数组为:
1 2 3
4 15 6
12 18 9
10 11 2

求出的最大数为18,行坐标为2,列坐标为1。

------------------------------------------------*/

#define N 4
#define M 3
#include

int Row,Col;

void main()
{
int a[N][M],i,j,max,row,col;
printf("input a array:");
for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);
for(i=0;i{
for(j=0;jprintf("%d",a[i][j]);
printf("\n");
}
max=fun(a);
printf("max=%d,row=%d,col=%d",max,Row,Col);
getch();
yzj();
}

int fun(int array[N][M])
{

/**********Program**********/






/********** End **********/

}

yzj()
{
FILE *IN,*OUT;
int iIN[N][M],iOUT,i,j;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=f

open("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;ifor(j=0;jfscanf(IN,"%d",&iIN[i][j]);
iOUT=fun(iIN);
fprintf(OUT,"%d %d %d\n",iOUT,Row,Col);
fclose(IN);
fclose(OUT);
}
答案:----------------------
int max,i,j;
max=array [0][0];
Row=0;
Col=0;
for(i=0;i{for(j=0;jif(max{max=array [i][j];
Row=i;
Col=j;}
}
return(max);
----------------------

--------------------------------------------------

5功能:编写函数实现两个数据的交换,在主函数中输入任
意三个数据,调用函数对这三个数据从大到小排序。

------------------------------------------------*/

#include

void swap(int *a,int *b)
{
/**********Program**********/






/********** End **********/
}

main()
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
if(xif(xif(yprintf("%3d%3d%3d",x,y,z);
yzj();
getch();
}

yzj()
{
FILE *IN,*OUT;
int m,n;
int i[2];
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(n=0;n<3;n++)
{
for(m=0;m<2;m++)
{
fscanf(IN,"%d",&i[m]);
}
swap(&i[0],&i[1]);
fprintf(OUT,"%d\n",i[0]);
fprintf(OUT,"%d\n",i[1]);
}
fclose(IN);
fclose(OUT);
}




答案:----------------------

int k;
k=*a;
*a=*b;
*b=k;
----------------------

--------------------------------------------------

6功能:求一个给定字符串中的数字字母的个数。

------------------------------------------------*/

#include "stdio.h"

int fun(char s[])
{

/**********Program**********/






/********** End **********/

}

void main(void)
{
char str[]="Beijing 2008";
int k;
k=fun(str);
printf("k=%d\n",k);
yzj();
getch();
}

yzj()
{
FILE *IN,*OUT;
char sIN[80];
int iOUT,i;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}

fscanf(IN,"%s",sIN);
iOUT=fun(sIN);

fprintf(OUT,"%d\n",iOUT);
fclose(IN);
fclose(OUT);
}
答案:----------------------
int i,k=0;
for(i=0;s[i]!='\0';i++)
if(s[i]>='0'&&s[i]<='9'')
k++;
return k;
----------------------


--------------------------------------------------

7功能:对长度为7个字符的字符串,除首、尾字符外,将其
余5个字符按降序排列。
例如:原来的字符串为CEAedca,排序后输出为CedcEAa。

------------------------------------------------*/

#include
#include
#include

int fun(char *s,int num)
{
/**********Program**********/






/********** End **********/
}

void main()
{
char s[10];
clrscr();
printf("输入7个字符的字符串:");
gets(s);
fun(s,7);
printf("\n%s",s);
getch();
NONO();
}

NONO()
{

int i;
char a[100];
FILE *rf, *wf ;
rf = fopen("in.dat", "r") ;
wf = fopen("out.dat", "w") ;
for(i=0;i<3;i++)
{
fscanf(rf, "%s", &a);
fun(a,7);
fprintf(wf, "%s", a);
fprintf(wf, "\n");
}

fclose(rf);
fclose(wf);
}
答案:----------------------
int i,j;
char t;
for(i=1;ifor(j=i+1;jif(s[i]{ t=s[i];s[i]=s[j];s[j]=t;}
----------------------

--------------------------------------------------

8功能:编写函数fun求1+2+3+ ...+n的和,在main函
数中由键盘输入n值,并输出运算结果。请编写fun
函数。
例如:若n值为2,则结果为3。

------------------------------------------------*/

#include

long fun(int n)
{

/**********Program**********/






/********** End **********/

}

int yzj();
void main(void)
{
int n;
long int result;
scanf("%d",&n);
result=fun(n);
printf("%ld\n",result);
yzj();
}

int yzj()
{
FILE *IN,*OUT;
int i;
int iIN;
long int iOUT;
IN=fopen("in11.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out11.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<4;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%ld\n",iOUT);
}
fclose(IN);
fclose(OUT);
return 0;
}

答案:----------------------
int i;
long s=0;
for(i=1;i<=n;i++)
s=s+i;
return s;
----------------------

--------------------------------------------------

9功能:判断一个整数w的各位数字平方之和能否被5整除,
可以被5整除则返回1,否则返回0。

------------------------------------------------*/

#include "stdio.h"
#include"conio.h"

int fun(int w)
{
/**********Program**********/






/********** End **********/

}

void main()
{
int m;
printf("Enter m: ");
scanf("%d", &m);
printf("\nThe result is %d\n", fun(m));
yzj();
getch();
}

yzj()
{
FILE *IN,*OUT;
int c ;
int t;
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
} for(c=1;c<=5;c++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int k,s=0;
do
{s=s+(w%10)*(

w%10);
w=w/10;
}while(w!=0);
if(s%5==0)k=1;
else k=0;
return(k);
----------------------


--------------------------------------------------

10功能:求一个四位数的各位数字的立方和

------------------------------------------------*/

#include "stdio.h"

int fun(int n)
{

/**********Program**********/






/********** End **********/

}

void main(void)
{
int k;
k=fun(1234);
printf("k=%d\n",k);
yzj();
}

yzj()
{
FILE *IN,*OUT;
int iIN,iOUT,i;
IN=fopen("22.in","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("22.out","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<10;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int d,k,s=0;
while (n>0)
{d=n%10;
s+=d*d*d;
n/=10;
}
return s;
----------------------

--------------------------------------------------

11功能:从低位开始取出长整型变量s奇数位上的数,依次
构成一个新数放在t中。
例如:当s中的数为:7654321时,t中的数为:7531。

------------------------------------------------*/

#include "stdio.h"

long fun (long s,long t)
{
/**********Program**********/






/********** End **********/
}
return t;
}

void main()
{
long s, t,m;
clrscr();
printf("\nPlease enter s:"); scanf("%ld", &s);
m=fun(s,t);
printf("The result is: %ld\n", m);
getch();
yzj();
}

yzj()
{
FILE *IN,*OUT;
int n;
long i,t,m;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(n=0;n<5;n++)
{
fscanf(IN,"%ld",&i);
m=fun(i,t);
fprintf(OUT,"%ld\n",m);

}
fclose(IN);
fclose(OUT);
}
答案:----------------------
long sl=10;
t = s % 10;
while(s > 0)
{ s = s/100;
t = s%10*sl + t;
sl = sl * 10;
----------------------


--------------------------------------------------

12功能:计算并输出给定整数n的所有因子之和(不包括1与
自身)。
注意:n的值不大于1000。
例如:n的值为855时,应输出704。

------------------------------------------------*/

#include "stdio.h"

int fun(int n)
{

/**********Program**********/






/********** End **********/

}
void main()
{
printf("s=%d\n",fun(855));
yzj();
getch();
}

yzj()
{
FILE *IN,*OUT;
int iIN,iOUT,i;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{

printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}

答案:----------------------
int s=0,i;
for(i=2;iif(n%i==0)s=s+i;
return s;
----------------------
13功能:求一个给定字符串中的英文字母的个数。

------------------------------------------------*/

#include "stdio.h"

int fun(char s[])
{

/**********Program**********/






/********** End **********/

}

void main(void)
{
char str[]="Best wishes for you!";
int k;
k=fun(str);
printf("k=%d\n",k);
yzj();
getch();
}

yzj()
{
FILE *IN,*OUT;
char sIN[80];
int iOUT,i;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<3;i++)
{
fscanf(IN,"%s",sIN);
iOUT=fun(sIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int i,k=0;
for(i=0;s[i]!='\0';i++)
if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')
k++;
return k;
----------------------


--------------------------------------------------

14功能:能计算从1开始到n的自然数的和,n由键盘输入,
并在main()函数中输出。

------------------------------------------------*/

#include "stdio.h"

int fun(int n)
{
/**********Program**********/






/********** End **********/

}

void main()
{
int m;
printf("Enter m: ");
scanf("%d", &m);
printf("\nThe result is %d\n", fun(m));
yzj();
getch();
}

yzj()
{
FILE *IN,*OUT;
int t;
int o;
int c;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(c=1;c<=5;c++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int sum,i;
sum =0;
for(i=1;i<=n;i++)
{sum=sum+i;}
return(sum);
----------------------

--------------------------------------------------

15功能:请编一个函数void fun(int tt[M][N],int pp[N]),
tt指向一个M行N列的二维数组,求出二维数组每列
中最大元素,并依次放入pp所指一维数组中。二维
数组中的数已在主函数中赋予。

------------------------------------------------*/

#include
#include
#define M 3
#define N 4

void fun(int tt[M][N],int pp[N])
{
/**********Program**********/






/********** End **********/
}

void main()
{
int t[M][N]={{22,45,56,30},

{19,33,45,38},
{20,22,66,40}};
int p[N],i,j,k;
clrscr();
printf("The original data is:\n");
for(i=0;i{
for(j=0;jprintf("%6d",t[i][j]);
printf("\n");
}
fun(t,p);
printf("\nThe result is:\n");
for(k=0;kprintf("\n");
getch();
NONO();
}
NONO()
{
int i,j, array[3][4],p[4];
FILE *rf, *wf ;
rf = fopen("in.dat", "r") ;
wf = fopen("out.dat", "w") ;
for (i=0; i < 3; i++)
for (j=0; j < 4; j++)
fscanf(rf, "%d", &array[i][j]);
fun(array,p);
for (j=0; j < 4; j++)
{
fprintf(wf, "%7d", p[j]);
fprintf(wf, "\n");
}
fclose(rf) ;
fclose(wf) ;
}
答案:----------------------
int i,j;
for(j=0;j{
pp[j]=tt[0][j];
for(i=1;iif(tt[i][j]>pp[j])
pp[j]=tt[i][j];

}
----------------------


--------------------------------------------------

16功能:求一组数中大于平均值的数的个数。
例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函
数值为3。

------------------------------------------------*/

#include "stdio.h"

int fun(int a[],int n)
{

/**********Program**********/






/********** End **********/

}
void main(void)
{
int a[10]={1,3,6,9,4,23,35,67,12,88};
int y;
y=fun(a,10);
printf("y=%d\n",y);
yzj();
getch();
}
yzj()
{
FILE *IN,*OUT;
int iIN[10],iOUT,i,j;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}

for(i=0;i<10;i++)
fscanf(IN,"%d",&iIN[i]);
iOUT=fun(iIN,10);
fprintf(OUT,"%d\n",iOUT);

fclose(IN);
fclose(OUT);
}
答案:----------------------
int i,k=0;
float s=0,ave;
for(i=0;is+=a[i];
ave=s/n;
printf("%f ",ave);
for(i=0;iif(a[i]>ave)k++;
return k;
----------------------


--------------------------------------------------

17功能:求大于lim(lim小于100的整数)并且小于100的所
有素数并放在aa数组中,该函数返回所求出素数的
个数。

------------------------------------------------*/

#include
#include
#define MAX 100

int fun(int lim,int aa[MAX])
{
/**********Program**********/






/********** End **********/
}
void main()
{
int limit,i,sum;
int aa[MAX];
clrscr();
printf("Please Input aInteger:");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;iif(i%10==0&&i!=0) printf("\n");
printf("%5d",aa[i]);
}
NONO();
getch();
}
NONO()
{
int i,j,array[100],sum,lim;
FILE *rf, *wf ;
rf = fopen("in.dat", "r") ;

wf = fopen("out.dat", "w") ;
for (j=0; j <= 5; j++)
{
fscanf(rf, "%d", &lim);
sum=fun(lim,array);
for(i=0;ifprintf(wf, "%7d", array[i]);
fprintf(wf, "\n");
}
fclose(rf);
fclose(wf);
}
答案:----------------------
int n=0;
int i,j;
for(i=lim;i<=100;i++)
{for(j=2;jif(i%j==0) break;
if(j==i) aa[n++]=i;
}
return n;
----------------------

--------------------------------------------------

18功能:将字符串中的大写字母转换为对应的小写字母,
其它字符不变。

------------------------------------------------*/

#include "stdio.h"

void change(char str[])
{
/**********Program**********/






/********** End **********/
}

#include "string.h"
main()
{
void change();
char str[40];
gets(str);
change(str);
puts(str);
yzj();
getch();
}

yzj()
{
FILE *IN,*OUT;
int n;
int i[200];
int o[200];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{printf("Write File Error");
}
fscanf(IN,"%s",i);
change(i);
fprintf(OUT,"%s",i);
fclose(IN);
fclose(OUT);
}

答案:----------------------
int i;
for(i=0;str[i]!='\0';i++)
if(str[i]>='A' && str[i]<='Z') str[i]=str[i]+32;
----------------------

--------------------------------------------------

19功能:从键盘输入一个大于3的整数,调用函数fun判断
其是否素数,然后在main函数中输出相应的结论
信息。
例如:7是素数,8不是素数。请编写fun函数。素数是
仅能被1和自身整除的数

-------------------------------------------------*/

#include "stdio.h"

void main()
{
int m,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);
yzj();
}

int fun(int n)
{

/**********Program**********/






/********** End **********/
}

yzj()
{
FILE *IN,*OUT;
int iIN,iOUT,i;
IN=fopen("5.in","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("5.out","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<10;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int i;
int j;
j= 1;
for(i=2;i{if(n%i==0) j= 0;
}
return j;
----------------------

--------------------------------------------------

20功能:从字符串中删除指定的字符。同一字母的大、小写
按不同字符处理。
例如:若程序执行时输入字符串为:turbocandborlandc++
从键盘

上输入字符:n,则输出后变为:turbocadbo
rladc++,如果输入的字符在字符串中不存在,则字
符串照原样输出。

------------------------------------------------*/

#include "stdio.h"

int fun(char s[],int c)
{
/**********Program**********/





/********** End **********/

}
void main()
{
static char str[]="turbocandborlandc++";
char ch;
clrscr() ;
printf("原始字符串:%s\n", str);
printf("输入一个字符:");
scanf("%c",&ch);
fun(str,ch);
printf("str[]=%s\n",str);
getch();
yzj();
}

yzj()
{
FILE *IN,*OUT;
char i[200];
char o[200];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
fscanf(IN,"%s",i);
fun(i,'n');
fprintf(OUT,"%s",i);
fclose(IN);
fclose(OUT);
}

答案:----------------------
char *q=s;
for(; *q; q++)
if(*q != c) *(s++)=*q;
*s=0;
----------------------

--------------------------------------------------

21功能:对长度为8个字符的字符串,将8个字符按降序排列。
例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。

------------------------------------------------*/

#include
#include
#include

int fun(char *s,int num)
{
/**********Program**********/






/********** End **********/
}
void main()
{
char s[10];
clrscr();
printf("输入8个字符的字符串:");
gets(s);
fun(s,8);
printf("\n%s",s);
getch();
NONO();
}
NONO()
{

int i;
char a[100];
FILE *rf, *wf ;
rf = fopen("in.dat", "r") ;
wf = fopen("out.dat", "w") ;
for(i=0;i<3;i++)
{
fscanf(rf, "%s", &a);
fun(a,8);
fprintf(wf, "%s", a);
fprintf(wf, "\n");
}

fclose(rf);
fclose(wf);
}
答案:----------------------
int i,j;
char t;
for(i=0;ifor(j=i+1;jif(s[i]{ t=s[i];s[i]=s[j];s[j]=t;}






--------------------------------------------------

22功能:实现两个整数的交换。
例如:给a和b分别输入:60和65,输入为:a=65 b=60

------------------------------------------------*/

#include
#include

void fun(int *a,int *b)
{
/**********Program**********/






/********** End **********/
}
void main()
{
int a,b;
clrscr();
printf("Enter a,b:");
scanf("%d%d",&a,&b);
fun(&a,&b);
printf("a=%d b=%d\n",a,b);
yzj();
getch();
}

yzj()
{
FILE *IN,*OUT;
int a,b,n;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(n=0;n<5;n++)
{
fs

canf(IN,"%d%d",&a,&b);
fun(&a,&b);
fprintf(OUT,"a=%d b=%d\n",a,b);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int t;
t=*a;*a=*b;*b=t;
----------------------


--------------------------------------------------

23功能:给定n个数据, 求最小值出现的位置(如果最小值
出现多次,求出第一次出现的位置即可)。

------------------------------------------------*/

#include "stdio.h"

int station(int s[],int n)
{
/**********Program**********/






/********** End **********/
}

main()
{
int a[100],n,i,t;
clrscr();
scanf("%d",&n);
for(i=0;iscanf("%d",&a[i]);
t=station(a,n);
printf("the min_value position is:%d\n",t);
yzj();
getch();
}
yzj()
{
FILE *IN,*OUT;
int n;
int i[10];
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(n=0;n<10;n++)
{
fscanf(IN,"%d",&i[n]);

}
o=station(i,10);
fprintf(OUT,"%d\n",o);
fclose(IN);
fclose(OUT);
}
答案:----------------------
int i,k;
k=0;
for(i=1;iif(s[i]return(k);
----------------------


--------------------------------------------------

24功能:调用函数fun判断一个三位数是否"水仙花数"。
在main函数中从键盘输入一个三位数,并输
出判断结果。请编写fun函数。
说明:所谓"水仙花数"是指一3位数,其各位数字立方和
等于该数本身。
例如:153是一个水仙花数,因为153=1+125+27。

------------------------------------------------*/

#include "stdio.h"

int fun(int n)
{

/**********Program**********/






/********** End **********/


}

void main()
{
int n,flag;
scanf("%d",&n);
flag=fun(n);
if(flag)
printf("%d 是水仙花数\n",n);
else
printf("%d 不是水仙花数\n",n);
getch();
yzj();
}
yzj()
{
FILE *IN,*OUT;
int iIN,i;
int iOUT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<10;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int bw,sw,gw;
bw=n/100;sw=(n-bw*100)/10;gw=n%10;
if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;
else return 0;
----------------------

--------------------------------------------------

25功能:从键盘为一维整型数组输入10个整数,调用fun
函数找出其中最小的数,并在main函数中输出。
请编写fun函数。

------------------------------------------

-------*/

#include "stdio.h"

int fun(int x[],int n)
{

/**********Program**********/






/********** End **********/


}

void main()
{
int a[10],i,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
min=fun(a,10);
printf("%d\n",min);
yzj();
}

yzj()
{
FILE *IN,*OUT;
int iIN[10],i;
int iOUT,iCOUNT;
IN=fopen("4.in","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("4.out","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<10;i++)
{
for(iCOUNT=0;iCOUNT<10;iCOUNT++)
fscanf(IN,"%d",&iIN[iCOUNT]);
iOUT=fun(iIN,10);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int min,i;
min=x[0];
for(i=1;i{if(x[i]return min;
----------------------

相关文档
相关文档 最新文档