收藏 分销(赏)

程序设计123.doc

上传人:xrp****65 文档编号:7926588 上传时间:2025-01-27 格式:DOC 页数:36 大小:167KB 下载积分:10 金币
下载 相关 举报
程序设计123.doc_第1页
第1页 / 共36页
程序设计123.doc_第2页
第2页 / 共36页


点击查看更多>>
资源描述
【程序设计】 -------------------------------------------------- 功能:从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) ------------------------------------------------*/ #include <math.h> #include <stdio.h> void bky(); float y(float x) { /**********Begin**********/ /********** End **********/ } main() { float x; scanf("%f",&x); printf("y=%f\n",y(x)); bky(); } void bky() { FILE *IN,*OUT; int n; float i; float 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,"%f\n",o); } fclose(IN); fclose(OUT); } 【参考代码】 float z; if(x>4) z=sqrt(x-4); else if(x>-4) z=pow(x,8); else if(x>-10) z=4/(x*(x+1)); else z=fabs(x)+20; return(z); 功能:fun函数的功能是,实现字符串的复制,即将str1中的字符串复制到str2中。(不允许用字符串库函数strcpy)。 ------------------------------------------------*/ #include "stdio.h" void fun(char str1[],char str2[]) { /**********Begin**********/ /********** End **********/ } void TestFunc(); main() { char c1[40],c2[40]; gets(c1); fun(c1,c2); puts(c2); TestFunc(); } void TestFunc() { FILE *IN,*OUT; int n; char i[100]; char o[100]; 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,o); fprintf(OUT,"%s\n",o); fclose(IN); fclose(OUT); } 【参考代码】 int i; for(i=0;str1[i]!='\0';i++) str2[i]=str1[i]; /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:将从键盘上输入的每个单词的第一个字母转换为 大写字母,输入时各单词必须用空格隔开,用’.’ 结束输入。 ------------------------------------------------*/ #include "stdio.h" int fun(char *c,int status) { /**********Begin**********/ /********** End **********/ } main() { int flag=1; char ch; printf("请输入一字符串,用点号结束输入!\n") ; do { ch=getchar(); flag=fun(&ch, flag); putchar(ch); }while(ch!='.'); printf("\n"); NONO(); } NONO( ) { char s1[81], ch; int i, flag = 1; FILE *rf, *wf ; rf = fopen("in.dat", "r") ; wf = fopen("out.dat", "w") ; fgets(s1, 80, rf) ; for(i = 0 ; i < strlen(s1); i++) { ch = s1[i] ; flag = fun(&ch, flag) ; s1[i] = ch ; } fprintf( wf,"%s", s1 ); fclose(rf) ; fclose(wf) ; } 【参考代码】 if (*c== ' ') return 1; else { if(status && *c <= 'z' && *c >= 'a') *c += 'A' - 'a'; return 0; } /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在main函数中输出相应的结论 信息。 例如:7是素数,8不是素数。请编写fun函数。素数是 仅能被1和自身整除的数 -------------------------------------------------*/ #include <stdio.h> void VV(); int fun(int n) { /********** Begin **********/ /********** End ***********/ } 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); VV(); } void VV() { 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<n;i++) { if(n%i==0) j=0; } return j; 程序设计 1.功能:编写函数判断一个整数能否同时被3和5整除,若能 则返回值为1,否则为0。调用该函数求出15~300之 间能同时被3和5整除的数的个数。 #include <stdio.h> void bky(); int sum(int n) { /**********Begin**********/ if(n%3==0&&n%5==0) return(1); return(0); /********** End **********/ } main() { int i,s=0; for(i=15;i<=300;i++) if(sum(i)==1) s=s+1; printf("s=%d\n",s); bky(); } void bky() { FILE *IN,*OUT; int n; int i[12]; 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<5;n++) { fscanf(IN,"%d",&i[n]); } for(n=0;n<5;n++) { o = sum(i[n]); fprintf(OUT,"%d\n",o); } fclose(IN); fclose(OUT); } 2.功能:产生20个[30,120]上的随机整数放入二维数组a[5][4] 中,求每行元素的和。 #include "stdlib.h" #include <stdio.h> void bky(); void row_sum(int a[5][4],int b[5]) { /**********Begin**********/ int i,j; for(i=0;i<5;i++) { b[i]=0; for(j=0;j<4;j++) b[i]=b[i]+a[i][j]; } /********** End **********/ } main() { void row_sum(); int a[5][4],b[5],i,j; for(i=0;i<5;i++) for(j=0;j<4;j++) a[i][j]=random(120-30+1)+30; for(i=0;i<5;i++) { for(j=0;j<4;j++) printf("%5d",a[i][j]); printf("\n"); } row_sum(a,b); for(i=0;i<5;i++) printf("%6d",b[i]); printf("\n"); bky(); } void bky() { FILE *IN,*OUT; int m,n; int i[5][4]; int o[5]; 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<5;m++) for(n=0;n<4;n++) fscanf(IN,"%d",&i[m][n]); row_sum(i,o); for(n=0;n<5;n++) fprintf(OUT,"%d\n",o[n]); fclose(IN); fclose(OUT); 的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 200 400 600 800 1000 1200 1400 1600 1800 ------------------------------------------------*/ #include <stdio.h> void bky(); void fun(int array[3][3]) { /**********Begin**********/ /********** End **********/ } main() { int i,j; int array[3][3]={{100,200,300}, {400,500,600}, {700,800,900}}; for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf("%7d",array[i][j]); printf("\n"); } fun(array); printf("Converted array:\n"); for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf("%7d",array[i][j]); printf("\n"); } bky(); } void bky() { int i,j, array[3][3]; FILE *rf, *wf ; rf = fopen("in.dat", "r") ; wf = fopen("out.dat", "w") ; for (i=0; i < 3; i++) for (j=0; j < 3; j++) fscanf(rf, "%d", &array[i][j]); fun(array); for (i=0; i < 3; i++) { for (j=0; j < 3; j++) fprintf(wf, "%7d", array[i][j]); fprintf(wf, "\n"); } fclose(rf) ; fclose(wf) ; } 示例代码: int i,j; for(i=0; i < 3; i++) for(j=0; j < 3; j++) array[i][j]=array[i][j]*2; 题号:6235 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个一维数组中。例如,二维数组中的数据为: W W W W S S S S H H H H 则一维数组中的内容应是: WSHWSHWSH。 ------------------------------------------------*/ void TestFunc(); #include <stdio.h> #define M 3 #define N 4 void fun(char s[][N], char b[]) { /*********Begin**********/ /********** End **********/ } main() { char a[100]; char w[M][N]={{'W','W','W','W'}, {'S','S','S','S'},{'H','H','H','H'}}; int i,j; printf("The matrix:\n"); for(i=0;i<M;i++) { for(j=0;j<N;j++) printf("%3c",w[i][j]); printf("\n"); } fun(w,a); printf("The A string:\n"); puts(a); printf("\n\n"); TestFunc(); } void TestFunc() { FILE *IN,*OUT; int j,i; char a[M][N],b[100]; 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(i=0;i<M;i++) for(j=0;j<N;j++) fscanf(IN,"%c",&a[i][j]); fun(a,b); fprintf(OUT,"%s",b); fclose(IN); fclose(OUT); } 示例代码: int i,j,n=0; for(i=0;i<N;i++) for(j=0;j<M;j++) { b[n]=s[j][i]; n++;} b[n]='\0'; 1:功能:从低位开始取出长整型变量s奇数位上的数,依次 构成一个新数放在t中。 例如:当s中的数为:7654321时,t中的数为:7531。 ------------------------------------------------*/ #include "stdio.h" long fun (long s,long t) { /**********Begin**********/ /********** End **********/ } return t; } main() { long s, t,m; printf("\nPlease enter s:"); scanf("%ld", &s); m=fun(s,t); printf("The result is: %ld\n", m); TestFunc(); } TestFunc() { 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; 2:功能:编写函数fun,求任一整数m的n次方。 ------------------------------------------------*/ #include <stdio.h> void bky(); long fun(int m,int n) { /**********Begin**********/ /********** End **********/ } main() { int m,n; long s; long fun(int,int); printf("输入m和n的值:"); scanf("%d,%d",&m,&n); s=fun(m,n); printf("s=%ld\n",s); bky(); } void bky() { FILE *IN,*OUT; int n; int i[2]; long 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<2;n++) { fscanf(IN,"%d",&i[n]); } o = fun(i[0],i[1]); fprintf(OUT,"%ld\n",o); fclose(IN); fclose(OUT); } long int x=1; int i; for(i=1;i<=n;i++) x=x*m; return x; 程序设计 /*------------------------------------------------ 【程序设计】 功能:求一个四位数的各位数字的立方和。 -----------------------------------------------*/ #include <stdio.h> void TestFunc(); int fun(int n) { /*********Begin**********/ /********** End **********/ } main() { int k; k=fun(1234); printf("k=%d\n",k); TestFunc(); } void TestFunc() { 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 d,s=0; while (n>0) {d=n%10; s+=d*d*d; n/=10; } return s; /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:将tt数组中的小写字母都改为对应的大写字母,其它字符删除。 例如:a4 bdsk88*,结果:ABDSK ------------------------------------------------*/ void TestFunc(); #include <stdio.h> #include <string.h> void fun(char tt[]) { /*********Begin**********/ /********** End **********/ } main() { char tt[81]; printf("\nPlease enter a string:"); gets(tt); fun(tt); printf("\nThe result string is:\n%s",tt); TestFunc(); } void TestFunc() { FILE *IN,*OUT; char s[100]; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } fgets(s,100,IN); fun(s); fprintf(OUT,"%s",s); fclose(IN); fclose(OUT); } 示例代码: int i,j=0; for(i=0;tt[i];i++) if(('a'<=tt[i])&&(tt[i]<='z')) tt[j++]=tt[i]-32; tt[j]=0; 【程序设计】 -------------------------------------------------- fun函数功能:删除所有值为y的元素,返回剩余元素的个数。 ------------------------------------------------*/ #include <stdio.h> #include<conio.h> #include<stdio.h> #define M 10 void TestFunc(); int fun(int bb[],int y) { /*********Begin**********/ /********** End **********/ } main() { int aa[M],n,y,k; printf("\nEnter number:\n"); for(k=0;k<M;k++) scanf("%d",&aa[k]); printf("The original data is:\n"); for(k=0;k<M;k++) printf("%5d",aa[k]); printf("\nEnter a number to deletede:"); scanf("%d",&y); n=fun(aa,y); printf("The data after deleted %d:\n",y); for(k=0;k<n;k++) printf("%4d",aa[k]); printf("\n"); TestFunc(); } void TestFunc() { FILE *IN,*OUT; int n,j; 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(j=0;j<10;j++) { fscanf(IN,"%d",&i[j]); } n=fun(i,3); for(o=0;o<n;o++) { fprintf(OUT,"%d\n",i[o]); } fclose(IN); fclose(OUT); } 示例代码: int i=0,j=0; for(i=0;i<M;i++) if(bb[i]!=y) bb[j++]=bb[i]; return j; 题号:6078 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:对任意输入的 x,用下式计算并输出 y 的值。 -1 x<0 y= 0 x=0 1 x>0 ------------------------------------------------*/ #include<stdio.h> void TestFunc(); int fun(int n) { /*********Begin**********/ /********** End **********/ } void main () { int x,y; printf("enter x:"); scanf("%d",&x); y=fun(x); printf("x=%d,y=%d\n",x,y); TestFunc(); } void TestFunc() { FILE *IN,*OUT; int i; int iIN; long 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<5;i++) { fscanf(IN,"%d",&
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服