1 / 18
文档名称:

C语言课程设计.docx

格式:docx   大小:255KB   页数:18页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言课程设计.docx

上传人:gyzhluyin 2017/10/22 文件大小:255 KB

下载得到文件列表

C语言课程设计.docx

相关文档

文档介绍

文档介绍:一年级第一学期
C语言课程设计
作者:谢潇渔
班级:08计算机科学与技术4班
学号:40809010419
2008年12月28日
目录(Contents)
概述……………………………………………………………… 3
第一题输出九九乘法表……………………………………… 4
第二题任意进制数的转换…………………………………… 5
第三题判断字符串是否回文………………………………… 7
第四题统计文件的字数……………………………………… 8
第五题约瑟夫问题…………………………………………… 9
第六题三天打渔两天晒网…………………………………… 11
第七题绘制余弦曲线………………………………………… 12
第八题验证哥德巴赫猜想…………………………………… 14
第九题输出能被2、3、7整除的数………………………… 16
第十题绘制椭圆……………………………………………… 17
概述
本人采用了Visual C++ ,将前9个问题以各个独立的函数形式放置在一个工程中,在主函数调用这些函数即可运行相关试题的程序。第10题程序的编辑环境为Visual C# 2008。
运行环境:
操作系统
Microsoft Windows Vista SP1
处理器
Intel Core 2 Duo
内存
GB
编译环境
1-9题 Visual C++
第10题 Visual C# 2008
启动Visual C++,新建一个Win32 Console Application工程。创建9个函数,使用以下代码导入头文件:
#include ""
#include ""
#include ""
之后再主函数书写如下代码以调用这些函数:
int main(int argc, char* argv[])
{
int i;
printf("***********************************\n");
printf("输入要运行的程序:\\n");
printf("\\n");
printf("\\n");
printf("\\n");
printf("\-1000内能被2、3、7整除的数\n");
scanf("%d",&i);
switch (i)
{
case 1: Ex1();break;
case 2: Ex2();break;
case 3: Ex3();break;
case 4: Ex4();break;
case 5: Ex5();break;
case 6: Ex6();break;
case 7: Ex7();break;
case 8: Ex8();break;
case 9: Ex9();break;
case 10:Ex10();break;
}
scanf("%d",&i);
return 0;
}
运行结果如图所示,输入相关题目的序号并按回车键即可执行相关程序。
试题一:输出九九乘法表
难度系数:1/21
问题分析
使用双层循环,外层循环控制被乘数,内层循环控制乘数,逐项输出。每当被乘数变化时即切换到下一行,同时控制乘数不大于被乘数,即可输出标准的三角形乘法表。
程序代码
void Ex1()
{
//输出9*9乘法表
int i,j;
printf(" 九九乘法表\n");
for (i=1;i<=9;i++)
{
for (j=1;j<=i;j++)
printf("%d*%d=%2d ",i,j,i*j);
printf("\n");
}
}
运行结果:
试题二:将一个无符号数转换成任意d进制数
难度系数:4/21
问题分析
本程序采用的方法为:先将输入的任意进制数转换成十进制数,之后将十进制数转换成d进制数。

可以采用带权相加法。将输入的数据保存在一个字符数组内,设转换前的数字是k进制数,转换后的十进制数为tmp,则
tmp=i=0strlenOriNum-1OriNumi*kn
,其中i表示从高位到地位的第i位,n表示从低位到高位的第n位。
程序具体处理过程中,可从低位向高位处理,另设置一个变量delta,初值为1,每处理一位自乘k,则处理到第i位时的算法为
tmp=tmp+(O