- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.
题目描述:数据移位
有n(n=10)个整数,使前面各数顺序向后移m(m=n)个位置,最后m个数变成最前面的m个数,如图所示。编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数并输出调整后的n个数。
题目分析:
主函数输入输出,调用shift函数调序。其中shift函数中运用指针实现数组内容交换。
程序代码:
#includestdio.h
void main()
{
int shift(int*a,int n,int m);
int a[10],m,n,i;
printf(Input n(n=10):);
scanf(%d,n);
printf(Input 10 integers:);
for(i=0;i10;i++)
scanf(%d,a[i]);
printf(Output the original:);
for(i=0;i10;i++)
printf(%d ,a[i]);
printf(\nInput m(m=10):);
scanf(%d,m);
printf(Output the shifted:);
shift(a,n,m);
}
shift(int*a,int n,int m)
{
int b[10],i,j;
for(j=n-m,i=0;im;i++,j++)
{*(b+i)=*(a+j);}
for(j=0,i=m;in;i++,j++)
{*(b+i)=*(a+j);}
for(i=0;i10;i++)
printf(%d ,b[i]);
return 0;
}
程序截屏:
2.
题目描述:
字符串排序
在主函数中输入10个不等长的字符串放入二维字符数组中,编写函数void sort(char *s[])利用指针数组对其排序(按照字母顺序,例如“abc” 要在“acc”前面, 建议使用strcmp函数)。 在主函数中输出排好序的字符串。
题目分析:主函数输入输出,调用sort函数通过strcmp,strcpy函数进行调换顺序。
程序代码:
#includestdio.h
#includestring.h
main()
{
void sort(char *s[]);
char a[10][100],*s[10];
int i;
printf(please input ten strings:\n);
for(i=0;i10;i++)
{gets (a[i]);
s[i]=a[i];}
sort(s);
printf(the sorted strings);
for(i=0;i10;i++)
printf(%s\n,a[i]);
}
void sort(char *s[])
{
char t[100];
int i,j;
for(i=0;i9;i++)
for(j=0;j9-i;j++)
if(strcmp(s[j+1],s[j])0)
{strcpy(t,s[j]);
strcpy(s[j],s[j+1]);
strcpy(s[j+1],t);}
}
程序截屏:
3.
题目描述:学生成绩统计
有一个班级6个学生5门课,编写函数实现下列功能:
(1)函数average()求第指定课目的平均分;
(2)使用函数void findfail()找出有2门以上(含2门)课程不及格的学生,在主程序输出其学号和全部课程成绩及平均成绩;
(3)???数void findgood()找出平均成绩在90分以上或全部课程成绩在85分以上的学生, 在主程序输出其学号和全部课程成绩及平均成绩。
在主函数中输入数据并输出结果。
题目分析:本题较为复杂,须运用多个函数调用,主函数输入输出,调运函数分别进行不同功能。
程序代码:
#includestdio.h
struct student
{
float score[5];
int num;
int goodflag,failflag;
};
float average(struct student*p)
{
float sum=0,aver;
int i;
for(i=0;i5;i++)
{
sum+=p-score[i];
}
aver=sum/5;
return aver;
}
int findfail(struct student*p)
{
int i,n,count=0;
for(i=0;i5;i++)
if(p-score[i]60)
count++;
if(count=2
文档评论(0)