收藏 分销(赏)

万维考试系统-C语言题库-含题目-程序设计题导出-113道.doc

上传人:天**** 文档编号:4373925 上传时间:2024-09-14 格式:DOC 页数:90 大小:242KB 下载积分:18 金币
下载 相关 举报
万维考试系统-C语言题库-含题目-程序设计题导出-113道.doc_第1页
第1页 / 共90页
万维考试系统-C语言题库-含题目-程序设计题导出-113道.doc_第2页
第2页 / 共90页


点击查看更多>>
资源描述
一、程序设计   共113题 (共计1130分) 第1题 (10、0分)  题号:390 /*--—------—---—--—---—------————----------—--—--- 【程序设计】 -----——-—-----—--------—-------—---—------———--——- 功能:编写函数求1~100中奇数得平方与。     结果为166650、000000. ——--—---———-—----————--------——--—----——---—--—-*/ #include 〈stdio、h> void wwjt();  float sum(int n) {   /**********Program**********/   /********** End **********/ } 答案:--———--------—--—-—--- float s=0;  int i; for(i=1;i〈=n;i=i+2) s=s+i*i; return(s); -—--—-—---—---—----——- 第2题 (10、0分)  题号:320 /*--—--------——-—-—-—----—---—-—-—--——-—----—-—-—— 【程序设计】 —-----------—-—---————------—---——-—----——----—--- 功能:在键盘上输入一个3行3列矩阵得各个元素得值(值    为整数),然后输出主对角线元素得积,并在fun()    函数中输出. -----———-——-—-—--—————-----———-—---—-----—-—--—-*/ #include 〈stdio、h> void  wwjt();  main() { int i,j,s,a[3][3];; for(i=0;i<3;i++) {  for(j=0;j<3;j++)   scanf("%d",&a[i][j]);  } s=fun(a); printf(”Sum=%d\n",s);  wwjt(); } int fun(int a[3][3]) { /**********Program**********/ /********** End  **********/ } 答案:—--——---—------——---—- int sum; int i,j; sum=1; for(i=0;i〈3;i++) sum=sum*a[i][i]; return sum; ------—-————-——--—-—-— 第3题 (10、0分)  题号:324 /*——----——---—--—-—---—---------——--—----—-—-—--—— 【程序设计】 —----——--——--------——-——-—----—-———---—-—--———---- 功能:能计算从1开始到n得自然数中偶数得平方得与,n由     键盘输入,并在main()函数中输出。(n就是偶数) ---—--—--—--—--—-------—-------—-—-—---—--—-----*/ #include 〈stdio、h〉 void wwjt(); int fun(int n) { /**********Program**********/ /********** End  **********/ } main()   {   int m; printf("Enter m: ");  scanf(”%d", &m);  printf("\nThe result is %d\n”, fun(m)); wwjt(); }   答案:----—---------——---——— int sum,i; sum =0; for(i=2;i〈=n;i=i+2) { sum=sum+i*i;} return(sum); --————-—-—--—--——---—- 第4题 (10、0分)  题号:345 /*---—-—---—---—---—-——--—-——-------———---—-—————— 【程序设计】 —--——---———------——--—-----—---—--—-----———-—-—--- 功能:将两个两位数得正整数a、b合并形成一个整数放在c   中。合并得方式就是:将a数得十位与个位数依次放在 c数得千位与十位上, b数得十位与个位数依次放在      c数得个位与百位上.    例如:当a=45,b=12。调用该函数后,c=4251。  -—-—-————---————-—--——---—-------———-—----—————-*/ #include <stdio、h> void wwjt(); void fun(int a, int b, long *c)   {   /**********Program**********/ /**********  End **********/ } main()    { int a,b;  long c;     printf("input a, b:"); scanf("%d%d", &a, &b);     fun(a, b, &c);  printf(”The result is: %ld\n", c); wwjt();  }   答案:---————------———-——-—- *c=a/10*1000+a%10*10+b/10+b%10*100; ---———---——------—---- 第5题 (10、0分)  题号:366 /*—--—-———-—-----——---—-—--—--------—-----———---—- 【程序设计】 功能:求一组数中大于平均值得数得个数。 例如:给定得一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。 -—-—----—-——-—-—--—-——-—----—---—-—-——--—-—-———-*/  #include 〈stdio、h> void  wwjt(); int fun(int a[],int n) { /**********Program**********/ /**********  End **********/ } main() { int a[10]={1,3,6,9,4,23,35,67,12,88};   int y;  y=fun(a,10);   printf(”y=%d\n”,y);  wwjt(); } 答案:—--—---—--—---——-----— int i,k=0;   float s=0,ave; for(i=0;i<n;i++)    s+=a[i];  ave=s/n; printf("%f  ",ave);    for(i=0;i〈n;i++) if(a[i]〉ave)k++;    return k; -------------—--—-—--- 第6题 (10、0分) 题号:355 /*----——------—-----—----—-————-———-----—-—---—--- 【程序设计】 ----—-—------—-——-—————-—-----—----—---—-—-—-----— 功能:对长度为8个字符得字符串,将8个字符按降序排列。 例如:原来得字符串为CEAedcab,排序后输出为edcbaECA。 —-——-——--—--—---—--—-—-———-——----————---—-——--——*/ #include〈stdio、h> #include〈ctype、h〉 #include<conio、h〉 void  wwjt(); void  fun(char *s,int num) {  /**********Program**********/ /********** End **********/ } main() {  char s[10];  printf("输入8个字符得字符串:”);  gets(s); fun(s,8);   printf(”\n%s”,s); wwjt(); } 答案:---—--—----—---------—  int i,j; char t;  for(i=0;i<num;i++) for(j=i+1;j〈num;j++)       if(s[i]<s[j])     { t=s[i];s[i]=s[j];s[j]=t;} ——----——--———--———---- 第7题 (10、0分) 题号:44 /*-——--—--———-—-——-—-—--—---—-———---—--——--——---—- 【程序设计】 --—-----—--------—-—---—---—-—-—-——----——------—-- 功能:求出二维数组周边元素之与,作为函数值返回。二   维数组得值在主函数中赋予。 ---——-————--———————-—--—-————---—-------——-—-—--—*/ #define M 4 #define N 5 #include <stdio、h> void wwjt(); int fun(int a[M][N]) { /**********Program**********/ /********** End **********/ } main() { int a[M][N]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8}}; int y; y=fun(a); printf(”s=%d\n",y); wwjt(); } 答案:---——---——--—--——-—--- int s=0;  int i,j; for(i=0;i<M;i++) s=s+a[i][0]+a[i][N-1];  for(j=1;j<N-1;j++)   s=s+a[0][j]+a[M-1][j];    return s; ——-—---—-—----——-—-——— 第8题 (10、0分)  题号:339 /*-—--————---—-———-——----——--——---——-——--—-——----- 【程序设计】 -—--—---—--——----——------—-———-—----—--------—-—-- 功能:判断整数x就是否就是同构数。若就是同构数,函数返回1;   否则返回0.x得值由主函数从键盘读入,要求不大     于100. 说明:所谓“同构数”就是指这样得数,这个数出现在它得     平方数得右边。 例如:输入整数5,5得平方数就是25,5就是25中右侧得数,所 以5就是同构数。 ——---—-------------——-—--—-—----—-—------—--————*/ #include <stdio、h> void wwjt();  int fun(int x) { /**********Program**********/  /**********  End **********/ } main() { int x,y; printf("\nPlease enter a integer numbers:");   scanf("%d",&x); if(x>100)   {   printf(”data error!\n");   exit(0); } y=fun(x); if(y)    printf("%d YES\n",x); else    printf("%d NO\n",x);   wwjt(); } 答案:-—----—-———--—--————-—   int k; k=x*x; if((k%10==x)||(k%100==x))   return 1; else    return 0; —-—------—-—----—-—--- 第9题 (10、0分)  题号:383 /*——-—----——---—--—-———--—-—-———-—-—-—--—--—-—-—-- 【程序设计】 -—-----——-—------—--—--—-------—----—--—---——---—- 功能:用函数实现字符串得复制, 不允许用strcpy()函数。 -——-—----—-—--———-—-----—-----—-—----—--——-———-—*/ #include <stdio、h> void wwjt(); void copy(char str1[],char str2[]) { /**********Program**********/  /********** End **********/ } main() { void copy(); char c1[40],c2[40]; gets(c1);   copy(c1,c2);  puts(c2);   wwjt(); } 答案:-—-----—--———-———-——-- int i;  for(i=0;str1[i]!='\0';i++) str2[i]=str1[i];  str2[i]=’\0'; ——-—--—---——-—--—----— 第10题 (10、0分)  题号:310 /*--——-—----------—-—-—--—-—---------——-----———--- 【程序设计】 -------——----—-------—---—-—-———--—-—--—-—--—-——-— 功能:计算并输出给定整数n得所有因子之与(不包括1与   自身)。 注意:n得值不大于1000. 例如:n得值为855时,应输出704。 --————-----------—--—-——--—--——--——--——-—--——-——*/ #include <stdio、h> void wwjt(); int fun(int n) { /**********Program**********/ /********** End **********/ } main() { printf(”s=%d\n",fun(855));   wwjt(); } 答案:--—-——----—-——-—-—---— int s=0,i; for(i=2;i<n;i++) if(n%i==0)s=s+i;   return s; -——--———-—-——--——--—-— 第11题 (10、0分) 题号:354 /*-—------—-——---—-——-—-——------—-------——-—---—-- 【程序设计】 —---—-----—-—----——-—--——-—-—-—-—--—--——-—-———-—-- 功能:求小于lim得所有素数并放在aa数组中,该函数返回       所求出素数得个数。 ——---—---——-—---————----—-—-—---——--—--—---—----*/ #include〈stdio、h> #include<conio、h〉 #define MAX 100 void  wwjt();  int fun(int lim,int aa[MAX]) { /**********Program**********/ /**********  End **********/ } main() { int limit,i,sum; int aa[MAX]; printf("Please input ainteger:"); scanf(”%d”,&limit);   sum=fun(limit,aa); for(i=0;i〈sum;i++){     if(i%10==0&&i!=0) printf("\n");   printf("%5d",aa[i]); } wwjt(); } 答案:-———--—-——--—-—--—-—-- int n=0;  int i,j; for(i=2;i<=lim;i++)    {for(j=2;j〈i;j++)   if(i%j==0) break;    if(j==i) aa[n++]=i;      }    return n; ——-—-——--—-—--——---—-— 第12题 (10、0分)  题号:341 /*-——--—-----—-—--—---———-———------——----—--—-——-- 【程序设计】 ---—--—--————-——--—------———-——-—————-——---——----- 功能:删除所有值为y得元素。数组元素中得值与y得值由    主函数通过键盘输入。 --—-——------—--—-—-——--—-----------——-—--—---—--*/ #include 〈stdio、h> #include〈conio、h> #include<stdio、h> #define M 20 void wwjt(); void fun(int bb[],int *n,int y) { /**********Program**********/ /********** End  **********/ } main() { int aa[M],n,y,k;  printf("\nPlease enter n:");scanf("%d”,&n); printf("\nEnter %d positive number:\n",n);   for(k=0;k<n;k++) scanf("%d",&aa[k]);   printf(”The original data is:\n"); for(k=0;k<n;k++) printf("%5d",aa[k]); printf("\nEnter a number to deletede:");scanf(”%d”,&y); fun(aa,&n,y);   printf(”The data after deleted %d:\n",y); for(k=0;k<n;k++) printf("%4d",aa[k]);   printf(”\n"); wwjt(); } 答案:--——----—-----—-—-——-- int i,j; for(i=0;i〈*n;)   {    if(bb[i]==y)     {for(j=i;j<*n;j++)       bb[j]=bb[j+1];        *n=*n-1;     }  else       i++; } --—-——-———----—-————-- 第13题 (10、0分)  题号:317 /*---——--—-----—-—-——---—-----——-————--———------—- 【程序设计】 -——--—--——————--——-—-—-———-—-—-----—--—----—--—--- 功能:求出N×M整型数组得最大元素及其所在得行坐标及      列坐标(如果最大元素不唯一,选择位置在最前面     得一个). 例如:输入得数组为:           1   2  3        4  15  6          12  18  9            10  11  2 求出得最大数为18,行坐标为2,列坐标为1。 —--—-——--—-—-------------——--—————-—---——-----——*/ #define N 4 #define M 3 #include <stdio、h〉 void wwjt(); int Row,Col; int fun(int array[N][M]) {  /**********Program**********/  /**********  End  **********/ } main() {  int a[N][M],i,j,max;  printf(”input a array:");   for(i=0;i〈N;i++) for(j=0;j<M;j++) scanf(”%d",&a[i][j]);    for(i=0;i〈N;i++)   {  for(j=0;j<M;j++)      printf(”%d",a[i][j]); printf("\n"); } max=fun(a);  printf(”max=%d,row=%d,col=%d”,max,Row,Col);  wwjt(); } 答案:—--—--———-—------——--- int max,i,j; max=array [0][0]; Row=0; Col=0; for(i=0;i<N;i++) {for(j=0;j〈M;j++)   if(max<array [i][j])   {max=array [i][j];   Row=i; Col=j;} } return(max); —-—-——--—--------————— 第14题 (10、0分)  题号:392 /*--———-—--—---——-——-——---—---—--—---—-——--——-—--— 【程序设计】 --—---——-—-—--—-—-----—-—-----—--------—---—---——- 功能:求一批数中最大值与最小值得积。 ———-——---—-----—-———-———--—————--—---———--------*/ #define N 30 #include ”stdlib、h" #include 〈stdio、h> void  wwjt(); int max_min(int a[],int n) {   /**********Program**********/ /**********  End **********/ } main() { int a[N],i,k; for(i=0;i〈N;i++)    a[i]=random(51)+10; for(i=0;i<N;i++) { printf(”%5d”,a[i]); if((i+1)%5==0) printf("\n”);   } k=max_min(a,N);   printf(”the result is:%d\n",k); wwjt(); } 答案:-—---——-——--—-—--—--—— int i,max,min; max=min=a[0];    for(i=1;i〈n;i++) if(a[i]>max) max=a[i];  else if(a[i]<min) min=a[i]; return(max*min); ---—---——--------———-- 第15题 (10、0分)  题号:501 #include 〈stdio、h〉 /*----—-—--—-----—--—--—-----—--——------—--—-———--—-—---- 【程序设计】 ——----——-——-——--—---—---—----—---—-——---—-—---—-—-—-——-—— 题目:从键盘输入一个大写字母,要求改用小写字母输出。 -——-----——-----—-—--———--—-——-——---—-----—--———-———----*/ #include <stdio、h〉 void  wwjt();  char fun(char c) {   /**********Program**********/ /********** End **********/ void  main() {   char c1, c2;  printf("Please input a char:”); c1=getchar();   printf(”%c,%d\n”,c1,c1); c2=fun(c1); printf("%c,%d\n”,c2,c2); wwjt(); } fclose(IN);  fclose(OUT); } 答案: c=c+32;   return c; 第16题 (10、0分) 题号:502 题目:用while语句求1~100得累计与。 #include 〈stdio、h> /*---——--—--------—-------———--——--—-----———------—--—-—- void wwjt(); int  fun(int n) { /**********Program**********/ /********** End  **********/ void main() {   int  sum = 0; sum=fun(100);   printf ("sum = %d\n”, sum); wwjt(); } 答案:  int i=1,sum=0;   while(i〈=n) { ﻩsum=sum+i;     i++;ﻩﻩ } return sum; 第17题 (10、0分) 题号:409 /*————-—--——--—----———--——-——---—--—-----——--—--—-------— 【程序设计】 -—---—------—-—---—-———--—-—---——-——-—--————-—-—-—----—-- 题目:输入华氏温度求摄氏温度。转换公式为 c=5/9(f—32), 输出结果取两位小数。 -——--—-—-—-----——-———-—-—----—-———-——------—-------—---*/ #include 〈stdio、h> void  wwjt(); double fun(double m) { /**********Program**********/ /**********  End  **********/ } void main() { double c,f;  printf("请输入一个华氏温度:");   scanf("%f",&f); c=fun(f);   printf("摄氏温度为:%5。2f\n",c);    wwjt(); } 答案: float n;   n=(5、0/9、0)*(m-32);     return n; 第18题 (10、0分) 题号:29 /*—------—--—--—-—-——---———-—--———-—----------——-— 【程序设计】 -—----—-—---—-—--—---—-——---——--—-------——-———--—- 功能:对任意输入得 x,用下式计算并输出 y 得值.         5   x<10    y=   0   x=10     -5     x>10 -—-—-——------—--—--—-------------—-—---------—--*/ #include〈stdio、h〉 void wwjt(); int fun(int n) {  /**********Program**********/ /**********  End **********/ } void main () {   int  x,y; printf("enter x:");   scanf(”%d",&x);  y=fun(x);     printf("x=%d,y=%d\n",x,y);  wwjt(); } 答案: int m;     if(n〈10)       m=5;   else      if(n==10) m=0;    else m=—5; return m; 或 int m;   if(n>=10)     if(n>10)  m=—5;   else m=0;   else m=5; return m; 第19题 (10、0分)  题号:382 /*—---—---—---—-———-———--—----———-——-----—--——-——— 【程序设计】 —---—-—-—-—-----——---——-—-—-—--—-—-—---——--——-—--- 功能:给定n个数据, 求最小值出现得位置(如果最小值      出现多次,求出第一次出现得位置即可)。 -—-—-—--——--—-———---—--—-———---—--—-—--————---—-*/ #include <stdio、h> void wwjt(); int station(int s[],int n) {  /**********Program**********/ /********** End **********/ } main() {   int a[100],n,i,t; scanf(”%d”,&n);  for(i=0;i〈n;i++) scanf("%d”,&a[i]);   t=station(a,n);   printf(”the min_value position is:%d\n”,t); wwjt(); } 答案:——--—-—------———-——-—- int i,k;  k=0; for(i=1;i<n;i++)   if(s[i]〈s[k]) k=i; return(k); -—--——---—-—----——---- 第20题 (10、0分) 题号:367 /*————-——--—-—————--—--—--————-—--—---—-----—----- 【程序设计】 -----—---—-————-----——----—--——--—-—---——-----—-—— 功能:找出一批正整数中得最大得偶数。 ---—--————-—-—-—-—--—--——-—--—--——-—----—-------*/ #include <stdio、h〉 void  wwjt(); int fun(int a[],int n) {   /**********Program**********/ /********** End  **********/ } main() {  int a[]={1,2,9,24,35,18},k; k=fun(a,6);   printf(”max=%d\n",k);  wwjt(); } 答案:-—--—---—-—--—-—------ int i,amax=—1;    for(i=0;i<n;i++) if(a[i]%2==0)      if (a[i]〉amax) amax=a[i];      return amax; -—------—-—-—-—————--— 第21题 (10、0分) 题号:384 /*—-—-------—-—----——----—--—--——-———-—--—-———---— 【程序设计】 --—-—---—--—--———--—--—----——-------------—-—-—--- 功能:产生20个[30,120]上得随机整数放入二维数组a[5][4]    中,求每行元素得与。 -----—-—-—--—---———---—-—-—-—--———-——---—-----——*/ #include ”stdlib、h" #include <stdio、h> void wwjt(); void row_sum(int a[5][4],int b[5]) { /**********Program**********/ /********** End **********/ } main() { void row_sum(); int a[5][4],b[5],i,j; for(i=0;i<5;i++)   for(j=0;j〈4;j++)    a[i][j]=random(120—30+1)+30; for(i=0;i<5;i++)   {   for(j=0;j<4;j++)   printf("%5d”,a[i][j]);   printf("\n");   }    row_sum(a,b);   for(i=0;i〈5;i++) printf(”%6d",b[i]); printf("\n”);  wwjt(); } 答案:—------—-—-—--——
展开阅读全文

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


开通VIP      成为共赢上传

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

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服