详细代码如下:
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *fun(char (*a)[81], int num, char *max)
{
/*
analyse:
遍历二维数组;
令最长数组为a[0][j];
比较大小;
返回该串地址;
*/
int i = 0;
max = a[0]; //把它当一维数组看
for(i = 0; i<num; i++)
{
if(strlen(max) < strlen(a[i]))
max = a[i];
}
return max;
/* ERROR:
int i , j;
int max;
for(i = 0; i < num; i++)
{
for(j = 0; j<81; j++)
{
max = strlen(a[0][j]);
if(a[i][j] > max)
max = a[i][j]
}
}
*/
}
void main()
{
FILE *wf;
char ss[10][81],*ps=NULL;
char s[3][81]={"abcd","deg","diegns"},*p=NULL;
int i=0,n;
system("CLS");
printf("输入若干个字符串:");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i], "****")==0) /*用4个星号作为结束输入的标志*/
{
i++;
gets(ss[i]);
puts(ss[i]);
}
n=i;
ps=fun(ss,n,ps);
printf("\nmax=%s\n",ps);
/******************************/
wf=fopen("out.dat","w");
p=fun(s,3,p);
fprintf(wf,"%s",p);
fclose(wf);
/*****************************/
}
要点:
详细代码如下:
#include <stdio.h>
#include <conio.h>
/*************found**************/
void fun(int m,int k)
{ int aa[20], i;
for(i=0;m;i++)
{
/*************found**************/
aa[i]=m%k;
m/=k;
}
for(;i;i--)
/*************found**************/
printf("%d",aa[i-1]); // 在第一个for循环结束时,i已经多了一个1,所以要减去1
}
void main()
{
int b,n;
printf("\nPlease enter a number and a base:\n");
scanf("%d%d",&n,&b);
fun(n,b);
printf("\n ");
}
要点:
详细代码如下:
#include <stdio.h>
#define N 7
/**********found**********/
void fun(int (*a)[N])
{ int i,j,k,m;
if(N%2==0) m=N/2 ;
else m=N/2+1;
for(i=0; i<m; i++) {
/**********found**********/
for(j=i; j<N-i; j++) // j = i;
a[i][j]=a[N-i-1][j]=i+1;
for(k=i+1; k<N-i; k++)
/**********found**********/
a[k][i]=a[k][N-i-1]=i+1; //i + 1
}
}
void main()
{ int x[N][N]={0},i,j;
fun(x);
printf("\nThe result is:\n");
for(i=0; i<N; i++)
{ for(j=0; j<N; j++) printf("%3d",x[i][j]);
printf("\n");
}
}