unsigned fun ( unsigned w ) { } main( )
{ unsigned x;
printf ( \ printf ( \ if ( x < 10 ) printf (\
else printf ( \ NONO( ); } NONO( )
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。 */ unsigned x ; int i ; FILE *rf, *wf ;
rf = fopen(\ wf = fopen(\ for(i = 0 ; i < 20 ; i++) { fscanf(rf, \ fprintf(wf, \ }
fclose(rf) ; fclose(wf) ; }
6: 请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
例如,输入beijing
函数将返回shanghai。
注意: 部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
char *fun ( char *s, char *t) { } main( )
{ char a[20],b[20];
printf(\ gets( a);
printf(\ gets( b);
printf(\ NONO (); } NONO ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 FILE *fp, *wf ; int i ;
char a[20], b[20] ;
fp = fopen(\ wf = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(fp, \ fprintf(wf, \ }
fclose(fp) ; fclose(wf) ; }
*/
7: 请编写函数fun, 函数的功能是:实现B=A+A', 即把矩阵A加上A的转置, 存放在矩阵B中。计算结果在 main 函数中输出。例如,输入下面的矩阵: 其转置矩阵为: 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 程序输出:
2 6 10 6 10 14 10 14 18 注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun ( int a[3][3], int b[3][3]) { }
main( ) /* 主程序 */
{ int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, t[3][3] ; int i, j ;
fun(a, t) ;
for (i = 0 ; i < 3 ; i++) { for (j = 0 ; j < 3 ; j++) printf(\ printf(\ } NONO () ; }
NONO ( )
{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ int i, j, k, a[3][3], t[3][3] ; FILE *rf, *wf ;
rf = fopen(\ wf = fopen(\ for(k = 0 ; k < 5 ; k++) { for(i = 0 ; i < 3 ; i++)
fscanf(rf, \ fun(a, t) ;
for(i = 0 ; i < 3 ; i++) {
for(j = 0 ; j < 3 ; j++) fprintf(wf, \ fprintf(wf, \ } }
fclose(rf) ; fclose(wf) ; }
8: 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是: ABCDEFG*******。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun( char *a, char *p ) { } main()
{ char s[81],*t;
printf(\ t=s;
while(*t)t++; t--;
while(*t=='*')t--; fun( s , t );
printf(\ NONO(); } NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in, *out ; int i ; char s[81],*t ;
in = fopen(\ out = fopen(\ for(i = 0 ; i < 10 ; i++) { fscanf(in, \ t=s;
while(*t)t++; t--;
while(*t=='*')t--; fun(s,t) ;
fprintf(out, \ }
fclose(in) ; fclose(out) ; }
9: 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做, 字符串中间和前面的*号不删除。
例如,字符串中的内容为:****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。