第一二套
- 格式:docx
- 大小:1012.75 KB
- 文档页数:41
第一套修改:/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。
高位仍在高位,低位仍在低位。
例如:当s中的数为:87654时,t中的数为:864。
------------------------------------------------------*/#include <conio.h>#include <stdio.h>void fun (long s, long *t){int d;long sl=1;*t = 0;while (s>0){d = s%10;/**********FOUND**********/if(d%2==0){/**********FOUND**********/*t=d* sl+ *t;sl *= 10;}/**********FOUND**********/s/=10;}}void main(){long s, t;printf("\nPlease enter s:");scanf("%ld", &s);fun(s, &t);printf("The result is: %ld\n", t);}修改:/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:将6个字符按输入时顺序的逆序进行排列.------------------------------------------------------*/#include <stdio.h>void sort(char *p,int m){int i;char change,*p1,*p2;for(i=0;i<m/2;i++){/***********FOUND***********/p1=p+i; p2=p+(m-1-i);change=*p1;*p1=*p2;*p2=change;}}void main( ){int i;/***********FOUND***********/ char *p,num[6];for(i=0;i<=5;i++)/***********FOUND***********/scanf("%c",&num[i]);p=&num[0];/***********FOUND***********/ sort(p,6);for(i=0;i<=5;i++)printf("%c",num[i]);}答案:/*------------------------------------------------【程序设计】--------------------------------------------------功能:编写函数用排序法对数组中的数据进行从小到大的排序。
------------------------------------------------*/#include <stdlib.h>#include<stdio.h>void wwjt();void sort(int a[],int n){/**********Program**********/int i,j,t;for(i=1;i<n;i++)for(j=0;j<n-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}/********** End **********/ }main(){int a[16],i;for(i=0;i<16;i++)a[i]=rand()%100;for(i=0;i<16;i++)printf("%4d",a[i]);printf("\n-------------------\n");sort(a,16);for(i=0;i<16;i++)printf("%4d",a[i]);wwjt();}void wwjt(){FILE *IN,*OUT;int n;int i[10];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]);}sort(i,10);for(n=0;n<10;n++)fprintf(OUT,"%d\n",i[n]); fclose(IN);fclose(OUT);}第二套答案:DBCDA ABACB DACBB DBBCD BBDDC DACAB/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。
高位仍在高位,低位仍在低位。
例如:当s中的数为:87653142时,t中的数为:7531。
------------------------------------------------------*/#include <conio.h>#include <stdio.h>void fun (long s, long *t){int d;long sl=1;/**********FOUND**********/t = 0;while ( s > 0){d = s%10;/**********FOUND**********/if (d%2 == 0){*t = d * sl + *t;sl *= 10;}/**********FOUND**********/s \= 10;}}void main(){long s, t;printf("\nPlease enter s:"); scanf("%ld", &s);fun(s, &t);printf("The result is: %ld\n", t);}/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:将6个字符按输入时顺序的逆序进行排列.------------------------------------------------------*/#include <stdio.h>void sort(char *p,int m){int i;char change,*p1,*p2;for(i=0;i<m/2;i++){/***********FOUND***********/*p1=p+i; *p2=p+(m-1-i);change=*p1;*p1=*p2;*p2=change;}}void main( ){int i;/***********FOUND***********/char p,num[6];for(i=0;i<=5;i++)/***********FOUND***********/scanf("%c",num[i]);p=&num[0];/***********FOUND***********/sort(*p,6);for(i=0;i<=5;i++)printf("%c",num[i]);}/*------------------------------------------------【程序设计】--------------------------------------------------功能:编写函数求1~100中奇数的平方和。
结果为166650.000000。
------------------------------------------------*/#include <stdio.h>void wwjt();float sum(int n){/**********Program**********//********** End **********/}main(){printf("sum=%f\n",sum(100));wwjt();}void wwjt(){FILE *IN,*OUT;int i,j;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(j=0;j<5;j++){fscanf(IN,"%d",&i);o=sum(i);fprintf(OUT,"%f\n",o);}fclose(IN);fclose(OUT);}。