为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

编一个函数fun(char

2017-09-28 49页 doc 135KB 34阅读

用户头像

is_212655

暂无简介

举报
编一个函数fun(char编一个函数fun(char fun(char /*这题的关键在于进行行列下标转换的算法,由矩阵的对称性我们不难看出在进行行列...26, 请编写函数fun,函数的功能是:实现B=A+A',即把矩阵A加上A的转置,存放在... 算法,矩阵 专题技术 牛档搜索(Niudown.COM) 本文系牛档搜索(Niudown.COM)根据用户的指令自动搜索的结果,文中内涉及到的资料均来自 互联网,用于学习交流经验,作品其著作权归原作 者所有。不代表牛档搜索(Niudown.COM)赞成本文的内容或立场,牛档搜索(Niudow...
编一个函数fun(char
编一个函数fun(char fun(char /*这题的关键在于进行行列下标转换的算法,由矩阵的对称性我们不难看出在进行行列...26, 请编写函数fun,函数的功能是:实现B=A+A',即把矩阵A加上A的转置,存放在... 算法,矩阵 专题技术 牛档搜索(Niudown.COM) 本文系牛档搜索(Niudown.COM)根据用户的指令自动搜索的结果,文中内涉及到的资料均来自 互联网,用于学习交流经验,作品其著作权归原作 者所有。不代牛档搜索(Niudown.COM)赞成本文的或立场,牛档搜索(Niudown.COM)不对其付相应的法律责任! 1、 编一个函数fun(char *s),函数的功能是把字符串让程序走完矩阵的左上角即可(用 中的内容逆置。 for(i=0;i<2;i++)再套for(j=i+1;j<3;j++)来完例子如:字符串中原有的内容为:abcdefg,则调用成左上角的走动。*/ 该函数后,串中的内容为:gfedcba int fun(int array[3][3]) 。 { int i,j,t; 试题程序: for(i=0;i<2;i++) #include for(j=i+1;j<3;j++) #include {t=array[i][j];array[i][j]=array[j][i];arra #include y[j][i]=t;} #define N 81 } /*注:该题的算法是先分别找出字符串的两头,然 main() 后同时逐一往中间移动,每移动一次 { int i,j; 都进行两字符的位置对换,直到中间字符(用 int s+i #include #include #include /*这题的关键在于进行行列下标转换的算法,由矩#define N 20 阵的对称性我们不难看出在进行行列 /*注:该题的算法是:用for()循环一步一步地找互换时a[j]在好是与a[j][i]互换,因而只要我位元素,用if(!a[i]%2)来判断是否是奇 数,%运算是求余运算,当对2求余为1时表示原main() 数为奇数,否则为偶数。*/ { fun(int *a,int n,int *odd,int *even) int i; { int i; *even=0;*odd=0; clrscr(); for(i=0;i } #include /*注:h乘以1000后正好是原小数点后第三位做了 4、 要求程序的功能是:把20个随机数存入一个新数的个位数,然后再进行加5运算时 数组,然后输出该数组中的最小值。其 。如原小数点后第三位为4及以下则加5后还是不中确定最小值的下标的操作在fun函数中实现,请能进一位(即四舍),如是5及以上则加 给出该函数的定义。 5后该位就要向前进一位数(即五入)。进行加5试题程序。 运算后除10再赋给一个整型变量此时就 #include 只有原小数点第二位及以前各位保留在整型变量 #include 中,最后再对整型变量除100,这样又出 #define VSIZE 20 现了两位小数。该题中,进行四舍五入后一定要赋 int vector[VSIZE]; 给一个整型变量才能将不用部分彻底 /*注:该题的算法是用一个变量(j)来存储最小值变成0 。*/ 元素的下标,在循环过程中让每个元 float fun(float h) 素都与原最小值元素进行大小比较{ long t; (if(list[i] #include 6、 编写函数fun,函数的功能是:从字符串中删/* 注:由于unsigned型整数在0-65535这间,只除指定的字符。同一字母的大、小写按 要它大于10000则对10000求余即得出后 不同字符处理。 面4位,否则如果大于1000则对1000求余得出后若程序执行时,输入字符串为:turbo c and Borland 3位数,这样一层一层往小的判断。由于 c++ return的作用除了返回值以外,还有当执行到 从键盘上输入字符:n,则输出后变为:turbo c ad return时就跳出该程序,所以可以连续的 borlad c++ 用if()语句。 */ 如果输入的字符串不存在,则字符串照原样输出。 unsigned fun( unsigned w ) 试题程序。 { if(w>=10000) return w%10000; #include if(w>=1000) return w%1000; #include if(w>=100) return w%100; /*注:该题的算法是让i控制一个一个字符往后走,return w%10; 在移动过程中如果s[i]不是要删的字 } 符,则将其按顺序放到新串中(新串亦是用s来做, 只是用k来控制新串的下标,由于要 main() 删除一些元素,因此新串的下标总是比原下标i要{ unsigned x; 慢。因而可用此法即同一字符串变量的 printf( "enter a unsigned integer number :" ); 方法。*/ scanf( "%u",&x); int fun(char s[],int c) if(x<10) printf("data error!"); {int i,k=0; else printf ("the result :%u\n", fun(x)); for(i=0;s[i];i++) } if(s[i]!=c) s[k++]=s[i]; 8、 编写函数int fun(int lim,int aa[MAX]),该s[k]='\0'; 函数的功能是求出小于lim的所有素数 } 并放在aa数组中,该函数返回所求出素数的个数。 main() 试题程序。 { static char str[]="turbo c and borland c++"; #include char ch; #include clrscr(); #define MAX 100 printf(" :%s\n",str); /*注:循环for(i=2;i=k)用于判断在 printf("str[]=%s\n",str); 上一个for()循环中i能否走到k,如果能则表示} 在2到k-1的数都不能整除k,即k为素数。 7、 请编写一个unsigned fun(unsigned w),w是*/ 一个大于10的无符号整数,若w是n(n int fun( int lim, int aa[MAX]) >=2)位的整数,函数求出w的后n-1位的数作为{ int i,j=0,k; 函数值返回。 for( k=2; k=k) aa[j++]=k; {2,9,9,9,4}, } {6,9,9,9,8}, return j; {1,3,5,7,0}}; } int i,j,y; clrscr(); main() printf("The original data is :\n"); { int limit,i,sum; for(i=0;i 例如:二维数组中的值为 #include #include 则函数值为61。 /*该题采用的排序法是选择法进行降序排序,算法 试题程序。 是用外for()循环从字符串的前端往后 #include 端走动,每走动一个字符都用内嵌的for()循环在#include 该字符后找出最小的字符与该字符进 #define M 4 行换位。直到外for()循环走到最后一个字符。此#define N 5 外,此题还要注意把首尾字符除开,即 /*注:该题的第一个for()循环是计算矩阵的最上在最外层for()循环中从1开始,只到num-2即可。一行和最下一行的总和,第二个for() */ 是计算除两头元素以外的最左一列和最右一列的int fun(char *s,int num) 元素的和,最后sun就是周边元素的和。 { int i,j,t; */ for(i=1;istrlen(p)) { int i, j; p=a[i]; for(i=0;i 相同(即出现一次)。因而只要让长串 #include 当前位置逐一向后移即可(用for()循环来完成)。#define M 20 */ /*注:该题的算法是,用for()循环控制元素逐一int fun(char *str,char *substr) 判断数组元素是否等于y,若不等则赋 { int i,n=0,s=strlen(str); 给新数bb,由于删除的关系j总是小于或等于i,for(i=0;i100){printf("data eror!\n");exit(0);} #define N 81 y=fun(x); /* 注:该题要先将字符串的头元素存到某一变量if(y) printf("%d yes\n",x); (用c=*s)中,然后后面的字符依向前 else printf ("%d no!\n",x); 移(用for()循环),要记得在串的未尾加一个结} 束符。*/ fun(char *s) 16、 请编写函数fun,函数的功能是:在字符串中{ char c=*s; 所有数字字符前加一个$字符。 for(;*(s+1);s++) 例如,输入:A1B23CD45,则输出为:*s=*(s+1); A$1B$2$3CD$4$5。 *s=c; 注意:部分源程序给出如下。 *(s+1)='\0'; #include } /*注:该题用while()循环来控制原字符串从头走 到尾,在走动过程中判断是当前字符是 main() 否是数字,若是则在新串中先连一个'$'然后再连{ char a[N]; 原字符,否则直接连原字符。一定要 clrscr(); 注意指针和下标的变化。最后要把新串拷贝到s所printf("enter a string:"); 指的地址中,注意不能用s=a;若用了 gets(a); ,则实参数组还是原字符串。*/ printf("the original string is:"); void fun( char *s) puts(a); {char a[100]; fun(a); int i=0; printf("the string after modified:"); while(*s) puts(a); if(*s>='0'&&*s<='9') } {a[i++]='$';a[i++]=*s++;} 18、 请编写函数fun,函数的功能是:将所有大于else a[i++]=*s++; 1小于整数m的非素数存入xx所指数组 a='\0'; 中,非素数的个数通过k传回。 strcpy(s,a); 例如,若输入:17,则应输出:9和4 6 8 9 10 12 } 14 15 16。 /* 该题的思路较为明显,用for()循环一个字符一 试题程序。 个字符地走动,移动过程中判断是否 #include 在a到y之间,若是则加1(即下移一个字母), #include 若是z则换成对应的a */ /* 注:内嵌的for()循环用于判断是否是素数,在fun(char *s) j='A'&&s[i]<'Z')//(s[i]>='a'&&s[i亦可。*/ ]& void fun( int m, int *k, int xx[] ) lt;'z')) { int i,j; s[i]=s[i]+1; *k=0; else if(s[i]=='z') s[i]='a'; for( i=2; i='A'&&s[i]<'Z') #include "stdio.h" s[i]+=32+1; #include "ctype.h" else if(s[i]=='Z') s[i]+=32; #define N 81 } main() #include { #include char s[N]; #define M 81 printf("\nenter a string:");scanf("%s",s); /* 注:本题用while()循环来控制字符的移动,每fun(s); 移动一个字符都要进行判断(if(*ss printf("\nthe result:%s\n",s); ==c))是否为指定的字母,若是则个数加1。这里} 要注意如何让ss指针向下走动(ss++) 。*/ 21、 程序定义了N*N的二维数组,并在主函数中int fun(char *ss,char c) 赋值。请编写函数fun,函数的功能是: {int num=0; 给数组周边元素置0值。 while(*ss!='\0') 例如:a数组中的值为 {if(*ss==c) num++; ss++; 则返回主程序后a数组中的值应为 } 注意:部分源程序给出如下。 return(num); 请勿改动主函数main和其它函数中的任何去何内} 容,仅在函数fun的花括号中填入你编写 main() 的若干语句。 {char a[M],ch; 试题程序。 clrscr(); #include printf("\nPlease enter a strint:");gets(a); #include printf("\nPlease enter a char:");ch=getchar(); #include printf("\nThe number of the char #define N 5 is:%d\n",fun(a,ch)); /* 由于是赋值0,因而只要能表示出周边元素即好} 办,它与求和不同在于求和不能重复 对某个元素进行运算,而赋值则可重复赋值。所以23、 程序定义了N*N的二维数组,并在主函数中这里只用了一个for()循环来找出所有 赋值。请编写函数fun,函数的功能是: 的周边元素。*/ 求出数组周边元素的平均值并作为函数值返回给 fun(int w[][N]) 主函数中的s。 { int i ; 例如:a数组中的值为 for(i=0;i w[N-1][i]=0; #include } #include #define N 5 } /* 注意不能重复计算,它与题21不同,第一个for() 循环求出第一列与最后一列的和, 22、 请编写函数fun,它的功能是:求出ss所指第二个for()循环求出第一行与最后一行(已除去字符串中、指定字符的个数,并返回此 两头元素),要注意第二个for()中起 值。 始为1,最后为N-2。*/ 例如:若输入字符串:123412132,输入字符为:1,double fun (int w[][N]) 则输出:3。 { int i,t=0; 试题程序。 double s=0; for(i=0;i 试题程序。 #include #include #include #include #define N 5 /* 注:第一个for()循环用于让i成为第一个字符 /* 本题的第一个for()循环用于控制行,而内嵌的串的结束符的下标,要注意在这个for for()用于在同一行中将列与列对调, ()后要有一个分号否则出错。第二个for()的作用 当i为0时a[m][i]为第m行的第一列元素,是将第二个字符串一个一个字符依次放 a[m][N-1-i]为第m行的最后一列的元素,正好 符合调换的要求。依次类推。*/ 第一列,第二行作为转置后的第二列,的行列互换 int fun(int a[][N]) 的性质)。而且最后要求出两矩阵的 { int i ,m,t; 相加后得出的新矩阵,由转置性质可知原a[j][i]for(m=0;m #include #include #include #include /* 26题:本题没有先求出A的转置,而是直接利#define N 5 用转置的性质(即第一行作为转置后的 /* 27题:该题与25题相似,外层for()循环用于 控制一列一列地移动,内嵌的forr()循 #include 环用于控制在同一列内对应行元素的对调。a[i][m]/* 28题:第一个for()循环用来计算score数组中分为第m列第i行元素,而a[N-1-i][m] 数的总和,然后用aver/=m求出平均 为第m列倒数第i行的元素,正好需要对调。*/ 值,第二个循环用来找出小于平均分的元素,并放 fun(int a[][N]) 到数组below中,这里要注意j的递增 { int i,m,t; 方式。*/ for(m=0;m 回的人数应该是4,below中的数据应为:10、20、#include 30、40。 #include 注意:部分源程序给出如下。 #define N 5 请勿改动主函数main和其它函数中的任何去何内/* 29题:该题的关键是如何表示出左下半角的元 容,仅在函数fun的花括号中填入你编写 素,当从上往下到第i行时只有左边的 的若干语句。 i个元素要置为0(每行总是如此)。用外层for()来试题程序。 控制行而内嵌的for()来控制每行的 #include 左边元素,故而在内嵌for()中j最大只能循环到i#include (即表示出第i行左边的i个元素)。* if(((i%7==0)//(i%11==0))&&!((i%7==0)&&(i%11== / 0))) int fun(int a[][N]) {a[m]=i;m+=1;} {int i,j; *n=m; for(i=0;i 之内能被7或11整除、但不能同时补7和 #include 11整除的所有整数并将它们放在a所指的数组中, #include 通过n返回这些数的个数。 #define N 5 注意:部分源程序给出如下。 /* 31题:该题的关键亦是在如何表示右上半角,当请勿改动主函数main和其它函数中的任何去何内 从上往下到第i行时要从第i列(所 容,仅在函数fun的花括号中填入你编写 以内嵌for()的j从i开始循环)开始替换直到最后的若干语句。 一列,本题用外层for()来控制行,而 试题程序。 用内嵌的for()来控制在每一行内右边元素置0。 #include int fun(int a[][N]) #include { int i,j; /* 30题:该题关键就是如何表示能被7或11整除, for(i=0;i 数的各整数,并放在pp所指的数组中,这些除数#include 的个数通过形参n返回。 #include 例如,若x 中的值为:30,则有4个数符合要求,#define N 5 它们是 /* 33题:该题的关键也是在如何表示右上半角(可 1,3,5,15。 以与31题相同),本题采用的是在一 注意:部分源程序给出如下。 行内从最后一列的元素开始往前乘,只有j>=i时才 请勿改动主函数main和其它函数中的任何去何内改变(原理与31题相同)。*/ 容,仅在函数fun的花括号中填入你编写 int fun( int a[][N], int m) 的若干语句。 { int i,j; 试题程序。 for(i=0; i for(j=N-1; j>=i; j--) #include a[i][j]*=m; /* 32题:由于要求的数不能是偶数故编程时从1} 开始循环而步长为2这样正好保正i永远 main() 的奇数。这里也要注意存放结果的数组pp的下标{ int a[N][N],m,i,j; 变化方式。*/ printf("**** the array ****\n"); void fun(int x, int pp[], int *n) for( i=0; i=3); } printf("m=%4d\n", m); main() fun( a,m); { int x, aa[1000], n, i; printf(" the result \n"); printf("\n please enter an integer number:\n"); for(i=0; i 容,仅在函数fun的花括号中填入你编写 #include 的若干语句。 #include 试题程序。 #define N 5 #include /* 35题:本题与29题相似,只要能表示出左下半#include 角的元素即可。*/ /* 34题:本题采用的是字母的ASCII码值与数组int fun( int a[][N], int n) pp下标的对应转换关系分别求出对应字 { int i,j; 母的个数。第一个for()是给pp赋初值0,第二个for(i=0; i='a') printf("\n"); pp[*tt-97]++; } } do n=rand()%10 ; while(n>=3); printf("n=%4d \n", n); main() fun( a,n); { char aa[1000]; printf( "**** the result ****\n"); int bb[26],k; for(i=0;i=p) xx[j++]=p; 注意:部分源程序给出如下。 p++; 请勿改动主函数main和其它函数中的任何去何内} while(j printf("\n please enter two integers: "); #include scanf("%d%d",&m,&n); /* 36题:本题的关键在于如何表示出个、十、百、 fun( m,n,zz); 千位数。对于一个两位的整数,用1 for(m=0; m m且紧靠m的k个素数存入xx所指的数组中。 #include 例如,若输入17,5,则应输出:19,23,29,31, #include 37。 #define N 10 注意:部分源程序给出如下。 typedef struct ss 请勿改动主函数main和其它函数中的任何去何内 { char num[10]; int s;} STU; 容,仅在函数fun的花括号中填入你编写 /* 38题:这个题目中有一结构组数,要找的是数的若干语句。 组元素中整型成员的值最小的元素。要 试题程序。 注意本题中的赋值方式(分两部分,对于字符型成#include 员只能用strcpy()函数,而不能用等 #include 号“=”进行赋(即不能用(*s).num=a[k].num),/* 37题:本题中的for()循环用来判断一个数是否为 这与字符串的赋值相同(切记)。*/ 素数,由于个数只能是k个所以用d fun( STU a[], STU *s) o-while循环来控制。*/ { int k,i; void fun(int m, int k, int xx[]) (*s).s=a[0].s; { int i,j=0,p=m+1; for( i=0;i 5,n中的值为:3,则调用该函数的 #include 结果为:Hello World!。 #include 注意:部分源程序给出如下。 #define N 10 请勿改动主函数main和其它函数中的任何去何内typedef struct ss 容,仅在函数fun的花括号中填入你编写 { char num[10]; int s;} STU; 的若干语句。 /* 40题:本题与38题相似,只是采用的赋值方式试题程序。 不同。采用的是结构体元素对结构体元 #include 素赋值。*/ #define N 80 fun( STU a[], STU *s) /* 39题:本题要删除从下标k开始的后n个字符。{ int i; 所以所用的算法是将下标为k+n及以后 *s=a[0]; 的所有字符依次往前移n个字符,这样就把要删除for( i=1;i(*s).s) 要在新串尾加一个结束符'\0'。*/ *s=a[i]; void fun( char *a, int k, int n) } { int m=strlen(a),i; main() for(i=k+n; ip ) { p=s[i]; *k=i;} t[j]='\0'; s[*t]=p; (*t)++; }45题:由算式可看出n要从0开始,所以循环中} i从0开始,在循环中用k来表示每项的 42题:本题要求删除下标为奇数、同时ASCII值也符号,所以每次循环k都要转换正负号。*/ 为奇数的字符反过来想就是要将不 void fun(float *sn,int n) 标为偶数或ASCII值为偶数的字符留下并放到t数{ int i; 组中。在看类似题型时要注意题中是否 float k=-1.; 用了“同时”两个字。本题采用的就是后一种思编*sn=0; 程方式。*/ for(i=0;i<=n;i++) void fun( char *s, char t[]) {k=-k; { int i,j=0,n=strlen(s); *sn=*sn+k/(2*i+1); for(i=0;i1e-006不用fabs(x0-x1 } )==0.0,若是用后面的表达式将会出现永无成立的 53题:Fibonacci数列是这么一个数列0,1,1,2,时候。*/ 3,5,8,13„„从它的第三项 float fun() 开始每一项的值都是其紧接着的前两项的和。本也{ float x0,x1=0; 是采用函数的嵌套调用来完成,但若 do { x0=x1; 用嵌套调用方式会较难理解。它要求求出比t大的x1=cos(x0); 最小一个数。在本题的编程中采用的是 }while( fabs(x0-x1)>1e-006); while(f2<=t)当它的条件这假时,即得到了第一个return x1; 比t大的数。*/ } int fun (int t) 50题:本题要删除的是ASCII值为偶数的字符即要{int f1=0,f2=1,temp; 将ASCII值为奇数的留下。注意if( while(f2<=t) )中表示奇数的方式:采用的是s[i]%2而不是{temp=f2; s[i]%2==1由于在C语言中当s[i]为奇数时s f2=f1+f2; [i]%2的值为1(即为逻辑真,它与s[i]%2==1的f1=temp; 效果是一样的。在一点要注意,它在笔试 } 考中也常出现。*/ return f2; void fun( char *s, char t[]) } { int i,j=0,n=strlen(s); 54题:本题采用while()循环来控制。要注意不管58题:本题要求除了下标为奇数、同时ASCII值也下标是否符合条件,都要让下标增 为奇数的字符之外,其余的所有字 加1(即后移一个字符)用i++完成。*/ 符都删除,即留下下标为奇数同时ASCII值为奇数void fun(char *s,char t[]) 的字符。本题在用for()循环时初值从 {int i=0,j=0; 1开始且每次都加2故而得到的i(即下标)都是while(*(s+i)!='\0') 奇数,进而只要对字符本身进行判断。* if(i%2==0) i++; / else t[j++]=s[i++]; void fun(char *s,char t[]) t[j]='\0'; {int i,n,k=0;n=strlen(s); } for(i=1;imax) 一分号,由于在while()循环结束时b已指向第二max=a[i][j]; 个不是*号的字符,因此在下一个循环之 return max; 前要让b后退一个字符(b--;),第二个循环是让} 后面的字符往前移,这种移动方法不用 在最后赋'\0',这是因为在while()循环中先移动67题:本题采用的算法是:先让*p(包括*p)前面后判断,即当它循环到串尾时先将串 不是*号的字符按顺序留在新串中( 结束符'\0'前移后才停止循环。*/ 新串与原串共用一个数组变量)用for()循环来完void fun( char *a) 成,最后用while()循环再把*p(不含 { char *b=a; *p)以后的所有字符也按顺序留下。在注意下标的 while(*b++=='*');b--; 变化方式。*/ while((*a++=*b++)!='\0'); void fun( char *a, char *p) } {int i,j=0; for(i=0;a+i<=p;i++) 64题:本题采用的是判断当前字符是否为数字,若if(*(a+i)!='*') 不是则留下到新(与原串共用一个 a[j++]=*(a+i); 数组)的字符串中,下标的改变方法要注意。记得while((a[j++]=*p++)!='\0'); 最后要加上串结束符'\0'。*/ } void fun( char *s) {int i=0,j=0; 69题答案 while(*(s+i)!='\0') 第一个for使字符串移到前面连续*的末尾,第二if(*(s+i)>='0'&&*(s+i)<='9') i++; 个for删除其他的* else *(s+j++)=*(s+i++); int i,j=0; *(s+j)='\0'; for(i=0;a ='*';i++); } j=i; for(;a ;i++) 65题:本题中的第一个for()循环用来使指指变量if(a!='*') 指向串尾,注意在for()的后面直接 a[j++]=a[i]; b=a; a[j]='\0'; for(;*b;b++);b--; while(*b=='*') 71题答案 b--; 第一个for将字符串移动到前面联系的*后面,第for(i=0;i if(*h!='*') float fun(float *a, int n) a[i++]=*h; { float ave=0; for(;*p;p++) int i; a[i++]=*p; for(i=0;i double t=1,s=1,pi; #include while(fab(t)>=eps) void fun(char *a) {t*=i/(2*i+1.0); { int i,j,k,l=0; i=i+1; char *p,*t; s=s+t;} for(i=0;*(a+i)=='*';i++) pi=2*s; p[i]=*(a+i); return pi; for(j=0;jn) { if(*t=='*'&&*(t+1)=='*') j=i-n; { for(j=0;*(t+j)=='*';j++) i=0; { p[i++]=*(t+j); while(a[i++]=a[j++]; l++; a[i]='\0'; } for(;l;l--) 79题答案 for(k=0;t[k];k++) int i; t[k]=t[k+1]; char *b; } t++; }STREC; } void fun(STREC *s) p[i]='\0'; { int i; printf("%s",p); double sum=0; t--; for(i=0;is[i]; for(j=0;p[j];j++) s->ave=sum/N; t[j]=p[j]; } } main() main() { STREC { char s[81],*p; s={"GA005",85.5,76,69.5,85,91,72,64.5,87.5}; int n=0; int i; printf("Enter a sring :\n"); gets(s); fun(&s); fun(s); printf("The %s's strdent data:\n",s.num); printf("The string after moneing :\n"); for(i=0;i 84 #include #include void fun(int a,int b , long *c) #include { int ag,as,bg,bs; void fun (int a, int b ,long *c) ag=a%10; as=a/10%10; { int d,e,f,g; bg=b%10; bs=b/10%10; d=a/10;e=a%10;f=b/10;g=b%10; *c=as+ag*10+bs*100+bg*1000; *c=1000*e+100*d+10*g+f; } main() } { int a,b; main () long c; { int a,b; long c; clrscr(); clrscr (); printf("Input a,b:"); printf ("Input a, b:"); scanf("%d%d",&a,&b); scanf ("%d%d", &a, &b); fun(a,b,&c); fun (a, b, &c); printf("The result is :%ld\n",c); printf ("The result is: %ld\n", c); } } 83 85 #include #include #define N 8 #define N 12 typedef struct typedef struct { char num[10]; { char num [10]; double s[N]; double s; double ave; }STREC; double fun ( STREC *a, STREC *b, int *n ) } { int i,j;double sum=0,t; main () for(i=0;it) fun (a, b, &c); b[j++]=a[i]; printf ("The result is : %ld\n", c); *n=j; } return t; 87 } #include main () #define N 8 { STREC s[N]={{"GA05",85}, {"GA03",76}, typedef struct {"GA02&qu { char num[10]; ot;,69}, {"GA04",85}, double s; {"GA01",91}, {"GA07",72}, {"GA08",64} } STREC; , {"GA06",87}, double fun (STREC *a, STREC *b, int *n) {"GA09",60}, {"GA11",79}, {"GA12",73} {int i,j;double s=0,t; , {"GA10",90}}; for(i=0;i for (i=0; i printf ("%s %4.1f\n", h[i]. num, h[i]. s); void fun (int a, int b, long *c ) printf ("\n"); { int d,e,f,g; out=fopen ("out13.dat","w"); d=a/10;e=a%10;f=b/10;g=b%10; fprintf (out, "%d\n%7.3f\n", n, ave); *c=e*1000+g*100+d*10+f; for (i=0; i 64}, {"GA014",91}, #include {"GA011",91}, {"GA017",64}, {"GA018", void fun (int a, int b, long *c) 64}, {"GA016",72}}; {int d,e,f,g; STREC h[N]; d=a/10;e=a%10; int i, n; FILE *out; f=b/10; n=fun ( s, h ); g=b%10; printf ("The %d lowest score :\n", n); *c=e*1000+f*100+d*10+g; for (i=0; i #include #define N 16 #define N 16 typedef struct typedef struct { char num[10]; { char num[10]; int s; int s; } STREC; } STREC; int fun ( STREC *a, STREC *b ) int fun ( STREC *a, STREC *b ) {int i,j,p=a[0].s; { int i,j,p; for(i=0;ip) for(i=0;ip) {p=a[j].s;t=j;} int i, n; FILE *out; k=a[i];a[i]=a[t]; a[t]=k; n=fun ( s, h ); } printf ("The %d highest score :\n", n); for (i=0; i quot;GA016",72}}; #include int i; FILE *out; void fun (int a, int b, long *c) fun ( s ); { int d,e,f,g; printf ("The data after sorted :\n"); d=a/10;e=a%10;f=b/10;g=b%10; for (i=0; i #include #define N 16 #include typedef struct void fun (int a, int b, long *c) { char num[10]; { int d,e, f,g; int s; d=a/10;e=a%10;f=b/10;g=b%10; { if ( i%4==0 ) printf ("\n"); *c=1000*g+100*d+10*f+e; printf ("%s %3d", s[i]. num, s[i]. s); } } printf ("\n\nEnter the number : "); gets ( m ); main () h=fun ( s, m ); { int a, b; long c; printf ( " The data : " ); clrscr (); printf ( "\n%s %4d\n", h . num, h . s ); printf ("Input a, b:"); printf ( "\n" ); scanf ("%d%d", &a, &b); out=fopen ("out17.dat", "w"); fun ( a, b, &c ); h=fun ( s, "GA013" ); printf ("The result is: %ld\n", c); fprintf (out, "%s %4d\n", h . num, h . s); } fclose (out ); } 94 #include 95 #include #include #define N 16 #include typedef struct void fun (int a, int b, long *c) { char num[10]; {int d,e,f,g; int s; d=a/10;e=a%10; } STREC; f=b/10;g=b%10; STREC fun ( STREC *a, char *b ) *c=1000*f+100*e+g*10+d; {int i,j; for(i=0;i {"GA015",85}, {"GA013",91}, {"GA012", #define N 16 64}, {"GA014",91}, typedef struct {"GA011",77}, {"GA017",64}, {"GA018", { char num[10]; 64}, {"GA016",72}}; int s; STREC h; } STREC; char m[10]; int fun ( STREC *a, STREC *b, int l, int h ) int i, n; FILE *out; {int i,j; printf ( "The original data :\n" ); for(i=0,j=0;i=l&&a[i].s<=h) b[j++]=a[i]; return j; } main () /*主函数*/ } { int a, b; long c; main () clrscr (); { STREC s[N]= {{"GA005",85}, {"GA003",76}, printf ("Input a, b:"); {"GA00 scanf ("%d%d", &a, &b); 2",69}, {"GA004",85}, fun ( a, b, &c ); {"GA001",96}, {"GA007",72}, {"GA008", printf ("The result is: %ld\n", c); 64}, {"GA006", 87}, } {"GA015",85}, {"GA013",94}, {"GA012", 64}, {"GA014",91}, 98 {"GA011",90}, {"GA017",64}, {"GA018", #include 64}, {"GA016",72}}; #include STREC h[N]; FILE *out; #define N 8 int i, n, low, heigh, t; struct slist printf ( "Enter 2 integer number low & heigh : { double s; " ); struct slist *next; scanf ("%d%d", &low, &heigh ); }; if ( heigh < low ) { t=heigh; heigh=low; low=t; } typedef struct slist STREC; n=fun (s, h, low , heigh ); double fun ( STREC *h ) printf ( "The student 's data between %d----%d : {double sum,ave;STREC *q; \n", low, sum=(*h).s;q=h->next; heigh ); while(q) for (i=0; inext;} printf ( "\n" ); ave=sum/N; out=fopen ("out18.dat", "w"); return ave; fprintf ( out, "%d\n", n ); n=fun ( s, h, 80, 98 ); } for (i=0; is=0; } while ( i q->s=s[i]; i++; p->next=q; p=q; #include } void fun (int a, int b, long *c) p->next=0; {int d,e,f,g; return h; d=a/10;e=a%10;f=b/10;g=b%10; } *c=1000*f+100*d+10*g+e; outlist ( STREC *h ) { STREC *p; p=h->next; printf ( " head " ); do strcpy(s2,b); { printf ( "->%4.1f", p->s ); p=p->next; } Myswap(s1);Myswap(s2); while ( p!=0 ); sa=s1; sb=s2; printf ( "\n\n" ); while(*sa//*sb) } {if (*sa){*c=*sa;c++;sa++;} main () if (*sb){*c=*sb;c++;sb++;} { double s[N]={85, 76, 69, 85, 91, 72, 64, 87}, }*c=0; ave; } STREC *h; main() h=creat ( s ); outlist (h); {char s1[100],s2[100],t[200]; ave=fun ( h ); clrscr(); printf ( "ave= %6.3f\n", ave ); printf("\nEnter s1 string:");scanf("%s",s1); } printf("\nEnter s2 string:");scanf("%s",s2); fun(s1,s2,t); 99 printf("\nThe result is :%s\n",t); #include } #include void fun (int a, int b, long *c) {int d,e,f,g; d=a/10;e=a%10;f=b/10;g=b%10; *c=1000*d+100*f+10*e+g; } main () { int a, b; long c; clrscr (); printf ("Input a, b:"); scanf ("%d%d", &a, &b); fun ( a, b, &c ); printf ("The result is: %ld\n", c); } 100、#include #include #include void Myswap(char *s) {char *sp,*st,ch; sp=s; st=s+strlen(s)-1; while (sp<=st) {ch=*sp;*sp=*st;*st=ch;sp++;st--;} } void fun (char *a,char *b,char *c) { char s1[100],s2[100],*sa,*sb; strcpy(s1,a);
/
本文档为【编一个函数fun(char】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索