信息与通信计算机二级省考题讲解10电信_第1页
信息与通信计算机二级省考题讲解10电信_第2页
信息与通信计算机二级省考题讲解10电信_第3页
信息与通信计算机二级省考题讲解10电信_第4页
信息与通信计算机二级省考题讲解10电信_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

修改程序cmody241.c,实现从键盘输入10个数,输出大于平均值的所有数的总和。#include<stdio.h>voidmain(){int

i,n=0;/**/floats[9],sum=1.0,aver;/**/

printf("Pleaseinputsampler:\n");

for(i=0;i<10;i++)

scanf("%f",/**/s[i]/**/);

for(i=0;i<10;i++)sum+=s[i];aver=sum/10;sum=0.0;

for(i=0;i<10;i++)

if(s[i]>aver)sum+=s[i];

printf("sum=%f\n",sum);

getch();}floats[10],sum=0,aver;&s[n++]修改程序cmody242.c,输出200以内除以3余数为2的所有自然数之和的平方根。#include<stdio.h>#include<math.h>voidmain(){doubles=0.0,y;

inti;

for(i=1;i<200;i++)if(/**/i%3=2/**/)s+=i;y=/**/sqt(s)/**/;

printf("y=%f\n",y);

getch();}i%3==2sqrt(s)修改程序cmody251.c,实现从键盘上输入一个数字a,计算sum=a+aa+aaa的值。例如:输入的数字为2,则求2+22+222的值。#include<stdio.h>#include"math.h"voidmain(){/**/inti=3,j;/**/

int

a,sum=0,t;

scanf("%d",&a);

while(i<=3){t=0;

for(j=0;j<=i-1;j++)/**/t+=pow(10,j-1)*a;/**/sum+=t;i++;}

printf("%d",sum);

getch();}inti=1,j;t+=pow(10,j)*a;修改程序cmody252.c,使函数fun(intn)(n从3开始)计算如下分数之和,例如n=8时:#include<stdio.h>/**/fun(intn)/**/{doublex=0.0;

int

i,sgn=1;

for(i=3;i<=n;i++){x+=sgn/(5+/**/3*i/**/);

sgn=sgn*(-1);}return(/**/sgn/**/);}doublefun(intn)x3.0*ivoidmain(){

clrscr();printf("fun(8)=%8.3lf\n",fun(8));

getch();}修改程序cmody261.c,实现从键盘输入两个正整数分别作为区间的上、下界。求该区间所有能被7整除的数的和。例如:输入:4,30输出:7+14+21+28=70#include<stdio.h>voidmain(){

int

i,a,b,sum=0;

scanf("%d,%d",&a,&b);

while(a>b){

printf("Data

error,pleaseinputdataagain:");

scanf("%d,%d",&a,&b);}/**/for(i=a;i<=b;i+=7)/**/{/**/if(i/7=0)/**/{sum+=i;

printf("%d+",i);}}

printf("=%d\n",sum);

getch();}for(i=a;i<=b;i++)if(i%7==0)修改程序cmody262.c,使其中函数fun(intm)能根据m元付款金额,输出应支付100元、50元、10元和1元四种纸币的最少张数组合。如:付款金额为273,应支付2张100元,1张50元,2张10元和3张1元。#include<stdio.h>voidfun(intm){intn_100,n_50,n_10,n_1;n_100=m/100;n_50=/**/m/50/**/;n_10=m%50/10;n_1=/**/m/10/**/;printf("100's=%d50's=%d10's=%d1's=%d\n",n_100,n_50,n_10,n_1);}m%100/50m%10voidmain(){

intm;

printf("Input

m(m>=0):");

scanf("%d",&m);fun(/**/intm/**/);

getch();}fun(m)修改程序cmody271.c,使其输出如下图形*************************#include<stdio.h>voidmain(){int

m,n;

for(m=1;m<=5;m++)

{printf("\n");/**/for(n=1;n<=m;n++)/**/printf("");for(n=1;n<=m*2-1;n++)

printf("%c",/**/"*"/**/);}

getch();}for(n=1;n<=5-m;n++)‘*’修改程序cmody272.c,使函数turn()实现一串字符的解密,方法为将字母’k’还原成’a’,’m’还原成’c’,’o’还原成’e’,’q’还原成g’,其他字符保持不变。例如:输入加密字符串为qrpphimkl

bkso101

则解密后字符串为graphicalbase101#include<stdio.h>#include<string.h>voidmain(){charsrc[50],tag[50];voidturn();

printf("Pleaseinputastring:");

gets(src);

strcpy(tag,src);

turn(tag);

printf("\nThesourcestring:%s\n",src);

printf("\nThetargetstring:%s\n",tag);

getch();}voidturn(/**/str/**/){chartab[4][2]={{'k','a'},{'m','c'},{'o','e'},{'q','g'}};

int/**/i=1/**/,j;while(str[i]){

for(j=0;j<=3;j++){if(/**/str[i]=tab[j][0]/**/){

str[i]=tab[j][1];break;}}i++;}}voidturn(charstr[])i=0,str[i]==tab[j][0]修改程序cmody281.c,使其实现功能:输入一个字符串,依次输出其中的所有非字母字符。例如输入:;as?l%q95r/w0输出:;?%95/0#include<stdio.h>#include<string.h>voidmain(){charstr[80];charc;

inti;i=0;

printf("\nPleaseinputthestring:");

while((c=getchar())!='\n'){/**/if(!c>='A'&&c<='Z'||c>='a'&&c<='z')/**//**/str[i]=c;/**/}

str[i]='\0';

puts(str);

getch();}if(!(c>=‘A’&&c<=‘Z’||c>=‘a’&&c<=‘z’))str[i++]=c;修改程序cmody282.c,实现如下图形的输1000021000321004321054321#include<stdio.h>#defineN5voidmain(){int/**/a[N,N]/**/;

int

i,j;

for(i=0;i<N;i++){for(j=0;j<N;j++){if(/**/j>=i/**/)

a[i][j]=0;else/**/a[i][j]=i+2-j/**/;

printf("%3d",a[i][j]);}printf("\n");}

getch();}int

a[N][N];j>ia[i][j]=i-j+1填空题将程序ccon241.c填写完整,该程序统计10~99之间个位数为奇数且十位数为偶数的整数的个数。#include<stdio.h>#include<conio.h>voidmain(){

int/**//**/;

for(i=10;i<=99;i++){

sw=i/10;

gw=i%10;if(/**//**/)count++;}

printf("\nThecount=%d",count);

getch();}i,sw,gw,count=0sw%2==0&&gw%2!=0将程序ccon242.c填写完整,使其中voidtrn(char*s),实现将字符串中所有奇数位置上(注:本题将字符串的首字符称为第1位)的小写字母转换为大写英文字母(若不是英文字母则不转换)。例如:原字符串ssdax31被转换成SsDaX31#include<stdio.h>#include<conio.h>voidtrn(char*s){

inti=1,n=0;char*p=s;while(*p){if(/**//**/)*p=*p-32;/**//**/i++;}}i%2!=0&&*p>=‘a’&&*p<=‘z’p=s+(++n);将程序251.c填写完整,该程序输入一个实数,输出该数的个位数与第一位小数上的数字的乘积。例如:输入:13.56输出:15#include<stdio.h>#include<conio.h>voidmain(){int

a,b,c;/**//**/

clrscr();

printf("Pleaseinputf:");

scanf("%f",&f);a=/**//**/b=(int)((f-(int)f)*10);c=a*b;

printf("\nResult=%d",c);

getch();}floatf;(int)f%10;将程序ccon252.c填写完整,使程序输出100到999之间所有能被7整除且左右对称的数。如707就是满足条件的数。include<stdio.h>#include<conio.h>voidmain(){/**//**/

intk;

for(k=100;k<=999;k++)find(k);

getch();}voidfind(intm){int

a,b;if(/**//**/){a=m%10;/**//**/

if(a==b)printf("%d\n",m);}}voidfind(intm);m%7==0b=m/100;将程序261.c填写完整,使程序输出符合以下条件的3位整数的个数:各位数字互不相同,且各位数的和为7。例如:124就是满足上述条件的3位整数。#include<stdio.h>#include<conio.h>voidmain(){int

i,j,k,count=0;

for(i=1;i<=9;i++)

for(j=0;j<=9;j++)if(/**//**/)continue;else

for(k=0;k<=9;k++){if(/**//**/)count++;}

printf("\ncount=%d",count);

getch();}i==jk!=i&&k!=j&&i+j+k==7将程序ccon262.c填写完整,使其中的函数chg能够将1个数组的元素循环左移1个位置,第1个元素存到末尾。例如:数组元素为12345678910则该数组元素循环左移后变成为:23456789101#include<stdio.h>#include<conio.h>voidchg(/**//**/){

int

i,temp;temp=arr[0];

for(i=0;i<n-1;i++)

arr[i]=/**//**/arr[n-1]=temp;}voidmain(){

inta[10],i;

for(i=0;i<10;i++)

scanf("%d",&a[i]);chg(a,10);

for(i=0;i<10;i++)

printf("%d",a[i]);

getch();}int

arr[],intnarr[i+1];将程序ccon271.c填写完整,使程序输出如下图形。****************#include<stdio.h>#include<conio.h>voidmain(){int

i,j;i=0;

while(i<4){j=0;while(/**//**/){

printf("*");j++;}

printf("\n");i++;}

for(i=3;/**//**/;i--){j=1;

while(j<=i){

printf("*");j++;}

printf("\n");}

getch();}j<=ii>=1将程序ccon272.c填写完整,用递归算法求13+23+33+……+n3的值。#include<stdio.h>#include<conio.h>longint

fun(intn){longintk;if(/**//**/)k=1;elsek=/**//**/return(k);}voidmain(){

inti;

printf("Inputdata:");

scanf("%d",&i);

if(i<0)

printf("Inputdataereor!");else

printf("Sum=%ld\n",fun(i));

getch();}n==1n*n*n+fun(n-1);将程序ccon281.c填写完整,该程序的功能是:用插入排序法对输入的10个整数按从大到小排序,输出排序结果。例如:输入:2934841657输出:9876544321#include<stdio.h>#include<conio.h>voidmain(){

int

i,j,k,x;/**//**/

printf("Enter10numbers:");

scanf("%d",&x);a[0]=x;

for(k=1;k<=9;k++){scanf("%d",&x);

for(i=0;i<k;i++)if(a[i]<x)break;

if(i<k){

for(j=k;/**//**/;j--)

a[j]=a[j-1];}

a[i]=x;}

for(i=0;i<10;i++)

printf("%d",a[i]);

getch();}inta[10];j>i将程序ccon282.c填写完整,使其中的函数chg能够求3*3矩阵的转置矩阵。例如:矩阵123转置后变成:147456258789369#include<stdio.h>#include<conio.h>intchg(/**//**/){

int

i,j,temp;for(/**//**/)

for(j=i+1;j<3;j++){temp=array[i][j];

array[i][j]=array[j][i];/**//**/}}intarray[][3]i=0;i<3;i++array[j][i]=temp;voidmain(){

int

i,j;

intarray[3][3];

printf("Inputarray:\n");

for(i=0;i<3;i++)

for(j=0;j<3;j++)scanf("%7d",&array[i][j]);

chg(array);

printf("Reversedarray:\n");

for(i=0;i<3;i++){

for(j=0;j<3;j++)printf("%d",array[i][j]);

printf("\n");}打开程序cprog242.c,完成其中函数fun(inta[],intn),

实现将一维数组a各元素在数组中循环右移n个位置。如数组a各元素为:67890参数n=2时循环右移2个位置后,数组各元素为:90678#include<stdio.h>#include<conio.h>#defineCOL5voidfun(int

a[],intn){/**//**/}inti,b[COL];for(i=0;i<COL;i++)if(i+n<COL)b[i+n]=a[i];elseb[i+n-COL]=a[i];for(i=0;i<COL;i++)a[i]=b[i];inti,k,temp;for(k=1;k<=n;k++){temp=a[COL-1];

for(i=0;i<COL-1;i++)a[i+1]=a[i];a[0]=temp;}voidmain(){int

arra[COL]={6,7,8,9,0};

int

i,j,n;

printf("Thearrayais:\n");

for(i=0;i<COL;i++)printf("%5d",arra[i]);

printf("\n");

printf("Sitesofmoving(n>0):");

scanf("%d",&n);fun(arra,n);

printf("NowThearrayais:\n");

for(i=0;i<COL;i++)printf("%5d",arra[i]);

printf("\n");

getch();}打开程序cprog252.c,完成其中函数fun(inta[],intb[],float*f),实现如下功能:将数组a中下标为奇数且元素值个位数字为3的所有元素依次存放到数组b中;将数组a中下标为偶数的所有元素平均值存放在指针参数f所指向的变量中。#include<stdio.h>#include<conio.h>#defineN13voidfun(inta[],intb[],float*f){/**/

/**/}inti,j=0,k=0;floatsum=0;for(i=1;i<N;i+=2)if(a[i]%10==3||a[i]%10==-3)

b[j++]=a[i];for(i=0;i<N;i+=2){sum+=a[i];k++;}*f=sum/k;voidmain(){int

a[N]={40,23,33,8,32,63,2,9,16,-3,3,0,13};

int

b[N]={0};

inti;floataver;

printf("Arraya:\n");

for(i=0;i<N;i++)

printf("%d",a[i]);

printf("\n");

fun(a,b,&aver);

printf("Array

b:\n");i=0;

while(b[i])

printf("%d",b[i++]);

printf("\n");

printf("Averis:%.3f",aver);

getch();}打开程序cprog262.c,完成函数longfun(inta[],intx,intd,intn),实现如下功能:1)以参数x为首项,d为公差,产生等差数列的n项,并依次存放在数组a中。2)函数返回值为产生等差数列的n项和。#include<stdio.h>#include<conio.h>longfun(int

a[],int

x,int

d,intn){/**/

/**/}int

i,sum=0;a[0]=x;for(i=1;i<n;i++)a[i]=a[i-1]+d;for(i=0;i<n;i++)sum+=a[i];returnsum;voidmain(){

inta[50]={0},i;longsum;sum=fun(a,3,5,9);

printf("Arraya:\n");

for(i=0;i<9;i++)

printf("%d",a[i]);

printf("\n");

printf("sumis:%ld\n",sum);

g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论