C语言-对字符串二维数组各个元素进行比较-十进制数转化为其他进制数-进行规则矩阵的输出-190225

//编写一个函数:从传入的num个字符中找到最长的一个字符,并通过max传回该串地址。

//重点:切记这里a[0]就是一个地址。

 #include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h> char *fun(char (*a)[], int num, char *max)
{
max = a[];//切记这里a[0]就是一个地址。
for (int i = ; i < num; i++)
{
if (strlen(a[i]) > strlen(max))
{
max = a[i];
}
}
return max;
}
void main()
{
FILE *wf;
char ss[][],*ps=NULL;
char s[][]={"abcd","deg","diegns"},*p=NULL;
int i=,n;
system("CLS");
printf("输入若干个字符串:");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i], "****")==) /*用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,,p);
fprintf(wf,"%s",p);
fclose(wf);
/*****************************/
}

//函数fun的功能:将十进制正整数转化为k进制数,并按位输出。

 #include <stdio.h>
#include <conio.h>
/*************found**************/
void fun(int m,int k)
{ int aa[], i;
for(i=;m;i++)
{
/*************found**************/
aa[i]=m%k;
m/=k;
}
for(;i;i--)
/*************found**************/
printf("%d",aa[i-]);
}
void main()
{
int b,n;
printf("\nPlease enter a number and a base:\n");
scanf("%d%d",&n,&b);
fun(n,b);
printf("\n ");
}

//函数fun功能是:建立一个N*N的矩阵,矩阵元素的构成规律是:最外层全是1,从外向内第二层全是2,依次类推。

//重点:第四行,以及赋值的规律。

 #include  <stdio.h>
#define N 7
/**********found**********/
void fun(int (*a)[N])//这里是重点,省略第一个方括号。
{ int i,j,k,m;
if(N%==) m=N/ ;
else m=N/+;
for(i=; i<m; i++) {
/**********found**********/
for(j=i; j<N-i; j++)
a[i][j]=a[N-i-][j]=i+;
for(k=i+; k<N-i; k++)
/**********found**********/
a[k][i]=a[k][N-i-]=i+;
}
}
void main()
{ int x[N][N]={},i,j;
fun(x);
printf("\nThe result is:\n");
for(i=; i<N; i++)
{ for(j=; j<N; j++) printf("%3d",x[i][j]);
printf("\n");
}
}
上一篇:【编程题目】输入一个单向链表,输出该链表中倒数第 k 个结点


下一篇:牛客网 PAT 算法历年真题 1012 : D进制的A+B (20)