版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计题一、对应教材的选择结构知识点(注意:黄色标注的是设计的函数(也就是题目要求的内容,应该是一定要掌握的),黑色字体的是程序运行的主函数,都是经过验证的,但还是可能会有错误,欢迎纠正!!!)1.设计一函数,判断某一年是否是闰年。如果给定的年份能被4整除但不能被100整除或者年份能被400整除的是闰年,闰年的2月比平年的2月多一天。#include<stdio.h>voidmain(){ intsort(int); intyear,leap; printf("请输入一个年份:"); scanf("%d",&year); leap=sort(year); if(leap) printf("这是闰年"); elseprintf("这不是闰年"); printf("\n");}intsort(intyear){ intleap; if(year%400==0||year%100!=0&&year%4==0) leap=1; elseleap=0; returnleap;}2.设计一函数,对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为‘A’;80~89分为‘B’;70~79分为‘C’;60~69分为‘D’;60分以下为‘E’。#include<stdio.h>voidmain(){ intexchange(intscore); intscore; chargrade; printf("请输入一个百分制成绩:"); scanf("%d",&score); grade=exchange(score); printf("五分制成绩是:"); printf("%c\n",grade);}intexchange(intscore){ chargrade; intn; n=score/10; switch(n) { case10: case9:grade='A';break; case8:grade='B';break; case7:grade='C';break; case6:grade='D';break; default:grade='E'; } returngrade;}设计一函数,对输入的字符串,统计其中字母个数,数字个数、空格个数及其它符号个数。#include<stdio.h>intletter=0,number=0,space=0,others=0;voidmain(){voidsum();printf("请输入一个字符串:"); sum(); printf("letter=%d,number=%d,space=%d,others=%d\n",letter,number,space,others);}voidsum(){ charc; while((c=getchar())!='\n') if(c<'z'&&c>'a'||c<'Z'&&c>'A') letter++; elseif(c>'0'&&c<'9') number++; elseif(c=='') space++; elseothers++;}4.设计一函数,实现对分段函数的计算。#include<stdio.h>voidmain(){ floatx,y; floatfdhs(floatx); printf("请输入x:"); scanf("%f",&x); y=fdhs(x); printf("分段函数的结果是:"); printf("%.2f\n",y);}floatfdhs(floatx){ floaty; if(x>=0) y=x*x-1; elsey=2*x*x*x-x+1; returny;}设计一函数,用于实现符号函数,函数形式如下。#include<stdio.h>voidmain(){ intx,y; intfhhs(intx); printf("请输入x:"); scanf("%d",&x); y=fhhs(x); printf("符号函数的结果是:"); printf("%d\n",y);}intfhhs(intx){ inty; if(x>0) y=1; elseif(x==0) y=0; elseif(x<0) y=-1; returny;}设计一函数,对输入的整数n判断其是奇数还是偶数,如果是奇数返回值1,偶数返回值2。#include<stdio.h>voidmain(){ intn,leap; intjudge(intn); printf("请输入一个整数:"); scanf("%d",&n);leap=judge(n); printf("%d\n",leap);}intjudge(intn){ intleap; if(n%2==1) leap=1; elseleap=2; returnleap;}设计一函数,函数功能是返回两个整数中大的值。#include<stdio.h>voidmain(){ intx,y; intmaxi; intmax(intx,inty); printf("请输入两个整数:"); scanf("%d%d",&x,&y); maxi=max(x,y); printf("两个整数的最大值是:%d\n",maxi);}intmax(intx,inty){ returnx>y?x:y;}设计一函数,函数的功能是判断形参字符是否为字母,如果是小写字母则转换为对应的大写字母,如果大写字母则转换为对应的小写字母,其它字符不转换,函数不返回值。#include<stdio.h>voidmain(){ charexchange(); intz; z=exchange(); printf("转换后的字母是:%c\n",z);}charexchange(){ intc; c=getchar(); if(c<='z'&&c>='a') c=c-32; elseif(c<='Z'&&c>='A') c=c+32; elsec=0; returnc;}对应教材的循环结构知识点设计一函数,函数功能用于实现返回1到n(n是整数,形参)的和。#include<stdio.h>voidmain(){ intn,total; intsum(intn); printf("请输入n:"); scanf("%d",&n);total=sum(n);printf("求和的结果是:%d\n",total);}intsum(intn){ inti,sum=0; for(i=1;i<=n;i++) sum=sum+i; returnsum;}设计一函数,函数功能用于实现判断整数n(形参)是否为素数。#include<stdio.h>#include<math.h>voidmain(){ intn,leap; intss(intn); printf("请输入一个整数:"); scanf("%d",&n); leap=ss(n); if(leap)printf("这不是素数\n"); elseprintf("这是素数\n");}intss(intn){ inti,m,t;m=sqrt(n); for(i=2;i<=m;i++) {if(n%i)t=0;break;} if(i>m)t=1; returnt;}设计一函数,函数功能用于返回整数m与n的最大公约数。(用while语句实现)#include<stdio.h>voidmain(){ intm,n,max; intgys(intm,intn); printf("请输入两个整数:"); scanf("%d%d",&m,&n); max=gys(m,n); printf("最大公约数是:%d\n",max);}intgys(intm,intn){ intr,t;if(m<n) {t=m;m=n;n=t;} while(r) { r=m%n; m=n; n=r; } returnm;}设计一函数,函数功能用于返回整数m与n的最大公约数。(用do语句实现)#include<stdio.h>voidmain(){ intm,n,max; intgys(intm,intn); printf("请输入两个整数:"); scanf("%d%d",&m,&n); max=gys(m,n); printf("最大公约数是:%d\n",max);}intgys(intm,intn){ intr,t;if(m<n) {t=m;m=n;n=t;} do { r=m%n; m=n; n=r; }while(r); returnm;}设计一函数,函数功能用于返回整数m与n的最大公约数。(用递归语句实现)#include<stdio.h>voidmain(){ intm,n,max,t; intgys(intm,intn); printf("请输入两个整数:"); scanf("%d%d",&m,&n); if(m<n) {t=m;m=n;n=t;} max=gys(m,n); printf("最大公约数是:%d\n",max);}intgys(intm,intn){ intr,g; r=m%n; if(r==0)g=n;else { m=n; n=r; g=gys(m,n); } returng;}设计一函数,函数功能用于返回表达式s=1+1/(1*2)+1/(2*3)+1/(3*4)+...+1/(n*(n+1))前n项和的值。#include<stdio.h>voidmain(){ doublesum;intn; doubletotal(intn); printf("请输入一个整数:"); scanf("%d",&n); sum=total(n); printf("最大公约数是:%.2f\n",sum);}doubletotal(intn){ inti; doubles=1; for(i=1;i<n;i++) s=s+1.0/(i*(i+1)); returns;}设计一函数,函数功能用于返回表达式s=1-1/3+1/5-1/7+...的前n项和。#include<stdio.h>voidmain(){ doublesum;intn; doubletotal(intn); printf("请输入一个整数:"); scanf("%d",&n); sum=total(n); printf("前n项和是:%.2f\n",sum);}doubletotal(intn){ inti; doubles=1; for(i=1;i<n;i++) if(i%2!=0) s=s-1.0/(2*i+1); elses=s+1.0/(2*i+1); returns;}设计一函数,函数功能实现求表达式s=1!+2!+...+n!,返回s的值。#include<stdio.h>voidmain(){ longsum;intn; longtotal(intn); printf("请输入一个整数:"); scanf("%d",&n); sum=total(n); printf("s的值是:%d\n",sum);}longtotal(intn){ staticlongs=0,t=1;inti,j; for(i=1;i<=n;i++) { for(j=i;j>0;j--) t=t*j; s=s+t; t=1; }returns;}设计一函数,函数功能实现统计可以用数字0至9组成多少个没有重复的三位偶数的个数。#include<stdio.h>voidmain(){ intc; intnumber(); c=number(); printf("结果是:%d\n",c);}intnumber(){ inti,count=0; intj,k,t; for(i=100;i<1000;i++) { if(i%2!=0)continue; else { j=i%10; k=(i%100-j)/10; t=(i-j-k*10)/100; if(j!=k&&k!=t&&j!=t) count++; } } returncount;}对应教材数组知识点(注意:这里的n可能据考试情况而定,因为数组必须有一个确定的长度,我在这里设为10)设计一函数,函数功能实现返回一个包含n个元素的数组的最大值。#include<stdio.h>voidmain(){ inta[10],i,maxi; intmax(inta[],intn); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); maxi=max(a,10); printf("输出的最大的数是:%d\n",maxi);}intmax(inta[],intn){ intmax,i; max=a[0]; for(i=1;i<n;i++) if(a[i]>max) max=a[i]; returnmax;}设计一函数,函数功能实现返回一个包含n个元素的数组的最小值。#include<stdio.h>voidmain(){ inta[10],i,mini; intmin(inta[],intn); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); mini=min(a,10); printf("输出的最大的数是:%d\n",mini);}intmin(inta[],intn){ intmin,i; min=a[0]; for(i=1;i<n;i++) if(a[i]<min) min=a[i]; returnmin;}设计一函数,函数功能实现返回一个包含n个元素的数组的所有元素和。#include<stdio.h>voidmain(){ inta[10],i,total; intsum(inta[],intn); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); total=sum(a,10); printf("所有的元素的和是:%d\n",total);}intsum(inta[],intn){ intsum=0,i; for(i=0;i<n;i++) sum+=a[i]; returnsum;}设计一函数,函数功能实现返回一个包含n个元素的数组的所有元素的平均值。#include<stdio.h>voidmain(){ inta[10],i; floataverage; floataver(inta[],intn); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); average=aver(a,10); printf("所有的元素的平均值是:%.2f\n",average);}floataver(inta[],intn){ inti; floatsum=0,aver; for(i=0;i<n;i++) sum+=a[i]; aver=sum/n; returnaver;}设计一函数,函数功能实现对一个包含n个元素的数组按升序排序(选择排序)。#include<stdio.h>voidmain(){ inti,a[10]; voidmin(inta[],intn); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); min(a,10); printf("升序排序:"); for(i=0;i<10;i++) printf("%d",a[i]); printf("\n");}voidmin(inta[],intn){ inti,j,k,t; for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) if(a[k]>a[j]) k=j; t=a[k];a[k]=a[i];a[i]=t; }}一个包含n个元素的数组按升序排序(冒泡排序)。#include<stdio.h>voidmain(){ inti,a[10]; voidmin(inta[],intn); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); min(a,10); printf("升序排序:"); for(i=0;i<10;i++) printf("%d",a[i]); printf("\n");}voidmin(inta[],intn){ inti,j,t; for(i=0;i<n-1;i++) for(j=0;j<n-i-1;j++) if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}}设计一函数,函数功能实现统计一个数值型数组中奇数的个数n,函数返回n。#include<stdio.h>voidmain(){ inti,a[10],total; intcount(inta[]); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); total=count(a); printf("奇数的个数是:%d\n",total);}intcount(inta[10]){ inti,n=0; for(i=0;i<10;i++) if(a[i]%2==1) n++; returnn;}设计一函数,函数功能是求形参数组中偶数元素的和s,函数返回s。#include<stdio.h>voidmain(){ inti,a[10],total; intcount(inta[]); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); total=count(a); printf("偶数元素的和是:%d\n",total);}intcount(inta[10]){ inti,s=0; for(i=0;i<10;i++) if(a[i]%2==0) s+=a[i]; returns;}设计一函数,函数功能实现统计数组中小于0的元素个数n,函数返回值n。#include<stdio.h>voidmain(){ inti,a[10],total; intcount(inta[]); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); total=count(a); printf("小于零的个数是:%d\n",total);}intcount(inta[]){ inti,n=0; for(i=0;i<10;i++) if(a[i]<0) n++; returnn;}设计一函数,函数功能实现将一个十进制数转换为对应的二进制数。#include<stdio.h>voidmain(){ intm; inta[100];voidtran(intm,inta[]); printf("请输入一个十进制数:"); scanf("%d",&m); tran(m,a);}voidtran(intm,inta[]){ inti,j=0; for(i=0;m!=0;i++) { a[i]=m%2; m=m/2; j++; } printf("转化为二进制数为:"); for(i=j-1;i>=0;i--) printf("%d",a[i]); printf("\n");}设计一函数,函数功能实现将一个十进制数转换为对应的八进制数。#include<stdio.h>voidmain(){ intn,a[100]; voidbjz(intn,inta[]); printf("请输入一个十进制数:"); scanf("%d",&n); bjz(n,a);}voidbjz(intn,inta[]){ inti; for(i=0;n!=0;i++) { a[i]=n%8; n=n/8; } printf("转换为八进制为:"); for(i--;i>=0;i--) printf("%d",a[i]); printf("\n");}设计一函数,函数功能实现将一个十进制数转换为对应的十六进制数。#include<stdio.h>voidmain(){ intn,a[100]; voidbjz(intn,inta[]); printf("请输入一个十进制数:"); scanf("%d",&n); bjz(n,a);}voidbjz(intn,inta[]){ inti; for(i=0;n!=0;i++) { a[i]=n%16; n=n/16; } printf("转换为十六进制为:"); for(i--;i>=0;i--) { if(a[i]>=10)printf("%c",a[i]+87); elseprintf("%d",a[i]); } printf("\n");}设计一函数,函数功能实现将形参数组中的元素按绝对值从小到大排序。#include<stdio.h>voidmain(){ inti,a[10]; voidmin(inta[],intn); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); min(a,10); printf("升序排序:"); for(i=0;i<10;i++) printf("%d",a[i]); printf("\n");}voidmin(inta[],intn){ inti,j,k,t,leap=0; for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) { if(a[k]<0){a[k]=-a[k];leap=1;} if(a[j]<0){a[j]=-a[j];leap=2;} if(a[k]>a[j])k=j; if(leap==2)a[j]=-a[j]; } if(leap==1)a[i]=-a[i];if(k!=i) {t=a[k];a[k]=a[i];a[i]=t;} }}设计一函数,函数功能实现将形参数组中的元素的奇数位从小到大排序。#include<stdio.h>voidmain(){ inti,a[10]; voidmin(inta[],intn); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); min(a,10); printf("升序排序:"); for(i=1;i<10;i+=2) printf("%d",a[i]); printf("\n");}voidmin(inta[],intn){ inti,j,k,t; for(i=1;i<n-1;i+=2) { k=i; for(j=i+2;j<n;j+=2) if(a[k]>a[j]) k=j; if(k!=i){t=a[k];a[k]=a[i];a[i]=t;} }}设计一函数,函数功能实现将形参数组中的元素的偶数位从大到小排序。#include<stdio.h>voidmain(){ inti,a[10]; voidmin(inta[],intn); printf("请输入十个数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); min(a,10); printf("降序排序:"); for(i=0;i<10;i+=2) printf("%d",a[i]); printf("\n");}voidmin(inta[],intn){ inti,j,k,t; for(i=0;i<n-1;i+=2) { k=i; for(j=i+2;j<n;j+=2) if(a[k]<a[j]) k=j; if(k!=i){t=a[k];a[k]=a[i];a[i]=t;} }}设计一函数,函数功能查找整型形参数组中有无整数n,如果有函数返回值1,没有返回值0。#include<stdio.h>voidmain(){ inta[10],i,leap,n; intjudge(inta[],intn); printf("请输入数组元素:"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("请输入整数n:"); scanf("%d",&n); leap=judge(a,n); if(leap==1)printf("数组中有整数%d\n",n); elseprintf("数组中无整数%d\n",n);}intjudge(inta[],intn){ intleap,i; for(i=0;i<10;i++) if(a[i]==n) break; if(i==10)leap=0; elseleap=1; returnleap;}设计一函数,函数功能实现交换两个数的值。#include<stdio.h>voidmain(){ inti,a[2]; voidexchange(inta[]); printf("请输入两个整数:"); for(i=0;i<2;i++) scanf("%d",&a[i]); exchange(a); printf("交换后的数是:");for(i=0;i<2;i++) printf("%d",a[i]); printf("\n");}voidexchange(inta[]){ intt; t=a[0]; a[0]=a[1]; a[1]=t;}四、对应教材字符串知识点1.设计一函数,函数功能实现判断一个字符串是否是回文,如果是回文返回值1,否则返回值0。#include<stdio.h>#include<string.h>voidmain(){ charstr[100]; intleap; inthuiwen(charstr[]); printf("请输入一个字符串:"); gets(str);leap=huiwen(str); if(leap)printf("这是回文\n"); elseprintf("这不是回文\n");}inthuiwen(charstr[]){ intk,j,i,leap; k=strlen(str); for(i=0,j=k-1;i<k/2;i++,j--) if(str[i]!=str[j]) break; if(i==k/2)leap=1; elseleap=0; returnleap;}设计一函数,函数功能实现将给定的字符串逆序转换。#include<stdio.h>#include<string.h>voidmain(){ charstr[100]; voidchange(charstr[]); printf("请输入一个字符串:"); gets(str);change(str); printf("逆序转换:");puts(str);}voidchange(charstr[]){ intk,j,i; chart; k=strlen(str); for(i=0,j=k-1;i<k/2;i++,j--) { t=str[i]; str[i]=str[j]; str[j]=t; }}设计一函数,函数功能实现将给定的字符串2连接字符串1的后面。#include<stdio.h>#include<string.h>voidmain(){ charstr1[100],str2[20]; voidchange(charstr1[],charstr2[]); printf("请输入一个字符串:"); gets(str1); printf("请输入一个字符串:"); g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春光华学院《传播学教程》2025-2026学年期末试卷
- 东城品牌认证评价通则编制说明
- 长春中医药大学《不动产估价》2025-2026学年期末试卷
- 2024河南省建筑安全员知识题库附答案
- 2024河南省建筑安全员C证(专职安全员)考试题库
- 四边形及多边形课件2025-2026学年人教版八年级数学下册
- 2024年共建共享和美乡村作文500字
- 如何制作油漆施工方案(3篇)
- 小型农场营销方案(3篇)
- 惊喜式营销方案(3篇)
- 深基坑开挖施工应急预案方案
- 四川党政领导干部政治理论水平考试综合能力测试题及答案
- 华电人才测评题库及答案
- DB33∕T 2476-2022 长期护理保障失能等级评估规范
- 2025安徽阜阳烟草专卖局招聘6人易考易错模拟试题(共500题)试卷后附参考答案
- 邮局一点一策方案
- 北京市自来水集团2026年校园招聘考试参考试题及答案解析
- 煤矿安全生产标准化管理体系基本要求及评分方法
- 培训创业知识的软件课件
- 2025橇装式危险化学品存储柜安全技术要求
- 影视编剧基础格式与写作规范
评论
0/150
提交评论