C语言程序题作业题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序题作业
(题目涵盖第1-8章所学内容,总分:100分)
作答要求:请下载程序题作业提交模板,将第1至9题填写在模板文件相应题号位置,第7-9题的上机调试好的工程文件夹放置在第7、8、9题的文件夹中。
1、(程序填空题) 下面程序打印一个如下图所示的5行的下三角形,把程序补充
完整: (10分)
main( )
{ int i;
for(i=1;__○1_; i++)
______○2________;
}
printstar(___○3___)
{int j,k;
char space=' ';
for(j=1;j
printf("%c", space);
for(k=1; ___○4____; k++)
printf("%c", '*');
_____○5_____;
}
2、(程序填空题)填写程序,实现冒泡法对10个整数从小到大排序。(10分)
main()
{int a[10],i,j,temp;
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",__○1____);
for(i=1;i<10;i++)
for(j=0;___○2______;j++)
if(____○3________)
{temp=a[j];______○4________;a[j+1]=temp;}
printf("\n排好序的10个整数为:\n");
for(i=0;i<10;i++)
printf("%5d",___○5_____);
}
3、(程序填空题)利用指针将数组b中的字符串复制到数组 a 中。(10分)
○1
void strcopy(char *s, ○2 )
{int i=0;
while( ○3 )
{*s=*t; ○4 ; t++;}
}
void main()
{char a[20],b[10];
gets(b);
strcopy( ○5 );
puts(a);
}
4、(阅读程序题)阅读下列程序,回答下列问题。(10分)
main()
{int i,n=0;
for(i=2;i<5;i++)
{ do
{if(i%3) continue;
n++;
}while(!i);
n++;
}
printf("n=%d\n",n);
}
(1)分别写出continue语句运行的次数、第一个n++运行的次数、第二个n++运行的次数;
(2)写出程序的运行结果。
5、(阅读程序题) (10分)
swap (int *p1,int *p2) {int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
swap (int *p1,int *p2) {int *p;
*p=*p1;
*p1=*p2;
*p2=*p;
}
swap (int *p1,int *p2) {int *p; p=p1; p1=p2; p2=p; }
1)以上三个函数功能就是否相同?请写出原因。
2)以上哪个函数可以实现两个数的交换?
3)对不能实现两个数交换的函数进行修改,使其能实现。
6、(阅读程序题) (5分)
以下程序输出结果就是:
#include
void main()
{
char *p,s[] = "ABCDEFG";
p = s;
while(*p != ’\0’ )
{
printf("%s\n",p);
p++;
if(*p != ’\0’) p++;
else break;
}
}
7、8、9、(程序设计题)编写程序,要求写出每题的源程序(运行成功的)与运行结果截图(5分),并且将每题的上机调试运行成功的所有文件(project文件夹中所有文件),存于作业提交模板中相应题号文件夹中(10分)。
7、从键盘输入学生的考试成绩,利用计算机将学生的成绩划分等级并输出。学生的成绩可分为5个等级,这5个等级就是:90—99分为A级,80—89分为B级,70—79分为C级,60—69分为D级,0—59分为E级。学生的考试成绩为0—99分。分别用if多分支结构与switch多分支结构实现。(15分)
8、输入一个整数,利用函数调用方式编程,判断该数就是否为素数。(素数的条件:只能被1与自身整除)(15分)
9、使用指针编写程序,实现输入一行字符,统计并输出其中字母、数字与其它字符的个数。(15分)