第1个回答 推荐于2016-05-19
第二个第(1)题。
(1)写一函数,将一个3×4的矩阵转置,将数据存储到一个4×3的矩阵后,将两个矩阵输出。
#include <stdio.h>
#define N 1000
#define M 1000
int mix[N][M];
void Swap( int & a, int & b)
{
int temp = b;
b = a;
a = temp;
}
void Swap_mix( int mix[][M] , int & r, int & c )
{
int i,j,k;
for( i = 1; i <= r ; i++ )
{
for( j = i ; j <= c ; j++ )
{
Swap( mix[i][j] , mix[j][i] );
}
}
k = r;
r = c;
c = k;
}
void Pnt( int mix[][M] , int r, int c )
{
int i,j;
printf("------------------------------------");
for( i = 1; i <= r ; i++ )
{
for( j = 1 ; j <= c ; j++ )
{
printf("%d ",mix[i][j]);
}
printf("\n");
}
printf("------------------------------------");
}
int main()
{
int r=3,c=4,i,j;
printf("请输入一个3*4的矩阵:\n");
for( i = 1; i <= r ; i++ )
{
for( j = 1 ; j <= c ; j++ )
{
scanf("%d",&mix[i][j]);
}
}
printf("转置前 原始矩阵 :\n");
Pnt( mix , r , c );
Swap_mix( mix , r , c );
printf("转置后 转置矩阵:\n");
return 0;
}
第二部分(2)输入5个字符串,按由大到小的顺序输出。
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define MAXN 1000
char s[5][MAXN];
int cmp(const void *a, const void *b)
{
return -strcmp((char*)a, (char*)b);
}
int main()
{
memset(s,0,sizeof(s));
int i;
for( i = 0 ; i< 5 ; i++ )
{
gets(s[i]);
}
//sort(s,s+5,cmp);
qsort(s,5,MAXN,cmp);
for( i = 0 ; i< 5 ; i++ )
{
puts(s[i]);
}
return 0;
}
第二部分 (3)对n个等长的字符串排序并输出,n在2~10之间可变。
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define MAXN 1000
char s[100][MAXN];
int cmp(const void *a, const void *b)
{
return -strcmp((char*)a, (char*)b);
}
int main()
{
memset(s,0,sizeof(s));
printf(" n = ? ");
int i,n;
scanf("%d",&n);
gets(s[0]);
for( i = 0 ; i< n ; i++ )
{
gets(s[i]);
}
//sort(s,s+5,cmp);
qsort(s,n,MAXN,cmp);
for( i = 0 ; i< n ; i++ )
{
puts(s[i]);
}
return 0;
}本回答被提问者采纳
第2个回答 2011-06-11
#include "stdio.h"
#include "stdlib.h"
int getCharCount(char *sz,char ch,int len)
{
int i = 0;
int icount =0;
for(i=0;i<len,i++)
{
if(*sz == ch)
icount = icount +1;
sz++;
}
return icount;
}
void main()
{
char sz[10]=;
int iCnt=0;
iCnt = getCharCount(sz,'a',10);
printf("a 的个数为 %d",iCnt);
getche();
}