实验十指针1Word文档下载推荐.docx
《实验十指针1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验十指针1Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
if(cname[j]>
cname[j+1])
{t=cname[j];
cname[j]=cname[j+1];
cname[j+1]=t;
}
}
voidmain()
{inti;
charcname[5][6]={“wang”,”li”,”zhang”,”jin”,”xian”};
fsort(cname,5);
for(i=0;
i<
5;
i++)
printf(“%s\n”,cname[i]);
}/*调试时设置断点*/
运行结果(改正后程序的运行结果)
Jin
Li
Wang
Xian
Zhang
#include"
stdafx.h"
chart[6];
k++)
if(*cname[j]>
*cname[j+1])
{
strcpy(t,cname[j]);
strcpy(cname[j],cname[j+1]);
strcpy(cname[j+1],t);
charcname[5][6]={"
wang"
"
li"
zhang"
jin"
xian"
};
printf("
%s\n"
cname[i]);
2.编程,输入n(3<
n<
=10)个数,输出这n个数中的最小值及其下标。
要求定义和调用函数,寻找n个数中的最小值及其下标,函数的返回值类型是void,在函数中使用指针。
输入输出示例:
输入数组元素的个数:
5
输入5个数:
1283619
最小值是a[2]=3
思考:
如何在二维数组中找出最大值、最小值及其对应的行列下标,要求定义函数实现。
{
inta[10];
intn,i,min,t;
请输入3<
=10个数:
"
);
scanf("
%d"
&
n);
请输入%d个数:
\n"
n);
{
a[i]);
if(i==0)
min=a[i];
t=i;
if(min>
a[i])
最小值是a[%d]=%d\n"
t,min);
3.编程,输入一个3╳4的数组,先找出每一行中的最大元素,再分别除该行中的所有元素,最后输出数组。
要求:
定义和调用函数处理数组中的元素,在函数中使用指针。
输入3╳4数组
1234
5678
9101112
0.250.500.751.00
0.630.750.881.00
0.750.830.921.00
提示:
定义函数形参时,如果把二维数组定义为指针,调用时要用一级指针的地址。
输入一个3╳4的数组,先找出每一行中绝对值最大的元素,再分别除该行中的所有元素,最后输出数组,试编制程序。
#include<
stdlib.h>
doublea[3][4];
inti,j;
doublemax1=0,max2=0,max3=0;
3;
4;
scanf("
%lf"
a[i][j]);
if(max1<
a[0][j])
max1=a[0][j];
if(max2<
a[1][j])
max2=a[1][j];
if(max3<
a[2][j])
max3=a[2][j];
a[0][j]=a[0][j]/max1;
a[1][j]=a[1][j]/max2;
a[2][j]=a[2][j]/max3;
%-20lf"
a[i][j]);
4.编程,输入6个字符串,先按从小到大的顺序输出这些字符串,再输出其中最大和最小的字符串,要求定义和调用函数。
输入6行字符串:
Hangzhou
Shanghai
Beijing
Nanjing
Guangzhou
Tianjing
字符串从小到大排列后:
最短的字符串是Beijing
最长的字符串是Tianjing
定义函数形参时,如果把二维数组定义为指针,调用时要用一级指针的地址
sortstr(charstr[6][12],intn)
chara[12]={0};
6;
for(j=i+1;
if(strcmp(str[i],str[j])>
0)
{
strcpy(a,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],a);
intmain()
inti;
charstr[6][12];
输入字符串:
%s"
str[i]);
sortstr(str,6);
\n\n排序后:
最长的字符串是:
str[5]);
printf("
最短的字符串是:
str[0]);
return0;
5.编程,把命令行中的字符串(由数字字符组成)转换为整数并累加输出(如:
字符地串”test12348”转换为整数并累加,值为360)
test1234
sum=46
1)在Dos命令方式下和在VC++环境下各运行一次。
其中VC++下的运行方式是:
执行“工程”->
“设置”->
“Debug”->
程序变量中设置参数命令
2)命令行参数都是字符串,不是数字。
如果命令行参数中包括文件名,要求从文件中读出数据,如何编程
#defineMAX100
str(char*s)
unsignedlongsum=0,n;
while(*s)
if(*s>
='
0'
&
*s<
9'
)
n=0;
while(*s&
(*s>
))
{
n=n*10+*s-'
;
++s;
}
sum+=n;
}
else
++s;
returnsum;
}
chars[20];
gets(s);
%u\n"
str(s));
6.编程,从键盘上输入一个3╳3的矩阵,求矩阵的主对角线和副对角线之和,要求定义和调用函数。
输入3╳3数组
8612
5910
7115
Sum=41.00
intterm(inta[3][3],intn);
inta[3][3];
inti,j,sum;
sum=term(a,3)+a[0][2]+a[2][0];
sum=%d\n"
sum);
intterm(inta[][3],intn)
intb[3][3];
inti,j,m=0;
{if(i==j)
m=m+a[i][j];
returnm;
实验报告要求
将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。