1.将无符号八进制数字构成的字符串转换为十进制整数。
#include <stdio.h>
main()
/***************found***************/
{ char ___1___,s[6];
int n;
p=s;
gets(p);
/***************found***************/
n=___2___;
/***************found***************/
while(___3__!='\0')
n=n*8+*p-'0';
printf("%d \n",n);
}
2.给定程序中函数fun的功能是: 计算n的5次方的值(规定n的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。 例如,7的5次方是16807, 其低3位数的和值是15
#include <stdio.h>
#include <math.h>
int fun( int n ,int *value )
{ int d,s,i;
/**************found**************/
d=0; s=0;
for(i=1; i<=5; i++) d=d*n;
*value=d;
for(i=1; i<=3; i++)
{ s=s+d%10;
/**************found**************/
d=d\10;
}
return s;
}
main()
{ int n, sum, v;
do
{ printf("\nEnter n( 2<n<8): ");scanf("%d",&n); }
while(n<=2||n>=8);
sum=fun( n,&v );
printf("\n\nThe result:\n value=%d sum=%d\n\n",v,sum);
}
3.逆序输出字符串,但是不改变内容。
#include <stdio.h>
/************FOUND************/
fun (char a)
{ if ( *a )
{ fun(a+1) ;
/************FOUND************/
printf("%c" *a) ;
}
}
main( )
{ char s[10]="abcd";
printf("处理前字符串=%s\n处理后字符串=", s);
fun(s); printf("\n") ;
}
4.下列给定程序中,函数fun的功能是:把主函数中输入的3个数,最大的放在 a中,最小的放在 c中。
#include <stdio.h>
void fun(float *a,float *b,float *c)
{
/**********found**********/
float *k;
if( *a<*b )
{ k=*a; *a=*b; *b=k; }
/**********found**********/
if( *a>*c )
{ k=*c; *c=*a; *a=k; }
if( *b<*c )
{ k=*b; *b=*c; *c=k; }
}
main()
{ float a,b,c;
printf("Input a b c: "); scanf("%f%f%f",&a,&b,&c);
printf("a = %4.1f, b = %4.1f, c = %4.1f\n\n",a,b,c);
fun(&a,&b,&c);
printf("a = %4.1f, b = %4.1f, c = %4.1f\n\n",a,b,c);
}
5。编写程序,输入四个变量A,B,C,D,交换变量A和D,交换变量B和C,并输出交换前后的值
#include <stdio.h>
void fun(int *a,int *b,int *c,int *d)/* 交换a,d;交换b,c */
{
}
//声明函数
void NONO ();
int main()
{
int a,b,c,d;
printf("输入四个整数:\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
fun(&a,&b,&c,&d);
printf("输出:%4d %4d %4d %4d\n",a,b,c,d);
NONO ();
return 0;
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
int s[4],i,j ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
for(j = 0 ; j < 4 ; j++)
{
fscanf(rf, "%d", &s[j]) ;
}
fun(&s[0],&s[1],&s[2],&s[3]) ;
fprintf(wf, "%d,%d,%d,%d\n", s[0],s[1],s[2],s[3]) ;
}
fclose(rf) ;
fclose(wf) ;
}