已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章1. 编程实现:输入一个字母,若为小写,则把它变成大写输出。代码如下:#includemain()char c;printf(Please input a character:);scanf(%c,&c);if(c=a&c=z)printf(The result is :%cn,c-32);2. 由键盘输入3个数a、b、c,编程输出其中最小的数。代码如下:#includemain()inta,b,c,t;printf(Please input three numbers:);scanf(%d%d%d,&a,&b,&c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;printf(The minimum is :%dn,a);3. 由键盘输入三个数a、b、c,用条件运算符求出最大值和最小值。代码如下:#includemain()inta,b,c,min,max;printf(Please input three numbers:);scanf(%d%d%d,&a,&b,&c);max=min=a;/初始化最大值与最小值为a/求出最大值max=maxb ? max:b;max=maxc ? max:c;/求出最小值min=minb ? b:min;min=minc ? c:min;printf(The maximum is :%d,the minimum is :%dn,max,min);4. 编写程序,实现功能:从键盘上输入1,2,3,4,分别显示excellent ,good,pass,fail。代码如下:#includemain()int a;printf(Please input a number:);scanf(%d,&a);switch(a)case 1:printf(Excellentn);break;case 2:printf(Goodn);break;case 3:printf(Passn);break;case 4:printf(Failn);break;default :printf(You input a wrong number!n);5. 试编程判断输入的正整数是否既是5又是7的整数倍。若是,则输出yes;则输出no。代码如下:#includemain()int a;printf(Please input a number:);scanf(%d,&a);if(a%5=0&a%7=0)printf(Yesn);elseprintf(Non);6. 编写程序,要求:输入一个正整数,判断其能否被3、5整除,并输出一下信息之一。(1) 能被3、5整除。(2) 能被3整除。(3) 能被5整除。(4) 不能被3、5整除。代码如下:#includemain()int a;printf(Input a number:);scanf(%d,&a);if(a%3=0)if(a%5=0)printf(能被3、5整除n);elseprintf(能被3整除n);elseif(a%5=0) printf(能被5整除n);elseprintf(不能被3、5整除n);7. 对于给定的一百分制成绩,要求输出相应的五分制成绩,即90分及以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。代码如下:#includemain()float a;printf(Please input score:);scanf(%f,&a);if(a60) printf(The class is :En);elseif(a70) printf(The class is :Dn);elseif(a80) printf(The class is : Cn);elseif(a90) printf(The class is : Bn);elseif(a=100) printf(The class is : An);elseprintf(Error!n);第五章1. 编一个程序,求1100所有偶数和。代码如下:#includemain()inti, sum=0;/考虑到时空效率,此处可用short,节省空间,sum记录偶数/和,变量参加累加,必须赋初值for(i=1;i=100;i+)if(i%2=0) sum+=i;printf(The sum is :%dn,sum);2. 编一个程序,求s=1!+2!+3!+10!的值。代码如下:#includemain()inti,j,sum=0,t;for(i=1;i=10;i+)for(j=1,t=1;j=i;j+)t*=j;sum+=t;printf(s=1!+2!+3!+-+10!=%dn,sum);3. 计算1-3+5-7+9+-99+101。代码如下:#includemain()int i,s=1,sum=0;for(i=1;i=101;i+=2)sum+=s*i;s*=-1;printf(1-3+5-7+9-99+101 = %dn,sum);4. 编程求1000以内(包括1000)能被5同时又能被11整除的数的和。代码如下:#includemain()int i,sum=0;for(i=1;i=1000;i+)if(i%5=0&i%11=0)sum+=i;printf(%dn,sum);5. 编程打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其中各位数字的立方和等于该数本身。例如:153=1*1*1+5*5*5+3*3*3。代码如下:#includemain()int a,b,c,i;for(i=100;i1000;i+)a=i%10;b=(i/10)%10;c=i/100;if(i=a*a*a+b*b*b+c*c*c)printf(%d ,i);printf(n);6. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13求出这个数列的前20项和。代码如下:#includemain()int i;float a=2,b=1,t,sum=0;/a为分子,b为分母for(i=0;i20;i+)sum+=a/b;t=a;a+=b;b=t;printf(The sum is :%fn,sum);7. 有一个球从10m高度落下并反弹,且每次反弹的高度为下落高度的一半。问第4次落地时共经过多少米?第4次反弹的高度是多少?代码如下:#includemain()float h1=10,sum=0;int i;for(i=0;i4;i+)if(i=0) sum+=h1;else sum+=2*h1;h1/=2;printf(第4次落地时共经过:%.3f 米,第4次反弹的高度为:%.3f 米n,sum,h1);第六章1. 求二维数组中全部元素的和。假定二维数组为a23=1,2,3,4,5,6代码如下:#includemain()int a23=1,2,3,4,5,6,i,j,sum=0;for(i=0;i2;i+)for(j=0;j3;j+)sum+=aij;printf(The sum is :%dn,sum);2. 有三个字符串,要求按照字母的顺序输出。假定为:America,China,India;代码如下:#includemain()char a=China,b=America,c=India, t=0;int i,j;if (strcmp(a,b)0)strcpy(t,a);strcpy(a,b);strcpy(b,t);if (strcmp(a,c)0)strcpy(t,a);strcpy(a,c);strcpy(c,t);if (strcmp(b,c)0)strcpy(t,b);strcpy(b,c);strcpy(c,t);puts(a);puts(b);puts(c);3. 求一个3*4矩阵的所有靠外侧的元素值之和。矩阵如下:123456789101112代码如下:#includemain()int a43,i,j,m=1,sum=0;for(i=0;i4;i+)for(j=0;j3;j+,m+)aij=m;for(i=0;i4;i+)for(j=0;j3;j+)if(i=0|i=3)sum+=aij;else if(j=0|j=2)sum+=aij;printf(The sum is: %dn,sum);4. 将一个数组中的值按逆序重新存放,例如原来的顺序为:8,6,5,4,1。要求改为:1,4,5,6,8。代码如下:#includeint main()int a = 8, 6, 5, 4, 1 , i, j, t;for (i = 0;i=2; i+)t = ai;ai = a4 - i;a4 - i = t;for (i = 0; i 5; i+)printf(%d , ai);printf(n);5. 已有一个排序好的数组,输入一个数,要求按原来的顺序将它插入数组中。假定排序好的数组为:a=1 ,8,11,14,16,17,21代码如下:#includeint main()int a = 1, 8, 11, 14, 16, 17, 21 , i, j, t, b8;printf(Please input a number:);scanf(%d, &t);for (i = 0; i t)j = i;break;for (i = 0; i 8; i+)if (ij) bi = ai;else if (i = j) bi = t;else bi = ai - 1;for (i = 0; i 8; i+)printf(%d , bi);printf(n);6. 求一维数组各元素的平均值。假定数组为:a=1,2,3,4,5,6代码如下:#includemain()int a6,i,sum=0;for(i=0;i6;i+)ai=i+1;for(i=0;i6;i+)sum+=ai;printf(The sum is :%dn,sum);7. 编写一个程序,将两个字符串连接起来,不要用strcat函数。代码如下:#includeint main()char a = China , b = stronger!;char csizeof(a)+sizeof(b);int i, j;for (i = 0; ai != 0; i+)ci = ai;for (j = 0; bj != 0; j+)ci + j = bj;ci + j = 0;printf(连接后的字符串为:%sn, c);第七章1. 编写一个函数,使输入的一个字符串反序存放,在主函数中输入和输出字符串。代码如下:#include#includevoid sort(char);int main()char a101;printf(请输入一个字符串(100个字符以内):);scanf(%s, a);sort(a);printf(%sn, a);/参看函数原型声明,参数为字符数组,为传址调用,故对形参的操作会改变实参void sort(char str)char t;int i, j = strlen(str);/j获取串长for (i = 0; i = (j-1) / 2; i+)/实现倒序交换t = stri;stri = strj-i-1;strj-i-1 = t;strj = 0;/在字符串末尾加上结束符2. 已有变量定义和函数调用语句“int x=57;isprime(x);”函数isprime()用来判断一个整数x是否为素数,若是素数,函数返回1,否则返回0。请编写isprime()函数。函数代码如下:int isprime(int a)int i, s = 1;for (i = 2; i a; i+)if (a%i = 0)s = 0;break;return s;3. 已有变量定义和函数调用语句”int a=1,b=5;c=fun(a,b)”,fun()函数的作用是计算两个数之差的绝对值,并将差值返回调用函数,请编写fun()函数。函数代码如下:int fun(int a, int b)int s;if (a b)s = b - a;else s = a - b;return s;4. 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出统计结果。代码如下:#includevoid fun(char str)int i,num,ch,sp,other;num = ch = sp = other = 0;for (i = 0; stri != 0; i+)if (stri = a&stri = A&stri = 0&stri = 9)num+;else if (stri = )sp+;else other+;printf(字母个数:%d,数字个数:%d,空格个数:%d,其他字符:%dn, ch, num, sp, other);int main()char a11;gets(a);fun(a);5. 输入一个只含数字字符的字符串,编写一函数,要求输出这个字符串,但每个数字字符之间空一个空格,例如,输入:“123456”,应输出:“1 2 3 4 5 6”。代码如下:#includevoid print(char str)int i;for (i = 0; stri != 0; i+)if (stri+1=0)printf(%c, stri);else printf(%c , stri);printf(n);int main()char a11=123456;print(a);6. 编写函数,把一个字符串连接到另一个字符串的后面,形成一个新的字符串。代码如下:#include#includevoid contact(char a, char b)int i, j;char c20;for (i = 0; ai != 0; i+)ci = ai;for (j = 0; bj != 0; j+)cj + i = bj;ci + j = 0;printf(%sn, c);int main()char a = China , b = stronger!;contact(a, b);7. 用递归法求1+2+3+4+n。代码如下:#includeint sum(int a)int s;if (a 0)s =a+sum(a-1);else s=0; return s;int main()int n;scanf(输入一个整数:%d, &n);printf(%dn, sum(n);第八章1. 输入2个整数,求它们相除的余数,用带参的宏实现。代码如下:#include#define m(i,j) (i)%(j)int main()int i,j;printf(请输入两个整数:);scanf(%d%d, &i,&j);printf(%dn, m(i,j);2. 给年份定义一个宏,以判断该年份是否为闰年。代码如下:#include#define FLAG(i) (i)%400=0|(i)%4=0&(i)%100=0)int main()int i,j;printf(请输入一个年份:);scanf(%d, &i);if (FLAG(i) printf(该年是闰年。n);else printf(该年不是闰年。n);第九章1. 编写一个函数对输入的10个字符按由小到大排序,用指针作参数。#includechar* sort(char*);/形参为指针,传址调用,返回值类型可设为空int main()char a11,*b;int m;for (m = 0; m 10; m+)scanf(%c, &am);b=sort(a);for (m = 0; m 10; m+)printf(%c, bm);char* sort(char* ch)int i, j;char t;for (i = 0; i 10; i+)for (j = i; j chj)t = chi;chi = chj;chj = t;return ch;2. 用指向指针的方法对6个字符串排序输出。要求将排序单独编写成一个函数。数据在主函数中输入,最后在主函数中输出排序结果。代码如下:#include#includechar *sort(char*);int main()char *a6,str6101;int i;printf(请输入6个字符串(100字符以内):);for (i = 0; i 6; i+)scanf(%s, stri);ai = stri;sort(a);for (i = 0; i 6; i+)printf(%sn, ai);char *sort(char *s)int i,j;char *temp;for (i = 0; i 6; i+)for (j = i; j 0)temp = sj;sj = si;si = temp;return *s;3. 输入5行文字,每行不超过40个字符。统计各行大写字母、小写字母、空格、数字以及其他字符各有多少,用二维字符数组指针实现。代码如下:#includeint *kind(char*,int*);int main()char *str5, s541;int i;int result3;printf(请输入5行字符串(40字符以内):);for (i = 0; i 5; i+)scanf(%s, si);stri = si;kind(str, result);printf(数字个数为:%d,小写字母个数为:%d,大写字母个数为:%d.n, result0, result1, result2);int *kind(char *s,int* result)int digit = 0, ch1 = 0, ch2 = 0, space = 0, i, j;for (i = 0; i = a&sij = A&sij = 0&sij = 9)digit+;else space+;result0 = digit;result1 = ch1;result2 = ch2;return result;4. 用指针编写求字符串长度的函数。函数代码如下:int slength(char* s)int i, j = 0;for (i = 0; si != 0; i+)j+;return j;5. 编写函数,对传送过来的3个数选出最大数和最小数,并通过形参返回调用函数。函数代码如下:#includeint main()void compare(int, int, int, int&, int&);int a, b, c, max, min;scanf(%d%d%d, &a, &b, &c);max = min = a;compare(a, b, c, max, min);printf(最大值:%d,最小值:%d.n, max, min);void compare(int a, int b, int c, int& x, int& y)x = x c ? (x b ? x : b) : c;y = y c ? (y b ? y : b) : c;6. 编写程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调用函数中完成复制。代码如下:#includeint main()char* copy(char*, int);char s101;char* r;int m;printf(请输入字符串:);scanf(%s, &s);printf(请输入复制的起始位置:);scanf(%d, &m);r=copy(s, m);printf(复制后的函数为:%s, r);char* copy(char* str, int site)int i;char *p;p = &strsite - 1; return p; 第十章1. 定义一个结构体类型,成员包括职工号、姓名、性别、年龄、工资和地址。定义结构体指针和数组,数组含4个元素,用初始化方式赋值并输出。代码如下:#includeint main()struct workerchar number5;/职工号char name20;char sex;int age,pay;char address100;struct worker *p,workers4 = 0001, Zhousan, M, 23, 1300, Nanchang Jiangxi , 0002, Lisi, F, 25, 1300, Poyang Jiangxi province , 0003, Wangwu, F, 22, 1400, Xinyu Jiangxi , 0004, Maliu, M, 21, 1100, Ganzhou Jiangxi ;int i;p = workers;printf(NumbertNametSextAgetPaytAdresstn);for (i = 0; i 4; i+)printf(%st%st%ct%dt%dt%sn, pi.number, , pi.sex, pi.age, pi.pay, pi.address);2. 存储一个班学生姓名,然后输入一个学生的姓名,查找该人是否为该班的学生。代码如下:#include#includeint main()struct studentchar name20;struct student *p, stu5 = Zhou chang, Zhang long, Zhao qing, Hu wei, Liu jian ;char n20=Zhao qing;int i;p = stu;printf(请输入姓名以查找:);gets(n);for (i = 0; i name, n) = 0)printf(是该班级学生。n);break;else if (i = 4)printf(不是该班级学生。n);3. 读入班级学生人数,每名学生学号和4门功课成绩,计算全班每名学生4门功课的平均成绩。代码如下:#include#include#define len sizeof(struct student)int main()typedef struct studentchar name20;char number10;/学号float score4;float aver;struct student* next;/使用链表,若不使用链表,可使用动态数组stus;/置空指针stus* stu = NULL;stus* p = NULL;stus* head = NULL;unsigned n, i, j;float sum = 0;printf(请输入学生人数:);scanf(%d, &n);head = (stus*)malloc(len);/若未正常开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于人员调整的报告
- 2024学校早餐服务承包协议范例
- 齐鲁工业大学《版面编排设计》2022-2023学年第一学期期末试卷
- 2024年综合性公寓租赁协议
- 做全屋定制协议书
- 钢结构项目劳务分包规范协议稿
- 2024高效服务器维修与保养协议
- 代理记账业务委托合同参考范例
- 木材与环境艺术的关联与实践考核试卷
- 2023年中考语文总复习文言文6大常考【文言虚词】+130个【实词】全解析
- 校企共建项目合同违约条款
- GB/T 16716.5-2024包装与环境第5部分:能量回收
- 中小学教师如何做课题研究设计课件
- 2024年消防月全员消防安全知识专题培训-附20起典型火灾案例
- 恒牙临床解剖-上颌中切牙(牙体解剖学课件)
- 戏剧鉴赏学习通超星期末考试答案章节答案2024年
- 2024年国家公务员考试行测真题及解析(完整版)
- 《县委书记的榜样-焦裕禄》课件
- 公司工会活动积分制考核表
- 10以内口算100道题共16套-直接打印版
- 国自然患者知情同意书
评论
0/150
提交评论