青海大学题库c语言程序设计_第1页
青海大学题库c语言程序设计_第2页
青海大学题库c语言程序设计_第3页
青海大学题库c语言程序设计_第4页
青海大学题库c语言程序设计_第5页
已阅读5页,还剩310页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编号:9478/*------------------------------------------------【程序设计】--------------------------------------------------输入字符串,并输出其长度。------------------------------------------------*/#include<stdio.h>voidwwjt();intfun(char*p1){/**********Program**********//**********End**********/}main(){char*p,a[20];intlen;p=a;printf("pleaseinputastring:\n");gets(p);len=fun(p);printf("Thestring'slengthis:%d\n",len);wwjt();}voidwwjt(){FILE*IN,*OUT;char*pIN,sin[20];intiOUT,i;pIN=sin;IN=fopen("3.IN","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("3.out","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}for(i=0;i<10;i++){fscanf(IN,"%s",pIN);iOUT=fun(pIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}----------char*p;intn=0;p=p1;while(*p++)n++;returnn;----------------------/*------------------------------------------------【程序设计】--------------------------------------------------的数,如存在则返回这个最大值,如果不存在则------------------------------------------------*/#defineN30#include"stdlib.h"#include<stdio.h>voidwwjt();intfind(intarr[],intn){intm=0;/**********Program**********//**********End**********/return(m);}main(){inta[N],i,k;for(i=0;i<N;i++)a[i]=random(51)+10;for(i=0;i<N;i++){printf("%5d",a[i]);if((i+1)%5==0)printf("\n");}k=find(a,N);if(k==0)printf("NOFOUND\n");elseprintf("themaxis:%d\n",k);wwjt();}voidwwjt(){FILE*IN,*OUT;ntninti[5];into;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}for(n=0;n<5;n++){fscanf(IN,"%d",&i[n]);}o=find(i,5);fprintf(OUT,"%d\n",o);fclose(IN);fclose(OUT);}----------inti;for(i=0;i<n;i++)if(arr[i]%5==0&&arr[i]>m)m=arr[i];----------------------/*------------------------------------------------【程序设计】--------------------------------------------------功能:编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1/2!+1/4!+…+1/m!(m是偶数)------------------------------------------------*/#include<stdio.h>voidwwjt();doublefun(intm){/**********Program**********//**********End**********/}main(){ntnprintf("Entern:");scanf("%d",&n);printf("\nTheresultis%1f\n",fun(n));wwjt();}voidwwjt(){FILE*IN,*OUT;intt;doubleo;intc;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}for(c=1;c<=5;c++){fscanf(IN,"%d",&t);o=fun(t);fprintf(OUT,"%f\n",o);}fclose(IN);fclose(OUT);}inti,j;doubles=1;for(i=2;i<=m;i+=2){for(j=i-1;j<=i;j++)s=s*j;y=y+1.0/s;}returny;/*------------------------------------------------【程序设计】--------------------------------------------------------------------------------------------------*/#include<stdio.h>voidwwjt();doublefun(intm){/**********Program**********//**********End**********/}main(){printf("ji=%f\n",fun(100));wwjt();}voidwwjt(){FILE*IN,*OUT;intiIN,i;doubledOUT;IN=fopen("23.IN","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("23.out","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}for(i=0;i<10;i++){fscanf(IN,"%d",&iIN);dOUT=fun(iIN);fprintf(OUT,"%f\n",dOUT);}fclose(IN);fclose(OUT);}----------doubley=1;inti;for(i=1;i<=m;i++)if(i%2==0)y*=i;returny;----------------------/*------------------------------------------------【程序设计】--------------------------------------------------两条对角线相交的元素只加一次。例如:主函数中给出的矩阵的两条对角线的和为45。------------------------------------------------*/#include<stdio.h>#defineM5voidwwjt();intfun(inta[M][M]){/**********Program**********//**********End**********/}main()inta[M][M]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8},{1,3,4,5,6}};intyy=fun(a);printf("s=%d\n",y);wwjt();}voidwwjt(){FILE*IN,*OUT;intiIN[M][M],iOUT;inti,j;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}{for(i=0;i<M;i++)for(j=0;j<M;j++)fscanf(IN,"%d",&iIN[i][j]);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}----------ints=0;inti,j;for(i=0;i<M;i++)s=s+a[i][i]+a[i][M-1-i];s=s-a[(M-1)/2][(M-1)/2];returns;----------------------6章/*------------------------------------------------【程序设计】--------------------------------------------------课程平均分和最高分.92,84则------------------------------------------------*/#include<stdio.h>voidwwjt();/*定义全局变量*//*学生成绩平均分*/floatStuAgv[2];/*课程平均分*/floatCouAgv[3];/*所有学生的所有课程最高分*/floatMax=0;/*说明:需要在下面函数中把题干要求中的结果赋值到上面定义一变量中*/voidfun(floatscore[2][3]){/**********Program**********//**********End**********/}voidmain(){inti,j;floatscore[2][3];printf("输入学生的成绩:");for(i=0;i<2;i++)for(j=0;j<3;j++)scanf("%f",&score[i][j]);printf("\n输出学生的成绩:");for(i=0;i<2;i++){for(j=0;j<3;j++)printf("%.2f",score[i][j]);printf("\n");}fun(score);for(i=0;i<2;i++)printf("第%d个学生的平均成绩是:%0.2f\n",i+1,StuAgv[i]);for(j=0;j<3;j++)printf("第%d门课的平均成绩是:%0.2f\n",j+1,CouAgv[j]);printf("所有分数中的最高分为:%.2f\n",Max);wwjt();}voidwwjt(){FILE*IN,*OUT;floatiIN[2][3];inti,j;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}for(i=0;i<2;i++)for(j=0;j<3;j++)fscanf(IN,"%f",&iIN[i][j]);fun(iIN);for(i=0;i<2;i++)fprintf(OUT,"%.2f\n",StuAgv[i]);for(j=0;j<3;j++)fprintf(OUT,"%.2f\n",CouAgv[j]);fprintf(OUT,"%.2f\n",Max);fclose(IN);fclose(OUT);return;}floatsum;for(i=0;i<2;i++){sum=0;for(j=0;j<3;j++)sum=sum+score[i][j];StuAgv[i]=sum/3;}for(j=0;j<3;j++){sum=0;for(i=0;i<2;i++)sum=sum+score[i][j];CouAgv[j]=sum/2;}Max=score[0][0];for(i=0;i<2;i++)for(j=0;j<3;j++)if(Max<=score[i][j]){Max=score[i][j];}return;/*------------------------------------------------【程序设计】--------------------------------------------------------------------------------------------------*/#include<stdio.h>#include"conio.h"voidwwjt();intfun(intw){/**********Program**********//**********End**********/}main(){ntmprintf("Enterm:");scanf("%d",&m);printf("\nTheresultis%d\n",fun(m));wwjt();}voidwwjt(){FILE*IN,*OUT;intc;intt;into;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}for(c=1;c<=5;c++){fscanf(IN,"%d",&t);o=fun(t);fprintf(OUT,"%d\n",o);}fclose(IN);fclose(OUT);}----------intk,s=0;{s=s+(w%10)*(w%10);w=w/10;}while(w!=0);if(s%5==0)k=1;elsek=0;return(k);----------------------95章/*-------------------------------------------------------【程序设计】---------------------------------------------------------at-------------------------------------------------------*/#include<stdio.h>#include<string.h>voidmain(){/**********Program**********//**********End**********/}答案:chara[40],b[40],c[80];inti,j;printf("分二行输入两个字符串:\n");gets(a);gets(b);for(i=0;a[i]!='\0';i++)c[i]=a[i];for(j=0;b[j]!='\0';j++)c[i+j]=b[j];c[i+j]='\0';puts(c);/*-------------------------------------------------------【程序设计】---------------------------------------------------------请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向MN中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。-------------------------------------------------------*/#include<conio.h>#include<stdio.h>#include<stdlib.h>#defineM3#defineN4voidfun(inttt[M][N],intpp[N]){inti,j,max;/**********Program**********//**********End**********/}voidmain(){FILE*wf;intt[M][N]={{68,32,54,12},{14,24,88,58},{42,22,44,56}};intp[N],i,j,k;system("CLS");printf("Theriginaldatais:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%6d",t[i][j]);printf("\n");}fun(t,p);printf("\nTheresultis:\n");for(k=0;k<N;k++)printf("%4d",p[k]);printf("\n");wf=fopen("out.txt","w");for(k=0;k<N;k++)fprintf(wf,"%4d",p[k]);fclose(wf);}{for(j=0;j<N;j++)max=tt[0][j];for(i=0;i<M;i++)if(tt[i][j]>max)max=tt[i][j];pp[j]=max;}第2章/*------------------------------------------------【程序设计】--------------------------------------------------------------------------------------------------*/#include"stdio.h"voidwwjt();intfun(intm){/**********Program**********//**********End**********/}main(){intm,k=0;for(m=100;m<200;m++)if(fun(m)){printf("%4d",m);k++;if(k%5==0)printf("\n");}printf("k=%d\n",k);wwjt();}voidwwjt(){FILE*IN,*OUT;intiIN,iOUT,i;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");}for(i=0;i<10;i++){fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}-------inti,k=1;if(m<=1)k=0;for(i=2;i<m;i++)if(m%i==0)k=0;returnk;----------------------第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函------------------------------------------------*/#include<stdio.h>voidwwjt();intfun(inta[],intn){/**********Program**********//**********End**********/}main(){inta[10]={1,3,6,9,4,23,35,67,12,88};intyy=fun(a,10);printf("y=%d\n",y);wwjt();}voidwwjt(){FILE*IN,*OUT;intiIN[10],iOUT,i,j;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}for(j=0;j<10;j++){for(i=0;i<10;i++)fscanf(IN,"%d",&iIN[i]);iOUT=fun(iIN,10);}fprintf(OUT,"%d\n",iOUT);fclose(IN);fclose(OUT);}----------inti,k=0;floats=0,ave;for(i=0;i<n;i++)s+=a[i];ave=s/n;printf("%f",ave);for(i=0;i<n;i++)if(a[i]>ave)k++;returnk;----------------------第1章/*-------------------------------------------------------【程序设计】---------------------------------------------------------题目:请编写程序,输入一个华氏温度,要求输出摄氏温度。公式为C=5/9*(F-32)要求:输入为整型,输出为实型,保留两位小数。-------------------------------------------------------*/#include<stdio.h>voidwwjt();doublefun(intf){/**********Program**********//**********End**********/}voidmain(){intf;scanf("%d",&f);printf("%.2f",fun(f));wwjt();}voidwwjt(){FILE*IN,*OUT;inti;intiIN;doubleiOUT;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");}for(i=0;i<5;i++){fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%.2f\n",iOUT);}fclose(IN);fclose(OUT);}c=5.0/9.0*(f-32);returnc;第1章/*-------------------------------------------------------【程序设计】---------------------------------------------------------排序;-------------------------------------------------------*/#include"stdio.h"voidwwjt();intfun(inta[]){/**********Program**********//**********End**********/}voidmain(){inta[10],i,m;for(i=0;i<10;i++)scanf("%d",&a[i]);m=fun(a);printf("%d",m);wwjt();}voidwwjt(){FILE*IN,*OUT;intiIN[10],i;intiOUT,iCOUNT;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");}for(i=0;i<5;i++){for(iCOUNT=0;iCOUNT<10;iCOUNT++)fscanf(IN,"%d",&iIN[iCOUNT]);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}returna[1];第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:编写程序,实现矩阵(3行3列)的转置(即行列互换)例如:输入下面的矩阵:100200300400500600700800900100400700200500800300600900------------------------------------------------*/#include<stdio.h>voidwwjt();intfun(intarray[3][3]){/**********Program**********//**********End**********/}main(){inti,j;intarray[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("Convertedarray:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}wwjt();}voidwwjt(){inti,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);}----------inti,j,t;for(i=0;i<3;i++)for(j=0;j<i;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}----------------------/*------------------------------------------------【程序设计】--------------------------------------------------功能:求一个四位数的各位数字的立方和------------------------------------------------*/#include<stdio.h>voidwwjt();intfun(intn){/**********Program**********//**********End**********/}main(){ntkk=fun(1234);printf("k=%d\n",k);wwjt();}voidwwjt(){FILE*IN,*OUT;intiIN,iOUT,i;IN=fopen("22.IN","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("22.out","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}for(i=0;i<10;i++){fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}----------intd,k,s=0;while(n>0)s+=d*d*d;n/=10;}returns;----------------------第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。例如:输入的字符串为ab234$df4,新生成的串为abdf。------------------------------------------------*/#include<stdio.h>#include<conio.h>#defineN80voidwwjt();fun(char*ptr){/**********Program**********//**********End**********/}main(){charstr[N];ints;printf("inputastring:");gets(str);printf("TheorigINalstringis:");puts(str);s=fun(str);printf("Thenewstringis:");puts(str);printf("Thereare%dcharINthenewstring.",s);wwjt();}voidwwjt(){FILE*IN,*OUT;charsin[N];intiOUT;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}fscanf(IN,"%s",sin);iOUT=fun(sin);fprintf(OUT,"%d%s\n",iOUT,sin);fclose(IN);fclose(OUT);}----------inti,j;for(i=0,j=0;*(ptr+i)!='\0';i++)if(*(ptr+i)<='z'&&*(ptr+i)>='a'||*(ptr+i)<='Z'&&*(ptr+i)>='A'){*(ptr+j)=*(ptr+i);j+;}*(ptr+j)='\0';return(j);----------------------第1章/*-------------------------------------------------------【程序设计】---------------------------------------------------------题目:假设m是一个三位数,编写程序输出由m的个位、十位、百-------------------------------------------------------*/#include"stdio.h"voidwwjt();intfun(inta){/**********Program**********//**********End**********/}voidmain(){inta,k;scanf("%d",&a);k=fun(a);printf("k=%d",k);wwjt();}voidwwjt(){FILE*IN,*OUT;intiIN,i;intdOUT;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}for(i=0;i<5;i++){fscanf(IN,"%d",&iIN);dOUT=fun(iIN);fprintf(OUT,"%d\n",dOUT);}fclose(IN);fclose(OUT);}m=a/100;n=(a-m*100)/10;b=a%10;k=b*100+n*10+m;returnk;第2章/*------------------------------------------------【程序设计】--------------------------------------------------------------------------------------------------*/#include<stdio.h>voidwwjt();doublefun(intm){/**********Program**********//**********End**********/}main(){printf("ji=%f\n",fun(100));wwjt();}voidwwjt(){FILE*IN,*OUT;intiIN,i;doubledOUT;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}for(i=0;i<5;i++){fscanf(IN,"%d",&iIN);dOUT=fun(iIN);fprintf(OUT,"%f\n",dOUT);}fclose(IN);fclose(OUT);}----------doubley=1;inti;for(i=1;i<=m;i++)if(i%2==0)y*=i;returny;----------------------第1章/*-------------------------------------------------------【程序设计】---------------------------------------------------------除的所有自然数之和的平方根s,并作为函数值返回。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。-------------------------------------------------------*/#include<conio.h>#include<math.h>#include<stdio.h>#include<stdlib.h>doublefun(intn){doubles=0.0;inti;/**********Program**********//**********End**********/}voidmain(){FILE*wf;system("CLS");printf("s=%f\n",fun(1000));wf=fopen("out.txt","w");fprintf(wf,"%f",fun(1000));fclose(wf);}答案:for(i=0;i<n;i++)if(i%5==0&&i%11==0)s=s+i;s=sqrt(s);returns;第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:将字符串中的小写字母转换为对应的大写字母,其它字符不变。------------------------------------------------*/#include"string.h"#include<stdio.h>voidwwjt();voidchange(charstr[]){/**********Program**********//**********End**********/}main(){voidchange();charstr[40];gets(str);change(str);puts(str);wwjt();}voidwwjt(){FILE*IN,*OUT;chari[200];IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}fscanf(IN,"%s",i);change(i);fprintf(OUT,"%s\n",i);fclose(IN);fclose(OUT);}----------inti;for(i=0;str[i]!='\0';i++)if(str[i]>='a'&&str[i]<='z')str[i]=str[i]-32;----------------------第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:产生20个[30,120]上的随机整数放入二维数组a[5][4]中,求每行元素的和。------------------------------------------------*/#include"stdlib.h"#include<stdio.h>voidwwjt();voidrow_sum(inta[5][4],intb[5]){/**********Program**********//**********End**********/}main(){voidrow_sum();inta[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");wwjt();}voidwwjt(){FILE*IN,*OUT;intm,n;inti[5][4];into[5];IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}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);}----------inti,j;for(i=0;i<5;i++)for(j=0;j<4;j++)b[i]=b[i]+a[i][j];}----------------------第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:对某一正数的值保留2位小数,并对第三位进行四舍------------------------------------------------*/#include<stdio.h>#include"conio.h"voidwwjt();doublefun(floath){/**********Program**********//**********End**********/}main(){floatm;printf("Enterm:");scanf("%f",&m);printf("\nTheresultis%8.2f\n",fun(m));wwjt();}voidwwjt(){FILE*IN,*OUT;ints;floatt;doubleo;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}for(s=1;s<=5;s++){fscanf(IN,"%f",&t);o=fun(t);fprintf(OUT,"%8.2f\n",o);}fclose(IN);fclose(OUT);}----------inti;i=(int)(h*1000)%10;if(i>=5)return(int)(h*100+1)/100.0;elsereturn(int)(h*100)/100.0;----------------------第1章/*-------------------------------------------------------【程序设计】---------------------------------------------------------题目:从键盘上输入一个字符串,放在数组中,要求将字符串中的大写字母转换成小写字母,小写字母转换成大写字母,非字母字符不变,并输出-------------------------------------------------------*/#include<stdio.h>#include<string.h>#include<conio.h>#defineN80voidwwjt();charfun(chara[]){/**********Program**********//**********End**********/}voidmain(){chara[80];chars;gets(a);s=fun(a);puts(a);wwjt();}voidwwjt(){FILE*IN,*OUT;charsin[N];chariOUT;IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..itMayBeChanged");}fscanf(IN,"%s",sin);iOUT=fun(sin);fprintf(OUT,"%s\n",sin);fclose(IN);fclose(OUT);}for(i=0;i<(strlen(a));i++)if(a[i]>='A'&&a[i]<='Z')a[i]=a[i]+32;elseif(a[i]>='a'&&a[i]<='z')a[i]=a[i]-32;returna[i];第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:对长度为7个字符的字符串,除首、尾字符外,将其例如:原来的字符串为CEAedca,排序后输出为CedcEAa。------------------------------------------------*/#include<stdio.h>#include<ctype.h>#include<conio.h>voidwwjt();voidfun(char*s,intnum){/**********Program**********//**********End**********/}main(){chars[10];printf("输入7个字符的字符串:");gets(s);fun(s,7);printf("\n%s",s);wwjt();}voidwwjt(){inti;chara[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);}----------inti,j;chart;for(i=1;i<num-1;i++)for(j=i+1;j<num-1;j++)if(s[i]<s[j]){t=s[i];s[i]=s[j];s[j]=t;}----------------------第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:求k!(k〈13),所求阶乘的值作为函数值返回。(要求使用递归)------------------------------------------------*/#include<stdio.h>#include"conio.h"voidwwjt();longfun(intk){/**********Program**********//**********End**********/}main(){ntmprintf("Enterm:");scanf("%d",&m);printf("\nTheresultis%ld\n",fun(m));wwjt();}voidwwjt(){FILE*IN,*OUT;ints;intt;longo;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}for(s=1;s<=5;s++){fscanf(IN,"%d",&t);o=fun(t);fprintf(OUT,"%ld\n",o);}fclose(IN);fclose(OUT);}----------if(k>0)return(k*fun(k-1));elseif(k==0)return1L;----------------------第1章/*-------------------------------------------------------【程序设计】---------------------------------------------------------编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一acabc361。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。-------------------------------------------------------*/#include<stdio.h>#include<stdlib.h>voidfun(inta,intb,long*c){/**********Program**********//**********End**********/}voidmain(){FILE*wf;inta,b;longc;system("CLS");printf("Inputa,b;");scanf("%d%d",&a,&b);fun(a,b,&c);printf("Theresultis:%ld\n",c);wf=fopen("out.txt","w");fun(16,35,&c);fprintf(wf,"%ld",c);fclose(wf);}答案:*c=(b%10*1000+(b/10)*100+(a%10)*10+a/10);第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出矩阵第一行与第三行元素之和,------------------------------------------------*/#include<stdio.h>voidwwjt();voidfun(inta[3][3]){/**********Program**********//**********End**********/}main(){inti,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);wwjt();}voidwwjt(){FILE*IN,*OUT;ntmntninti[3][3];into;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}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);}----------intsum;inti,j;sum=0;for(i=0;i<3;i+=2)for(j=0;j<3;j++)sum=sum+a[i][j];returnsum;----------------------第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序。------------------------------------------------*/#include<stdio.h>voidwwjt();voidswap(int*a,int*b){/**********Program**********//**********End**********/}main(){intx,y,z;scanf("%d%d%d",&x,&y,&z);if(x<y)swap(&x,&y);if(x<z)swap(&x,&z);if(y<z)swap(&y,&z);printf("%3d%3d%3d",x,y,z);wwjt();}voidwwjt(){FILE*IN,*OUT;intm,n;inti[2];IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}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);}----------ntkk=*a;*a=*b;*b=k;----------------------第2章/*------------------------------------------------【程序设计】--------------------------------------------------------------------------------------------------*/#include<stdio.h>#include"conio.h"voidwwjt();longfun(intw){/**********Program**********//**********End**********/}main(){ntmprintf("Enterm:");scanf("%d",&m);printf("\nTheresultis%ld\n",fun(m));wwjt();}voidwwjt(){FILE*IN,*OUT;intc;intt;longo;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}for(c=1;c<=5;c++){fscanf(IN,"%d",&t);o=fun(t);fprintf(OUT,"%ld\n",o);}fclose(IN);fclose(OUT);}----------longy=0;inti;for(i=1;i<=w;i++)if(i%2==1)y+=i;returny;----------------------第2章/*------------------------------------------------【程序设计】--------------------------------------------------功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积,并在fun()------------------------------------------------*/#include<stdio.h>voidwwjt();main(){inti,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);wwjt();}intfun(inta[3][3]){/**********Program**********//**********End**********/}voidwwjt(){FILE*IN,*OUT;ntmntninti[3][3];into;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFILEError");}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);}----------intsum;inti,j;sum=1;for(i=0;i<3;i++)sum=sum*a[i][i];returnsum;----------------------第94章/*-------------------------------------------------------【程序设计】----------------------------------------------------------------------------------------------------------------*/#include<stdio.h>voidwwjt();intmin,minl,minh,max,maxl,maxh;voidfun(inta[3][5]){inti,j;/**********Program**********//**********End**********/}voidmain(){inta[3][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14},i,j;for(i=0;i<3;i++)for(j=0;j<5;j++)fun(a);wwjt();}voidwwjt(){FILE*IN,*OUT;inti,j;inta[3][5];IN=fopen("in.dat","r");if(IN==NULL){printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");}for(i=0;i<3;i++)for(j=0;j<5;j++)fscanf(IN,"%d",&a[i][j]);fun(a);fprintf(OUT,"%d\n",max+minl+maxh);fprintf(OUT,"%d\n",min+maxl+minh);}fclose(IN);fclose(OUT);max=min=a[0][0];for(i=0;i<3;i++)for(j=0;j<5;j++){if(a[i][j]>max){max=a[i][j];maxl=i;maxh=j;}if(a[i][j]<min){min=a[i][j];minl=i;minh=j;}}第94章/*-------------------------------------------------------【程序设计】---------------------------------------------------------输入x的值,按如图所示公式计算并输出y值:----------------------------

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论