c语言编程题_c语言编程题题库

2020-02-27 其他范文 下载本文

c语言编程题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言编程题题库”。

实验2 数据类型和标准输入与输出

(1)编写程序,输入摄氏温度,转换为华氏温度。转换公式如下: 华氏度 = 32 + 摄氏度 × 1.8 #include “stdio.h” void main(){ int s;

double h;printf(“请输入摄氏度”);scanf(“%d”,&s);h=32+s*1.8;printf(“%lf”,h);}

(2)编写一个程序,输入大写字符,转换成对应的小写后输出。

#include “stdio.h” void main(){ char a,b;printf(“请输入一个大写字母”);scanf(“%c”,&b);a=b+32;printf(“%c”,a);}

升级版:

#include “stdio.h” void main(){ char a,b;printf(“请输入一个大写字母”);scanf(“%c”,&b);if(b>'Z')printf(“请重新输入”);else a=b+32;printf(“%c”,a);} 升级版:

#include “stdio.h” void main(){

char a,b1;

printf(“请输入一个字母”);scanf(“%c”,&b1);if('a'

printf(“%c”,a);

}

(3)输入一元二次方程的三个系数,计算该方程的根。

/* Note:Your choice is C IDE */ #include “stdio.h” #include void main(){ double a,b,x1,x2,d,c;printf(“请输入一元二次方程的三个系数a,b,c”);scanf(“%lf,%lf,%lf”,&a,&b,&c);d=b*b-4*a*c;x1=(-b+sqrt(d))/(2*a);x2=(-b+sqrt(d))/(2*a);printf(“第一个根是%lf,第二个根是%lf”,x1,x2);}

加强版:

#include “stdio.h” #include void main(){ double a,b,x1,x2,d,c;printf(“请输入一元二次方程的三个系数a,b,cn”);scanf(“%lf,%lf,%lf”,&a,&b,&c);

d=b*b-4*a*c;if(d

else { x1=(-b+sqrt(d))/(2*a);x2=(-b+sqrt(d))/(2*a);printf(“第一个根是%lf,第二个根是%lf”,x1,x2);} }

(4)请编一程序,用赋初值的方法使c1、c2、c3、c4、c5 五个变量的值分别 为’c’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5 分别变为’G’、’l’、’m’、’r’、’e’,并输出,分析是否符合要求。

源代码:

/* Note:Your choice is C IDE */ #include “stdio.h” void main(){ char c1,c2,c3,c4,c5;c1='c';c2='h';c3='i';c4='n';c5='a';printf(“%c%c%c%c%c” ,c1,c2,c3,c4,c5);c1=c1-28;c2=c2-28;c3=c3+4;c4=c4+4;c5=c5+4;printf(“%cn”,c1);printf(“%cn”,c2);printf(“%cn”,c3);printf(“%cn”,c4);printf(“%cn”,c5);

实验3-5 选择结构程序设计

}

3、编程判断从键盘上输入的正整数是否既是5又是7的倍数,若是,则输出yes,否则输出no

#include “stdio.h” void main(){

} int a,b;printf(“请输入一个正整数”);scanf(“%d”,&a);if(a%5==0&&a%7==0)printf(“yes”);else printf(“no”);

4、输入一个年份,判断是否是闰年?

闰年的条件

能被4整除,但不能被100整除。能被4整除,又能被400整除 #include void main(){

int a;

printf(“请输入一个年份”);

scanf(“%d”,&a);

if((a%4==0&&a%100!=0)||(a%4==0&&a%400==0))

printf(“是闰年”);

else

printf(“不是闰年”);}

5、编写一个程序,从键盘输入三个数a,b,c,编程输出最大的数和最小的数。

#include void main(){ int a,b,c,max;printf(“请输入三个数字”);scanf(“%d%d%d”,&a,&b,&c);max=(a>b?a:b);max=(max>c?max:c);printf(“%d”,max);

用?表达式计算四级成绩是否通过,大于425分则输出通过,否则输出不通过。源代码:

#include void main(){ int a;printf(“请输入四级成绩”);scanf(“%d”,&a);printf(“%s”,a>425?“通过”:“不通过”);}

2、用?表达式对输入的一个字母进行判断,如果是大写则转换为小写,如果是小写则转换为大写输出。

#include “stdio.h” void main(){ char a,b;printf(“请输入一个字母”);scanf(“%c”,&a);if(64

{b=(a

else printf(“请重新输入”);}

3、从键盘上输入x的值,按下式计算y的值。(要求用两种if结构实现,一种是串行if结构,无论什么数都必须比较三次;一种是多分枝if结构,可以减少比较次数)

x x

#include “stdio.h” void main(){ double x,y;printf(“请输入一个x”);scanf(“%lf”,&x);if(x=10)y=3*x-11;printf(“%lf”,y);}

第二种结构

#include “stdio.h” void main(){ double x,y;printf(“请输入一个x”);scanf(“%lf”,&x);if(x=10)y=3*x-11;printf(“%lf”,y);}

4、编写程序,给出一个百分制成绩,要求输出相应的等级A、B、C、D、E。90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。(要求用多分枝if结构实现)

#include “stdio.h” void main(){ int x;char y;printf(“请输入你的成绩”);scanf(“%d”,&x);if(x>90)y='A';

if(x>80&&x

if(x>70&&x60&&x

5、输入三个数,如果能构成三角形,则输出三角形的类型(钝角、锐角、直角),否则输出不能构成三角形。

#include “stdio.h” void main(){ double a,b,c;printf(“请输入三角形的三个边”);scanf(“%lf%lf%lf”,&a,&b,&c);if(a>b+c||b>a+c||c>a+c)printf(“不是三角形”);else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a)printf(“是直角三角形”);else if(a*a>b*b+c*c||b*b>a*a+c*c||c*c>b*b+c*c)printf(“是钝角三角形”);else if(a*a

printf(“是锐角三角形”);}

6、输入三个数a,b,c,要求按由小到大的顺序输出。

#include “stdio.h” void main(){

int a,b,c,t;printf(“请输入三个数”);scanf(“%d%d%d”,&a,&b,&c);

if(a>b)

{

t=a;

a=b;

b=t;

} if(a>c){t=a;a=c;c=t;} if(b>c){t=b;b=c;c=t;} printf(“%d %d %d”,a,b,c);

1、运输公司对用户计算运费。

路程(s)越远,每公里运费越低。标准如下:

s<250km

没有折扣

250≤s<500

2%折扣

500≤s<1000

5%折扣

1000≤s<2000

8%折扣

2000≤s<3000

10%折扣

3000≤s

15%折扣 设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为: f=p*w*s*(1-d)

要求分别用if else if多分支选择结构和switch多分支结构实现。

#include “stdio.h” void main(){ int p,w,s;double f;printf(“请由此输入基本运费为p,货物重为w,距离为s”);scanf(“%d %d %d”, &p,&w,&s);if(s3000)f=p*w*s*(1-0.15);

printf(“%f”,f);} 方法2

#include “stdio.h” void main(){ double p,w,d,f;int s;scanf(“%lf%lf%d”,&p,&w,&s);switch(s/250){ case 0:d=0;break;case 1:d=0.02;break;case 2: case 3:d=0.05;break;case 4: case 5: case 6: case 7:d=0.08;break;case 8: case 9: case 10: case 11:d=0.1;break;default:d=0.15;} f=p*w*s*(1-d);printf(“总运费=%f”,f);}

2、编写程序,判断一个学生成绩的R 优、良、中、差R : 假如从键盘输入的字母是‟ A‟,输出评语”You are Excellent!”;如果输入 „B‟,输出评语”You are well!”;如 果输入‟ C‟,输出评语”You are paing!”;如果输入‘ D’,输出评语“You are notpaing!“。如果输入的不是这四个字母,则出现提示“Input error!” 请编写一个程序,实现该判断功能。要求必须使用switch-case 结构实现。

#include “stdio.h” void main(){ char a;int b;printf(“请输入你成绩的等级”);scanf(“%c”,&a);

switch(a){ case 'A': printf(“You are Excellent!”);

break;case 'B': printf(“You are well!”);break;case 'C': printf(“You are paing!”);

break;case 'D': printf(“You are notpaing!”);break;default: printf(“Input error!”);break;

} }

3、编写一个简单计算器程序,输入格式为:data1 op data2。其中data1 和data2 是参加运算的两个数,op 为运算符,它的取值只能是+、-、*、/。要求必须使用switch-case 语句实现。

4、用while 完成计算自然数1-N之间的和。要求N从键盘输入,并输出结果。

#include “stdio.h” void main(){ double s=0;int n,i=0;printf(“请输入一个整数”);scanf(“%d”,&n);while(i

{s=i+s;i++;} printf(“%f”,s);}

实验6-7 循环结构程序设计

1、分别用while,do while 和for完成计算n!。要求N从键盘输入,并输出结果。

#include “stdio.h” void main(){ double s=1;int n,i=1;printf(“请输入一个整数”);scanf(“%d”,&n);while(i

{s=i*s;i++;} printf(“%f”,s);}

2、输入一个正整数n,统计不大于n值的所有偶数的和。(要求必须用do while实现)

#include “stdio.h” void main(){ int n,i=1;double s=0;printf(“请输入一个正整数”);scanf(“%d”,&n);do { s=2*i+s;i=i+2;}

while(2*i

3、计算 s=1-1/3 + 1/5-1/7+„1/(2n-1)的值并输出,(必须使用do while实现)

#include “stdio.h” void main(){ int n,i=1,t=1;double s=0;printf(“请输入一个正整数”);scanf(“%d”,&n);do { s=t*(1.0/i)+s;t=-1;i=i+2;

}

while(i

4、从键盘输入10个实型数,求其倒数的和并输出。

#include “stdio.h” void main(){ int i;double s=0,a;printf(“请输入10个正整数”);for(i=0;i

printf(“和为%lf”,s);}

5、编写程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+„前50 项之和。要求必须 使用for 语句实现。

#include “stdio.h” void main(){ int i;double s=0;

for(i=1;i

6、输入10 个整数,统计同时能被3 和7 整除的个数,结果存放在变量nCount 中,将nCount 输出。要求必须使用do-while 语句实现。do While源码:

#include “stdio.h” void main(){

int i=1,nCount=0,n;printf(“请输入10个整数”);do { scanf(“%d”,&n);if(n%3==0&&n%7==0)nCount=nCount+1;i++;} while(i

1、打印出所有的“水仙花数”,所谓“水仙花数”是指一个3 位数,其各位数字立方和等于该数本身。例如:153 是一水仙花数,因为153=1^3+5^3+3^3.#include “stdio.h” void main(){

int i,g,s,b,n=0;for(i=100;i

2、从键盘任意输入一个整数,判断它是否为素数。

#include “stdio.h” void main(){

int i,n,k=0;printf(“请输入一个整数”);scanf(“%d”,&n);for(i=2;i

printf(“%d是素数”,n);}

}

方法2;

#include “stdio.h” void main(){ int i,m;scanf(“%d”,&m);for(i=2;i

3、用循环结构程序设计方法,输出一个九九乘法表.源码:#include “stdio.h” void main(){ int i,j,s;for(i=1;i

4、从键盘输入10 个整数,统计其中正数、负数和零的个数,并在屏幕上依次输出。要求必须使用while 语句。#include “stdio.h” void main(){ int i=1,j=0,s=0,n=0,m;while(i0)j=j+1;else if(m

5、编程求1+(1+2)+..+(1+2+..+n),n 的值由键盘输入。要求使用for 语句实现

源码:

#include “stdio.h” void main(){ int i,s,t,n;s=0;t=0;scanf(“%d”,&n);for(i=1;i

实验8-9 数组的应用

(一)1、从键盘输入10 学生的成绩至数组中,将最低分和最高分的成绩输出,并输出所有成绩。

源码:

#include “stdio.h” void main(){ int i,n[10],max,min;printf(“请输入10个整数”);for(i=0;in[i])min=n[i];for(i=0;i

2、定义含有300 个元素的数组x,x[i]=10* tan((3.0+I*I)/ 5)(i=0,1,2..299),计算该一维数组的平均值,并求出此数组中大于平均值的数据之和,最后输出此数组的平均值及大于平均值的数据之和。

#include “stdio.h” #include “math.h” void main(){ int i;double s,n,a,x[300];for(i=0;ia)n=n+x[i];} printf(“a=%f,n=%f”,a,n);}

3、定义含有300 个元素的数组y,y[i]=10* cos((3.0+i*i)/ 5)(i=0,1,2,…,299),计算一维数组的最大值及其所在位置(即下标),并输出此数组的最大值及其所在位置。

#include “stdio.h” #include “math.h” void main(){ int i,max_i;double y[300],max;for(i=0;i

4、编写程序求出555555 的约数中最大的三位数是多少。要求必须使用do-while 语句实现。

源码:

#include “stdio.h” #include “math.h” void main(){ int n=555555,i=999;do { if(n%i==0)break;else i--;} while(i>=100);printf(“555555的最大三位数的公约数是i=%d”,i);}}

5、输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出54321。注:1 不得使用数组;2 必须使用while 语句实现。

#include “stdio.h” void main(){ int n,k;printf(“请输入整数”);scanf(“%d”,&n);while(n){ k=n%10;printf(“%d”,k);n=n/10;} }

1、从键盘输入10个整数,用起泡法进行排序。

源码:

#include “stdio.h” void main(){ int a[10],i,j,t;for(i=0;ia[i+1]){ t=a[i];a[i]=a[i+1];a[i+1]=t;} for(i=0;i

2、有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。二维数组如下:

4 34 5 37 3 12 6 5 6 5 7 源码:

#include “stdio.h” void main(){ int max,i,j,im,jm;int a[3][4]={{4,4,34,5},{37,3,12,6},{5,6,5,7}};max=a[0][0];im=0;jm=0;for(i=0;i

3、将一个二维数组行和列元素互换,存到另一个二维数组中并输出这两个矩阵。

原始矩阵如下:

0

源码:

#include “stdio.h” void main(){ int a[3][4]={{1,4,5,6},{3,2,7,8},{7,9,0,3}};int i,j,b[4][3];for(i=0;i

for(i=0;i

printf(“n”);} }

4、从键盘输入一个整数,把转换得到的二进制位存放在一维数组中并输出。

源码:

#include “stdio.h” void main(){ int n,i,j,a[100],t;scanf(“%d”,&n);t=n;i=0;while(t){ a[i]=t%2;t=t/2;i++;} for(j=i-1;j>=0;j--){ printf(“%d”,a[j]);} }

5、把200以内的所有素数存放到一维数组中并输出。

源码:

#include “stdio.h” void main(){ int i,m,j,k;int a[200];k=0;for(m=199;m>1;m--){ for(i=2;i

if(m%i==0)break;} if(i>=m)

a[k++]=m;} for(j=k-1;j>=0;j--)

printf(“%d ”,a[j]);}

1、从键盘输入长方形的长和宽,计算长方形的面积并输出用*表示的长方形图形。要求面积计算和图形输出分别用函数实现。

源码:

/* Note:Your choice is C IDE */ #include “stdio.h” int mianji(int w,int l)//此处的int与return有关,需要携带一个整数返回 { //形参的作用相当于定制式客户提供的尺寸等信息 int area;//函数体内部可以自由使用形参 area=w*l;return area;}

//函数的定义只是一个静态功能,此时不会做任何工作,具体使用要看调用者的函数调用

void printstar(int w,int l){ //void表示函数执行完毕不需要带任何结果回来,不能出现在等号后面,只能单独一条调用语句

int i,j;for(i=1;i

void main(){int len,wid,area;scanf(“%d%d”,&wid,&len);//mianji(wid,len);//函数名(实参1,实参2)的方式使用函数,就叫函数调用,此时形参分配空间;

//实参的值拷贝给形参;执行函数体语句;最后用return携带结果返回。area=mianji(wid,len);//把return返回的结果赋值给area变量。只要函数有返回结果,它可以当作表达式来使用, //可以出现在等号后面任何相容的表达式中。printf(“area=%d”,area);printf(“n”);printstar(wid,len);//单独一条调用语句,void函数的标准使用格式 }

2、从键盘输入长方体的长和宽和高,计算长方体的表面积和体积,并在main函数中输出。要求面积计算和体积计算分别用函数实现。

源码:

#include “stdio.h” int bmj(int w,int l,int h)//此处的int与return有关,需要携带一个整数返回

{

//形参的作用相当于定制式客户提供的尺寸等信息 int area;//函数体内部可以自由使用形参 area=(w*l+w*h+l*h)*2;return area;}

int tj(int w,int l,int h)

{//形参中的每个变量要分别进行类型定义

int tj=w*l*h;return tj;}

void main(){int len,wid,high,area,vol;scanf(“%d%d%d”,&wid,&len,&high);area=bmj(wid,len,high);vol=tj(wid,len,high);printf(“area=%d,vol=%d”,area,vol);}

3、编写一个具有两个整形形参的函数max,返回较大值。在main函数中接受从键盘输入的两个整数,输出较大者。

源码:

#include “stdio.h” int maxli(int x,int y){ int max;if(x>y)max=x;else max=y;return max;

} void main(){ int max=1,a,b;printf(“请输入两个整数”);scanf(“%d%d”,&a,&b);max=maxli(a,b);printf(“最大数为%d”,max);}

4、编写一个无参且无返回值的函数,用来打印出所有的“水仙花数”,在、main函数中调用该函数。

所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如:153是一水仙花数,因为153=1^3+5^3+3^3.源码:#include “stdio.h” void shuixian(){

int i,g,s,b,n=0;for(i=100;i

}

5、通过调用自定义函数来完成求圆柱体的体积(v=3.14*r2*h),要求圆柱体的高和底半径在主函数中做输入,圆柱体的体积在主函数中做输出。

源码:

#include “stdio.h” double yuanzhutiji(int r,int h){ double v;

v=3.14*r*r*h;return v;

} void main(){ int r,h;double v;printf(“请输入圆柱体的半径和高”);scanf(“%d%d”,&r,&h);v=yuanzhutiji(r,h);printf(“圆柱的体积是%f”,v);

}

6、通过函数调用求华氏温度,要求在主函数中输入摄氏温度,在主函数中输出华氏温度。(公式f=5/9*c+32)

源码:

#include “stdio.h” double huashidu(int c)

{

double h;h=32+c*1.8;return h;} void main(){ int c;double h;printf(“请输入摄氏度”);scanf(“%d”,&c);h=huashidu(c);printf(“%d摄氏度变成华氏度是%f”,c,h);}

4、有两个数组a和b,各有10个元素,将它们对应地逐个相比(即a[0]与b[0]比,a[1]与b[1]比……)。如果a数组中的元素大于b数组中的相应元素的数目多于b数组中元素大于a数组中相应元素的数目(例如,a[i]>b[i]6次,b[i]>a[i]3次,其中i每次为不同的值),则认为a数组大于b数组,并分别统计出两个数组相应元素大于、等于、小于的次数。要求用函数实现比较并返回结果。源码:

#include “stdio.h” int great(int a,int b){ int f;if(a>b)f=1;else if(a==b)f=0;else f=-1;return f;} void main(){ int a[10],b[10],i,j=0,k=0,m=0;printf(“请输入第一个数组10个元素n”);for(i=0;im)printf(“数组a大于数组b”);else printf(“数组b大于数组a”);}

界面截图:

5、用选择法对数组中10个整数按由小到大排序。要求主函数输入10个元素存入数组,调用排序函数实现数组元素的排序。

源码:

#include void main(){ int s[10];for(i=0;i

printf(“%d,s[i]”);sort(s);printf(“函数调用后数组元素值”); for(i=0;i

void sort(int a[10])

{int i,j,t,b;

for(i=0;i

{if(a[n]>a[j])b=j;}} t=a[i];a[i]=a[b];a[b]=t;

}

1、编一函数,统计一维整数组小于数组元素平均值的元素的个数;主函数定义x[50],x[i]=600*cos(i*0.35), 调用函数,输出小于数组元素平均值的元素的个数。(注:此程序不允许使用全局变量,不允许在avernum函数中输出)

源码:

#include “stdio.h” #include “math.h” void main(){int avernum(double a[],int n);double x[50];int i,num;for(i=0;i

int avernum(double a[],int n){int i,count;double sum,ave;sum=0;for(i=0;i

、求一维整型数组中的最小元素。要求:主函数定义数组y[50],y[j]=600*sin(j*0.16)(j=0,1,2……49),调用自定义函数qmin求出最小元素,最后在主函数中输出结果。

源码:

#include “stdio.h” #include “math.h” void main(){ double qmin(double a[],int n);

double y[50],min;

int j;

for(j=0;j

y[j]=600*sin(j*0.16);

min=qmin(y,50);

printf(“最小值为%f”,min);}

double qmin(double a[],int n){int i;double min;min=a[0];for(i=0;ia[i])min=a[i];} return min;}

3、求一维整型数组中正数的和。要求:主函数定义数组a[10],从键盘输入十个数,调用自定义函数求出正数的和,然后在主函数中输出结果

源码:

#include “stdio.h” #include “math.h” void main(){ double qsum(double a[],int n);

double a[10],sum;

int j;

for(j=0;j

scanf(“%lf”,&a[j]);

sum=qsum(a,10);

printf(“正整数之和是%f”,sum);}

double qsum(double a[],int n){ int i;

double sum;

sum=0;

for(i=0;i

{ if(a[i]>0)sum+=a[i];

} return sum;}

4、编写程序求下式的值:S=2^1*1!+2^2*2!+……+2^n*n!(n

源码:

5、编程验证歌德巴赫猜想:一个大于等于4的偶数都是两个素数之和,要求用函数实现(选作)

源码:

界面截图:

6、用户从键盘输入一个1—99999之间的数,编写一个函数判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。(选作)

源码:

1、编一通用函数avermax,计算含有n个数据的一维数组的平均值,并求出此数组中大于平均值的数据之和;主函数中定义含有300个元素的数组x,x[I]=10* cos((3.0+I*I)/ 5)(I=0,1,2……299),调用上述函数,输出此数组的平均值及大于平均值的数据之和。

(注:此程序不允许使用全局变量,不允许在avermax函数中输出)源码:

#include #include double avermax(double a[],int n,double *m){ int i;double s,aver;aver=0;for(i=0;iaver)s+=a[i];} *m=s;return aver;} void main(){ double x[300],s,a;int i;for(i=0;i

2、编一通用函数avernum,计算含有n个数据的一维数组的平均值,并统计此数组中大于平均值的数据的个数;

主函数中定义含有100个元素的数组x,x[I]=200*cos(I*0.875)(I=0,1,2……99),调用上述函数,输出此数组的平均值及大于平均值的数据的个数。

(注:此程序不允许使用全局变量,不允许在avernum函数中输出)源码:

#include #include double avernum(double a[],int n,double *m){ int i;double s,aver;aver=0;for(i=0;iaver)s=s+1;} *m=s;return aver;} void main(){ double x[100],s,a;int i;for(i=0;i

3、编一通用函数maxsub,求出含有n个数据的一维数组的最大值及其所在位置(即下标);主函数中定义含有300个元素的数组x,x[I]=10* cos((3.0+I*I)/ 5)(I=0,1,2……299),调用上述函数,输出此数组的最大值及其所在位置。

(注:此程序不允许使用全局变量,不允许在avermax函数中输出)源码:

#include #include double maxsub(double a[],int n,double *m){ int i,t,max=a[0];for(i=0;imax){max=a[i];t=i;} } *m=t;return max;} void main(){ double x[300],s,a;int i;for(i=0;i

4、编写函数,实现任何整形数组元素的逆置。在主函数调用该函数,完成10个数组元素的逆置。

源码:#include “stdio.h” void inverse(int a[],int n){ int i,j,m,t;j=n-1;m=(n-1)/2;for(i=0;i

界面截图:

5、编写程序求下式的值:S=2^1*1!+2^2*2!+……+2^n*n!(n

源码:

#include “stdio.h” int nj(int n){ int i=1,s=1;while(i

界面截图:

1、复制下面的程序并运行,观察程序运行的结果,并分析原因(注意程序第2行中有些单引号之间是空格)。

/*

c8-1.c

字符数组的输出*/ #include “stdio.h” void main(){ char a[10]={ ’I’, ’ ’, ’a’, ’m’, ’ ’, ’a’, ’ ’, ’b’, ’o’, ’y’};printf(“%sn”,a);} 将字符数组a的大小改为11,再运行程序,并将结果与修改前的结果进行比较,分析原因。

界面截图:

结果不一致的原因:%s只针对字符串有效,以’’结束的串或字符数组

2、用gets函数从键盘接收一行字符串,自定义函数strlength计算字符串的长度。源码: #include #include int strlength(char t[]);void main(){

char s[80];

int len;

gets(s);

len=strlength(s);

printf(“len=%d”,len);} int strlength(char t[]){ int i;i=0;while(t[i]!=''){i++;}

return i;

}

界面截图:

调用字符串库函数完成同样的功能。源码:

#include #include void main(){

char s[80];

int len;

gets(s);

len=strleng(s);

printf(“len=%d”,len);}

界面截图:

3、按照要求编写程序:有一行文字,不超过80个字符,分别统计出其中英文大写字母、小写字母、数字、空格、及其它字符的个数。源码:

#include #include void count(char *t);void main(){

char s[80];

gets(s);

count(s);}

void count(char *t){

int u,l,b,d,q;

u=l=b=d=q=0;

while(*t!='')

{

if(*t>='A'&&*t

else if(*t>='a'&&*t

else if(*t>='0'&&*t

else if(*t==' ')b++;

else q++;

t++;

}

printf(“大写字母个数是%dn”, u);

printf(“小写字母个数是%dn”,l);

printf(“数字个数是%dn”, d);

printf(“空格个数是%dn”, b);

printf(“其他个数是%dn”,q);}

4、自己定义一个函数strconnect,实现字符串的连接。在主函数中进行测试。

源码:

#include #include void stringcopy(char *s,char *t);void main(){

char s[80],t[40];

gets(s);

gets(t);

stringcopy(s,t);

printf(“链接后的字符串为%s”,s);}

void stringcopy(char *s,char *t){

while(*s++!='');

s--;

while(*t='/0')

*s++=*t++;

*s='';}

5、编写一个函数,把字符串的所有小写字符转换成大写字符。并在主函数中测试。源码:

界面截图:

6、自己定义一个函数stringcopy,实现字符串的复制。在主函数中进行测试。源码:

界面截图:

调用字符串库函数完成同样的功能。

源码:

界面截图:

1、用结构体数组建立一张班级成绩单,包括每个学生的姓名、英语、数学、语文三门课程的成绩。用函数编程实现下列功能:

(1)输入每个学生的各项信息。

函数源码:

#include #include typedef struct grade {char name[20];int yw;int sx;int yy;} student;void input(student s[],int n){ int i;for(i=0;i

}

void print(student s[],int n){ int i;printf(“t姓名t语文t数学t英语n”);for(i=0;i

printf(“please input sx”);

printf(“please input yy”);printf(“n”);scanf(“%d”,&s[i].yw);scanf(“%d”,&s[i].sx);scanf(“%d”,&s[i].yy);}

void main(){

界面截图:

(2)输出每个学生的各项信息。函数源码:

界面截图:

(3)修改指定学生的指定数据项的内容。函数源码:

界面截图:

(4)统计每个同学的平均成绩(保留2位小数)。函数源码:

界面截图:

(5)输出各位同学的学号、姓名、三门课程的总成绩和平均成绩。函数源码:

界面截图:

student stu[5];int i;input(stu,5);print(stu,5);

《c语言编程题.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
c语言编程题
点击下载文档
相关专题 c语言编程题题库 语言 c语言编程题题库 语言
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文