西北农林科技大学c语言上机实习6答案
实习六答案
整数交换函数设计
/* exer 6-1 交换2个整数 */
#include
void swap(int *, int *); /* 函数声明 */
void main(void)
{
int a,b;
//printf("please enter 2 data:");
scanf("%d%d",&a,&b); /* 输入2个整数 */
//printf("a=%d,b=%d\n",a,b);
swap(&a,&b); /* 调用函数进行交换 */
printf("%d %d\n",a,b);
}
void swap(int *p1, int *p2) /* 交换函数 */
{
int temp;
temp = *p2; /* 交换 */
*p2 = *p1;
*p1 = temp;
}
数字字符个数统计函数设计
/* exer 6-2 统计一串字符中数字字符的个数 */
#include
int count(char *); /* 函数声明 */
void main(void)
{
char pstr[80];
//printf("please enter string:");
gets(pstr); /* 输入字符串 */
printf("%d\n",count(pstr)); /* 调用函数进行统计 */
}
int count(char *p) /* 统计函数 */
{
int num=0;
while(*p!='\0') /* 循环依次遍历 */
{
if(*p>='0' && *p<='9')
num++; /* 统计 */
p++; /* 指针后移 */
}
return num;
}
排序函数设计
/* exer 6-3 利用函数排序 */
#include
void sort(int a[ ],int num); /* 函数声明 */
void main(void)
{
int n, i, data[10];
//printf("please enter 10 data:");
scanf("%d", &n);
for(i=0; i
scanf("%d",&data[i]); /* 输入数组 */
sort(data,n); /* 调用函数排序 */
for(i=0; i
printf("%d ",data[i]); /* 输出数组 */
}
void sort(int a[ ],int num) /* 排序函数 */
{
int i,j,k,temp;
for(i=0; i
{
k = i;
for(j=i+1; j
if(a[k]
k = j;
if(k!=i)
{
temp = a[k];
a[k] = a[i];
a[i] = temp; /* 交换 */
}
}
}
矩阵转置函数设计
/* exer 6-4 矩阵转置 */
#include
void transpose(int a[][100],int ); /* 函数声明 */
void main(void)
{
int n, i, j, data[100][100];
scanf("%d", &n);
for(i=0; i