ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:20.85KB ,
资源ID:4133061      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4133061.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(经典C语言源代码.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

经典C语言源代码.docx

1、经典C语言源代码经典C语言源代码1、(1)某年某月某日是星期几#includeint main()(int year, month, day;while (scanf_s(%d%d%d”, &year, &month, &day) != EOF)(if (month = 1 | month = 2)/ 判断 month 是否为 1 或 2(year-;month += 12;int c = year / 100;int y = year - c * 100;int week = (c / 4) - 2 * c + (y + y / 4) + (13 * (month + 1) / 5) + d

2、ay - 1;while (week0) ( week += 7; week %= 7;switch (week)(case 1:printf(Mondayn); break;case 2:printf(Tuesdayn); break;case 3:printf(Wednesdayn); break;case 4:printf(Thursdayn); break;case 5:printf(Fridayn); break;case 6:printf(Saturdayn); break;case 0:printf(Sundayn); break;return 0;1、(2)某年某月某日是第几天

3、(一维数组)#include stdio.hvoid main() int i, flag, year, month, day, dayth;int month_day口 = 0,31,28,31,30,31,30,31,31,30,31,30,31 ;printf(请输入年/月/日:n);scanf_s(%d/%d/%d”, &year, &month, &day);dayth = day;flag = (year % 400 = 0) | (year % 4 = 0 & year % 100 != 0);if (flag)month_day2 = 29;for (i = 1; i mont

4、h; i+)dayth = dayth + month_dayi;printf(%d/%d/%d 是第 %d 天n, year, month, day, dayth);2、30个数中找最小的数及其位置#include stdio.h# define SIZE 30void main() int i;float dataSIZE;int min;printf(请输入%d个浮点数:n”,SIZE);for (i = 0; i SIZE; i+) /scanf_s(%f, &datai);datai = rand() % 30 + 1;printf(%f、, datai);min = 0;for (

5、i = 1; i SIZE; i+) if (datai datamin)min = i;printf(最小值是 %5.2f位置是 %5dn, datamin, min);3、30个数从小到大排序(1)#include stdio.h# define SIZE 30void main() int i,j;float dataSIZE,temp;int min;printf(请输入%d个整型数:n”,SIZE);for (i = 0; i SIZE; i+) scanf_s(%f, &datai);for (i = 0; i SIZE; i+) min = i;for (j = i + 1; j

6、 SIZE; j+)if (dataj datamin)min = j;temp = datamin;datamin = datai;datai = temp;printf(n排序后的结果是:n);for (i = 0; i SIZE; i+)printf(%5.2f, datai);(2)模块化程序(数组名作为函数参数)#include stdio.h# define SIZE 5void accept_array(float a, int size);void sort(float a, int size);void show_array(float a, int size);void m

7、ain() float scoreSIZE;accept_array(score, SIZE);printf(排序前:);show_array(score, SIZE);sort(score, SIZE);printf(排序后:);show_array(score, SIZE);void accept_array(float a, int size) int i;printf(请输入 d 个分数:, size);for (i = 0; i size; i+)scanf_s(%f, &ai);void show_array(float a, int size) int i;for (i = 0;

8、 i size; i+)printf( %5.2f”, ai);printf(n);void sort(float a,int size) int i, min, j;float temp;for (i = 0; i SIZE; i+) min = i;for (j = i + 1; j SIZE; j+)min = j;temp = amin;amin = ai;ai = temp;4、(1)指针加减:#include stdio.h#define SIZE 10void main() int aSIZE = 1,2,3,4,5,6,7,8,9,10 ;int *pa, i;pa = &a0

9、;/pa=a;printf(n);for (i = 0; i SIZE; i+) printf( %d, *pa);/printf( %d, *(pa+1);pa+;(2)指针比较:#include stdio.h#define SIZE 10void main() (int aSIZE = ( 1,2,3,4,5,6,7,8,9,10 ;int *pa, i;int *qa;pa = qa = &a0;printf(请输入 %d 整型数:”,SIZE);for (; pa qa + SIZE; pa+)scanf_s(%d”, pa);for (pa-; qa = pa; pa-)print

10、f( %d, *pa);5、两字符串相连:#include stdio.h#include string.hvoid str_cat(char str1, char str2);void main() (int i, j;char str1160;char str280;printf(-请输入第一个字符串:);gets(strl);printf(-请输入第二个字符串:);gets(str2);str_cat(str1, str2);puts(str1);void str_cat(char str1, char str2) int i, j;i = 0;while (str1i != 0)i+;

11、j = 0;while (str2j != 0) str1i = str2j;i+; j+;str1i = 0;6、二维数组(a, b转置)#include stdio.h void main() (int i, j, b23;int a32 = 1,2,3,4,5,6 ;for (i = 0; i 2; i+) for (j = 0; j 3; j+)bij = aji;printf(na:n);for (i = 0; i 3; i+) for (j = 0; j 2; j+) printf(%5d”, aij);printf(n);printf(nb:n);for(i = 0; i 2;

12、i+) for (j = 0; j 3; j+) printf(%5d, bij);printf(n);7、 输入一个二维数组并输出(指针)#include stdio.hvoid main() (int x23;int i, j;for (i = 0; i 2; i+)for (j = 0; j 3; j+)scanf_s(%d”, *(x + i) + j);putchar(n);for (i = 0; i 2; i+)(for (j = 0; j 3; j+)printf(%d , *(*(x + i) + j);putchar(n);8、 冒泡法排序一个数组#include stdio

13、.h#define size 10 void maopao(int a);void main() (int a10;int i;printf(请输入10个整数:n);for (i = 0; i 10; i+)scanf_s(%d”, &ai);maopao(a);void maopao(int a) (int i, j, temp;for (i = 0; i 9; i+) /进行 9 轮排序for (j = 0; j aj + 1)temp = aj;aj = aj + 1;/大的沉底,小的上浮aj + 1 = temp;printf(排序结果:n);for (i = 0; i 10; i+)

14、printf(%4d, ai);9、两数组A, B,要求AB,如A: 4, 7, 9B: 1, 3, 5, 8, 9变换后A: 1, 3, 5B: 4, 7, 8, 9, 9#include void ReArranger(int* A, int* B, int m, int n) /A 和 B是各有 m 个和 n 个整数的非降序数组,本算法将B数组元素逐个插入到A中,使 A中各元素均不大于 B中各元素,且两数组仍保持非降序排列。int x, j, i;while (Am - 1B0)x = Am - 1;Am - 1 = B0; / 交换 Am-1和 B0j = 1;while (jn &

15、Bj= 0 & Aix)Ai + 1 = Ai-; /寻找B0的插入位置Ai + 1 = x;void main() /这里主要介绍算法思想,主函数就简单写了int A3, B5, i;printf(输入第一个数组:);for (i = 0; i3; i+) scanf_s(%d”, &Ai);printf(n输入第二个数组:);for (i = 0; i5; i+) (scanf_s(%d, &Bi);ReArranger(A, B, 3, 5);printf(n输出第一个数组:);for (i = 0; i3; i+)printf(%d , Ai);printf(nn);printf(输出

16、第二个数组:);for (i = 0; i5; i+)printf(%d , Bi);printf(n);10、符合 1+6+3=3+2+5=1+4+5有哪几组A 1B C 6 4D E F 到 3 2 5#include void main() (int a, b, c, d, e, f;for (a = 1; a = 6; a+)for (b = 1; b = 6; b+) (if (b = a)continue;for (c = 1; c = 6; c+) (if (c = a) | (c = b)continue;for (d = 1; d = 6; d+) (if (d = a) |

17、 (d = b) | (d = c)continue;for (e = 1; e = 6; e+) (if (e = a) | (e = b) | (e = c) | (e = d) continue;f = 21 - (a + b + c + d + e);if (a + b + d = d + e + f) & (a + b + d = a + c+ f) (printf( %dn”, a);printf(%d %dn, b, c);printf(%d %d %dn, d, e, f);11、输入一串字符,升序排序,折半查找其中一字符#include void *sortString(ch

18、ar unsort, int length) (for (int i = 0; i length; i+) (for (int j = i + 1; j unsortj) (int temp = unsortj;unsortj = unsorti;unsorti = temp;void main() (char s150;gets(s1);char value;scanf_s(%c, &value);printf(s1 : %sn, s1);printf(value:%cn”, value);int length = strlen(s1);printf(length:%dn, length);

19、sortString(s1, length);printf(s1 : %sn, s1);int start = 0, end = length - 1;int mid = (end + start) / 2;while (start s1mid)start = mid+1;elseend = mid-1;if (mid)printf(该字符在已知字符串中,即在第 %d个n,mid);elseprintf(该字符不在已知字符串中n);12、100-300和500-700直接索数,m不被2到根号m直接任整除#includeint isprime(int n)if (n2)return 0;for

20、(int i = 2; in / 2; i+)if (n%i = 0)return 0;return 1;void main()int i, k = 0;for (i = 100; i = 300; i+)if (isprime(i)printf(%3d , i);k+;if (k % 10 = 0) printf(n);for (i = 500; i = 700; i+)if (isprime(i)(printf(%3d , i);k+;if (k % 10 = 0) printf(n);printf(n);13、判断一个数是否是索数#include#includevoid main()(i

21、nt m, i, k;printf(请输入一个整数:);scanf_s(%d, &m);k = (int)sqrt(m);for (i = 2; i k)printf(%d 是索数。n, m);elseprintf(%d 不是索数。n, m);14、一个数是否含有数字 5#include #include bool is5Num(int num) int temp = num % 10;while (temp != 5 & num 10) ( num = num / 10;temp = num % 10;if (temp != 5)return false;elsereturn true;vo

22、id main() (int num;printf(输入一个数:n);scanf_s(%d”, &num);if (is5Num(num)printf(含 5n);elseprintf(不含 5n);15、一个排好序的数组,插入一个数#include void main() (int a11 = ( 1,2,3,4,5,6,7,8,9,10 ;int num;printf(插入前数组为:n”);for (int i = 0; i a9)a10 = num;else (for (int i = 0; i 10;i+)if (num = i; j-)aj + 1 = aj;ai = num;bre

23、ak;printf(插入后数组为:n);for (int i = 0; i = 10; i+)printf(%3d, ai);printf(n);16、牛顿迭代法: #include #include double func(double x) (/ 函数return x*x*x + 2.0*x*x + 3.0*x + 4.0;double func1(double x) (/ 导函数return 3 * x*x + 4 * x + 3;void Newton(double x0,double precision)(/ 迭代次数double x1;int k;if (func1(x0) = 0

24、.0) (/若通过初值,函数返回为 0printf(迭代过程中倒数为0! n);return;x1 = x0 - func(x0) / func1(x0);/ 进行牛顿迭代计算while (!(func1(x1 - x0) precision | fabs(func(x1) precision) (x0 = x1;/准备下一次迭代if (func1(x0) = 0.0)/若通过初值,函数返回值为 0printf(迭代过程中倒数为0! n);x1 = x0 - func(x0) / func1(x0);/ 进行牛顿迭代计算void main() (double x, precision;prin

25、tf(输入初始迭代值x0: n);scanf_s(%lf”, &x);printf(迭代要求的精度:n);scanf_s(%lf”, &precision);Newton(x, precision);/ 若函数返回值为 1printf(该值附近的跟为:%lfn, x);getchar();getchar();17、起始时间到终止时间天数#include stdio.hvoid main() (int start3, end3;printf(请输入开始日期,如 1964.2.19: n);scanf_s(%d.%d.%d, &start0, &start1, &start2);printf(请输入结束日期,如 2001.10.20: n);scanf_s(%d.%d.%d, &end0, &end1, &end2);int sum = 0;for (int mid = start0; mid end0; mid+) if (mid % 400 = 0) | (mid % 4 = 0 & mid % 100 != 0) ( sum = sum + 366;elsesum = sum + 365;sum =

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1