收藏 分销(赏)

c语言模拟编程题汇总(含答案).doc

上传人:天**** 文档编号:4374208 上传时间:2024-09-14 格式:DOC 页数:14 大小:48KB 下载积分:8 金币
下载 相关 举报
c语言模拟编程题汇总(含答案).doc_第1页
第1页 / 共14页
c语言模拟编程题汇总(含答案).doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
一、在指定得C文件内编写程序。程序得功能就是:从键盘输入10个同学得成绩,按降序输出成绩。(输入输出数据格式均为整型) 按指定格式输入输出 例如: 输入:63 72 56 98 66 83 68 40 95 78 输出:排序结果为:98 95 83 78 72 68 66 63 56 40 #include <stdio、h> void main { int a[10],i,j,t; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<9;i++) for(j=0;j<9i;j++) if(a[j]<a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } for(i=0;i<10;i++) printf("%d ",a[i]); } 二、在指定得C文件内编写程序。程序得功能就是:从键盘上循环输入某课程得平时、实习、测验与期末成绩,按10%,20%,20%,50%得比例计算总评成绩。(输出宽度为5,小数点保留2位) 按指定格式输入输出 例如: 输入:86 78 85 90 输出: sum=86、20 #include "stdio、h" void main {int a[4],i; float sum=0、0; for(i=0;i<4;i++) scanf("%d",&a[i]); sum=0、1*a[0]+0、2*a[1]+0、2*a[2]+0、5*a[3]; printf("sum=%5、2f",sum); } 三、编写函数fun:求1~n得累加与,并在main函数中输出。 按指定格式输出 输入:100 输出:sum=5050 #include<stdio、h> long int fun(int n) { int i,sum=0; for(i=1;i<=n;i++) sum+=i; return(sum); } void main { int i; printf("please input a number:"); scanf("%d",&i); printf("sum=%ld\n",fun(i)); } 四、给定程序中,程序得功能就是:结构数组中存有三人得姓名与年龄,以下程序输出三人中最年长者得姓名与年龄,请填空。 例如输出:zhangping  20 #include<stdio、h> struct man { char name[20]; int age; }person[]={"liming",18,"wanghua",19,"zhangping",20}; void main { struct man *p,*q; int old=0; /****************************/ p=person; /****************************/ for(;p<person+3;p++) /****************************/ if(old<p>age) { q=p;old=p>age;} /****************************/ printf("%s %d\n",q>name,q>age); /****************************/ } 五、在指定得C文件内编写程序。程序得功能就是:从键盘输入10个同学得成绩,输出低于平均分得成绩,找出最高分并输出,找出最低分并输出。(输入输出数据格式均为整型) 按指定格式输入输出 例如: 输入:63 72 56 98 66 83 68 40 95 78 输出:低于平均分得成绩:63 56 66 68 40 输出:max=98,min=40 #include <stdio、h> void main { int a[10],i,max,min; float sum=0、0,ave; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) sum+=a[i]; ave=sum/10; min=a[0]; max=a[0]; for(i=0;i<10;i++) { if(min>a[i]) min=a[i]; if(max<a[i]) max=a[i]; } printf("低于平均分得成绩:"); for(i=0;i<10;i++) if(a[i]<ave) printf("%d ",a[i]); printf("\nmax=%d,min=%d",max,min); } 六、在指定得C文件内编写程序。程序得功能就是:从键盘上给一个5*5整型数组输入值,找出对角线上其值最得元素。 按指定格式输入输出 例如:      1  2  3  4  5      2  4  6  8  10       3  6  9  12 15      4  8  12 16 26      5  10 15 20 25 输出:max=25 #include <stdio、h> void main { int a[5][5],i,j,max; for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&a[i][j]); max=a[0][0]; for(i=0;i<5;i++) if(max<a[i][i]) max=a[i][i]; for(i=0;i<5;i++) if(max<a[i][4i]) max=a[i][4i]; printf("max=%d",max); } 七、编写函数fun:从键盘输入一个大于3得整数,调用函数fun判断其就是否素数,然后在main函数中输出相应得结论信息。 说明:素数就是仅能被1与自身整除得数 输入:7 输出:7 is a prime、 输入:8 输出:8 is not a prime、 #include <stdio、h> int fun(int n) { /**********Program**********/ int i,flag; if(n<2) flag=0; else for(i=2,flag=1;i<=n/2&&flag;i++) if(n%i==0) flag=0; return(flag); /********** End **********/ } main { int m,flag; printf("input an integer:"); scanf("%d",&m); flag=fun(m); if(flag) printf("%d is a prime、\n",m); else printf("%d is not a prime、\n",m); } 八、给定程序中,程序得功能就是:统计子串sub在母串中出现得次数,请填空。 例如输入:abcabsdefabc           abc 输出:2 #include<stdio、h> #include<string、h> int count(char *p,char *q) { int m,n,k,num=0; for(m=0;p[m];m++) for(n=m,k=0;q[k]==p[n];k++,n++) if(q[k+1]=='\0') { num++;break; } return num; } void main { char s[80],sub[80]; gets(s); gets(sub); printf("%d\n",count(s,sub)); } 九、编写函数fun:程序得功能就是:调用函数fun从字符串s中删除指定得字符c。然后在main函数中输出删除指定字符后得字符串。 例如:从指定得字符串中"turbo c and borland c++ "中删除指定得字符'a' 输出:str=turbo c nd borlnd c++  #include <stdio、h> fun(char s[],char c) {/**********Program**********/ int i,j; for(i=j=0;s[i]!='\0';i++) if(s[i]!=c) s[j++]=s[i]; s[j]='\0'; /********** End **********/ } main {static char str[]="turbo c and borland c++"; char c='a'; fun(str,c); printf("str=%s\n",str); } 十、给定程序中,程序得功能就是:计算一个英文句子中最长单词得长度(字母个数)max。假设该英文句子中只含有字母与空格,在空格之间连续得字母串称为单词,句子以'、'结束,请填空。 本例输出:max=5 #include<stdio、h> main { static char s[]={"you make me happy when days are grey、"},*t; int max=0,len=0; t=s; while(*t!='、') { while(((*t<='Z')&&(*t>='A'))||((*t<='z')&&(*t>='a'))) { len++; t++; } if(max<len) max=len; len=0; t++; } printf("max=%d",max); } 十一、在指定得C文件内编写程序。程序得功能就是:输入2个字符串,输出2个字符串中较短串得长度。 按指定格式输入输出 例如: 输入:hello       abcdefg 输出:5 #include <stdio、h> #include <string、h> void main { char a[999],b[999]; gets(a); gets(b); if(strlen(a)<strlen(b)) printf("%d",strlen(a)); else printf("%d",strlen(b)); } 十二、给定程序中,程序得功能就是:将给定得字符串、整数、浮点数写入文件f1、txt中,再用字符方式从此文本文件中逐个读入并显示在屏幕上请填空。 (正确答案未知) #include<stdio、h> void main { char s[10]="Hello!"; int a=12345; double f=98、76; FILE *fp; char ch; /***************************************/ fp=&ch; /***************************************/ fprintf(fp,"%s%d%f",s,a,f); fclose(fp); fp=fopen("f1、txt;","r"); printf("\nThe result:"); /***************************************/ while(!feof(fp)) /***************************************/ { ch=fgetc(fp); (3) } /***************************************/ putchar('\n'); fclose(fp); } 十三、给定程序中,程序得功能就是:比较两个字符串就是否相等,若相等则返回1,否则返回0,请填空并将程序补充完整。 例如输入:abcdef           abcdef 输出:两个字符串相等 输入:abcdefefg       abcdef 输出:两个字符串不相等 #include<stdio、h> #include<string、h> int fun(char *s,char *t) { int m=0; while(*(s+m)==*(t+m)&&*(s+m)!='\0') m++; return(m==strlen(s)&&m==strlen(t)); } void main { /******************************/ char a[999],b[999]; int t; gets(a); gets(b); t=fun(a,b); if(t) printf("两个字符串相等"); else printf("两个字符串不相等"); /******************************/ } 十四、程序得功能就是:反向输出一个链表,请填空。(答案未知) 例如输入:10 20 30 40 50 输出:50 40 30 20 10 #include<stdio、h> struct node { int data; struct node *next; }; void main { struct node *ptr,*head,*tail; int num,i; /**************************************************/ tail=___(1)___; /**************************************************/ tail>next=NULL; ptr=tail; printf("\nplease input 5 data:\n"); for(i=0;i<=4;i++) { scanf("%d",&num); ptr>data=num; head=(struct node *)malloc(sizeof(struct node)); /**************************************************/ head>next=(2); /**************************************************/ ptr=head; } /**************************************************/ ptr=___(3)___; /**************************************************/ while(ptr!=NULL) { printf("%d ",ptr>data); ptr=ptr>next; } } 十五、编写函数fun:从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小得数,并在main函数中输出。 例如输入:63 72 56 98 66 83 68 40 95 78 输出:40 #include "stdio、h" int fun(int x[],int n) { /**********Program**********/ int min=x[0],i; for(i=1;i<n;i++) if(x[i]<min) min=x[i]; return(min); /********** End **********/ } main { int a[10],i,min; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); min=fun(a,10); printf("%d\n",min); } 十六、程序得功能就是:从键盘输入姓名,存入文件data02、txt中。如果文件该姓名已存在, 则显示文件已存在得相应信息;再次输入其她姓名,若文件中没有该姓名,则将其存入文件中,请填空。 (答案未知) #include<stdio、h> #include<stdlib、h> #include<string、h> void main { FILE *fp; int flag=0; char name[20],data[20]; /*******************************************/ if((fp=fopen("data02、txt",___(1)___))=NULL) /*******************************************/ { printf("Cannot open file、\n"); exit(0); } do { printf("Enter name:"); /*******************************************/ ___(2)___; /*******************************************/ if(strlen(name)==0) break; else strcat(name,"\n"); rewind(fp); flag=1; while(flag&&((fgets(data,20,fp)!=NULL))) if(strcmp(data,name)==0) flag=0; if(flag) /*******************************************/ ___(3)___; /*******************************************/ else printf("\tThis name has been existed!\n"); }while(ferror(fp)==0); fclose(fp); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服