C语言题库编程河南工业大学河工大c语言期末

C语言题库编程河南工业大学河工大c语言期末
C语言题库编程河南工业大学河工大c语言期末

C语言题库(编程)河南工业大学河工大c语言期末考试题库

二、编程题

1.有一函数:当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1。

编一程序,输入x的值,输出y的值。

#include<stdio.h>

void main()

{

int x,y;

printf("请输入x:");

scanf("%d",&x);

if(x<0)

y=-1;

else if(x=0)

y=0;

else

y=1;

printf("y=%d",y);

}

2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。#include<stdio.h>

void main()

{int a,b,c,temp=0;

printf("please input a,b,c: ");

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

if(a<b) {temp=a;a=b;b=temp;}

if(a<c){temp=a;a=c;c=temp;}

if(b<c){temp=b;b=c;c=temp;}

printf("从大到小为:%d,%d,%d\n",a,b,c);

}

3.有三个整数a,b,c,由键盘输入,输出其中最大者。

void main()

{

int a,b,c,max;

printf("输入三个数字:\n");

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

if(a>b&&a>c)

max=a;

if(b>a&&b>c)

max=b;

if(c>a&&c>b)

max=c;

printf("最大值是: %d\n",max);

}

4.编程求圆面积、圆周长。要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。

#include<stdio.h>

#define pi 3.1416

main()

{

float r,l,s;

printf("请输入半径:\n");

scanf("%f",&r);

l=2*pi*r;

s=pi*r*r;

printf("l=%7.2f\ns=%7.2f\n",l,s);

}

5. 【有点难】有分段函数:当x<-10时,y=|x|+5;当-10≤x≤10时,y=4x-8;当x>10时,y=sqrt(x)。

编一程序,输入x的值,输出y的值。

6.编写程序,判断某一年是否是闰年。(闰年的条件是:能被4整除,但是不能被100整除,或者可以被400整除。)

#include <stdio.h>

int main()

{

int year,leap;

scanf("%d",&year);

if (year%4==0)

{

if(year%100==0)

{

if(year%400==0)

leap=1;

else

leap=0;

}

else

leap=1;

}

else

leap=0;

if (leap)

printf("%d is ",year);

else

printf("%d is not ",year);

printf("a leap year.\n");

return 0;

}

7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。公式为c=5/9(f-32)

#include<stdio.h>

int main()

{

float f,c;

printf("输入华氏温度:\n");

scanf("%f",&f);

c=(f-32)/1.8;

printf("对应的摄氏温度是:%5.2f\n",c);

}

8.有一函数:当x<1时,y=|x|;当1<=x<10时,y=2x-1;当x>=10时,y=3x+11。

编一程序,输入x的值,输出y的值。

9.输入三个实数,将这三个数按由小到大的顺序排列,并输出这三个数。

#include<stdio.h>

void main()

{int a,b,c,temp=0;

printf("please input a,b,c: ");

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

if(a>b) {temp=a;a=b;b=temp;}

if(a>c){temp=a;a=c;c=temp;}

if(b&g

t;c){temp=b;b=c;c=temp;}

printf("从小到大为:%d,%d,%d\n",a,b,c);

}

10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后输出最后得到的字符。

#include<stdio.h>

#include<string.h>

void main()

{

cha

r a;

scanf("%c",&a);

if(islower(a))

a=a-32;

printf("%c\n",a);

}

11.编程求圆柱体积,圆柱表面积。要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。

#include <stdlib.h>

int main(int argc, char *argv[])

{

float r,h,l,s,sq,vq,vz;

float pi=3.1415926;

printf("请输入圆的半径r,圆柱高h:");

scanf("%f,%f",&r,&h);

l=2*pi*r;

s=pi*r*r;

sq=4*pi*r*r;

vq=4.0/3.0*pi*r*r;

vz=pi*r*r*h;

printf("圆周长为:l=%6.2f\n",l);

printf("圆面积为:s=%6.2f\n",s);

printf("圆球表面积为:sq=%6.2f\n",sq);

printf("圆球体积为:vq=%6.2f\n",vq);

printf("圆柱体积为:vz=%6.2f\n",vz);

system("PAUSE");

return 0;

}

12.有分段函数:当x<-5时,y=x+10; 当-5≤x≤5时,y=x^2;当x>5时,y=2x-10.

编一程序,输入x的值,输出y的值。

13.有三个整数a,b,c,由键盘输入,输出其中最小者。

#include <stdio.h>

int main()

{

int a,b,c,temp,min;

printf("请输入三个整数:");

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

temp=(a<b)? a:b;

min=(temp<c)? temp:c;

printf("三个数中最小数是%d\n",min);

return 0;

}

14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。

#include <stdio.h>

void main()

{

char c;

printf("input ch:");

c=getchar();

if( c>='A'&&c<='Z')

{

c=c+32;

printf("%c",c);

}

else printf("%c",c);

}

15.输入三角形的三边长,求三角形面积。求三角形面积的公式为

area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2

#include<stdio.h>

#include<math.h>

void main()

{

float a,b,c,s,area;

printf("依次输入a,b,c:");

scanf("%f%f%f,",&a,&b,&c); s=(float)0.5*(a+b+c);

area = (float)sqrt(s*(s-a)*(s-b)*(s-c));

printf("面积为:%7.2f",area);

}

16.编程求2!+4!+6!+8!+10!的值,并输出结果。

#include<stdio.h>

int main()

{

int n=1,sum=0,j,m=1,i;

for(i=1;i<=5;i++){

m=1;

for(j=1;j<=2*i;j++)

m=m*j;

sum=sum+m;

}

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

return 0;

}

17.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前

一天剩下的一半零一个。

到第10天早上想吃时就剩一个桃子了。求第一天共摘了多少个桃子。

#include<stdio.h>

void main()

{

int day; static x1=1;

day=10;

while(day>0)

{

x1=(x1+1)*2;

day--;

}

printf("桃子总数=%d\n",x1);

18.输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

#include<stdio.h>

int main()

{

int i,j,k,n;

printf("水仙花数是");

for(n=100;n<1000;n++)

{

i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%d ",n);

}

printf("\n");

return 0;

}

19.编程求1~100之间的所有素数,并输出结果。

#include <stdio.h>

int main(void)

{

int a[100],i,j;

for (i = 0; i<100; i++) a[i]=i+1;

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

for (j=i+1; j<100; j++)

if (a[i]&&a[j]%a[i]==0)

a[j]=0;

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

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

return 0;

}

20.编程求1!+3!+5!+7!+9!的值,并输出结果。#include<stdio.h>

int main()

{

int n=1,sum=0,j,m=1,i;

for(i=1;i<=5;i++){

m=1;

for(j=1;j<=2*i-1;j++)

sum=sum+m;

}

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

return 0;

}

21.用pi/4≈1-1/3+1/5-1/7+...公式求pi的近似值的绝,直到某一项对值小于10的-6次方为止。

#include<stdio.h>

#include<math.h>

int main()

{

int sign=1;

double pi=0.0,n=1.0,term=1.0;

while(fabs(term)>=1e-6)

{pi=pi+term;

n=n+2;

sign=-sign;

term=sign/n;

}pi=pi*4;

printf("pi=%10.8f\n",pi);

}

22.一个球从100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米?

#include "stdio.h"

#include "stdio.h"

main()

{

float sn=100.0,hn=sn/2;

int n;

for(n=2;n<=10;n++)

{

sn=sn+2*hn;/*第n次落地时共经过的米数*/

hn=hn/2; /*第n次反跳高度*/

}

printf("the total of road is %f\n",sn);

getch();

}

23.输入两个正整数m和n,求其最大公约数和最小公倍数。

#include <stdio.h>

int main()

{

int p,r,n,m,temp;

printf("请输入两个正整数n,m:");

scanf("%d%d,",&n,&m);

if (n<m)

{

temp=n;

n=m;

m=temp;

}

p=n*m;

while(m!=0)

{

r=n%m;

n=m;

m=r;

}

printf("它们的最大公约数为:%d\n",n);

printf("它们的最小公约数为:%d\n",p/n); return 0;

}

24.利用循环,编程求1!+2!+3!+…+10!的值,并输出结果。

main()

{

int i,j,n,sum=0;

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

{

n=1;

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

n*=j;

sum+=n;

}

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

}

25.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13......,求出这个数列前20项之和。

#include<stdio.h>

main()

{ int i,x,y,a;

float sum=0;

x=2;

y=1;

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

{

sum+=(float)(x)/y;

// printf("%d/%d\n",x,y);

a=x;

x=x+y;

y=a;

}

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

}

26.求Fibonacci数列前40个数。这个数列有以下特点:第1和第2个数为1,从第3个数开始,该数是其前面两个数之和。

#include<stdio.h>

#define N 4

long fibonacci(int n)

{

if (0==n||1==n) return 1;

else

return fibonacci(n-1)+fibonacci(n-2);

}

int main(void)

{

int i;

printf("Fibonacci数列的前40项\n");

for (i=0; i<40;)

{

printf("%-10ld",fibonacci(i++));

if(i%N==0) printf("\n");

}

printf("\n");

return 0;

}

27.一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。编程求10

00以内所有完数。

#include<stdio.h>

void main()

{

int i,j;

int sum;

for(i=2;i<1000;i++)

{

sum=0;

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

if(i%j==0)

sum=sum+j;

if(sum==i)

printf("%d是完数\n",sum);

}

}

28.求S=a+aa+aaa+...+aa...a(n个a)之值。其中a是一个数字,n代表a的位数。例如:2+22+222+2222+22222(此时n为5),n由键盘输入。

#include <stdio.h>

int main()

{

int a,n,i=1,sn=0,tn=0;

printf("a,n=:");

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

while(i<=n)

{tn=tn+a;

哈工大c语言 练习题

求用户输入得两个数得商,程序运行时,以如下格式输入数据: Input twointegers:42↙ 请改正程序中得错误,使它能得出正确得结果。 #include<stdio、h> main() { inta, b, c; printf("Input two integers:"); scanf("%d,%d",&a, &b); c= a\b; printf("Thequotient ofaandbis:%d", c); } #include〈stdio.h> int main() { ?inta,b,c; printf("Inputtwointegers:"); scanf ("%d%d",&a,&b); ?c=a/b; printf(”The quotient of a and b is:%d\n”,c); ?return 0; } 使用const常量定义圆周率pi=3、14159,编程从键盘输入圆得半径r,计算并输出圆得周长与面积。输出得数据保留两位小数点。输入格式要求:”%lf" 提示信息:”Input r:” 输出格式要求: "printf WITHOUT width or precision specifications:\n" "circumference = %f, area= %f\n”"printf WITHwidth and precision specifications:\n" "circumference=%7、2f, area = %7。2f\n” 程序运行示例如下: Input r:5。3 printf WITHOUT width or precision specifications: circumference =33、300854,are a=88.247263 printf WITHwidthand precision specifications: circumference = 33。30, area = 88、25 #include〈stdio。h> int main() { const double PI=3.14159; double r; printf(”Inputr:"); scanf("%lf”, &r); printf("printf WITHOUT width orprecision specification s:\n"); printf("circumference = %f, area= %f\n",2*PI*r,PI*r*r); printf("printf WITHwidth and precisionspecifications:\n”); ?printf("circumference=%7.2f, area =%7、2f\n",2*PI*r,PI*r*r); return 0; } 写一个程序,将接收得华氏温度转换为对应得摄氏温度。程序应显示如下得提示信息: Please inputfahr: 然后输入一个十进制数并回车,然后程序以合适得消息形式输出转换后得华氏温度。程序使用如下得公式完成转换:摄氏温度= 5.0 *(华氏温度–32.0)/ 9.0 输入格式要求:"%lf" 提示信息:"Pleaseinput fahr: ” 输出格式要求:"Thecelsis: %.2f" #include <stdio。h〉 #include<stdlib.h> int main() { doublef; double c; printf(”Please input fahr: "); scanf("%lf",&f); c=5、0*(f-32.0)/9.0; printf("Thecels is: %、2f”,c);

北京理工大学网络教室C语言编程题库及答案(绝对经典)

北京理工大学网络教室C语言编程题库及答案(绝对经典)

1.Hello world. 输入:无 输出:Hello world. 程序: #include int main() { printf("Hello world.\n"); return 0; } 2.Welcome to Beijing. 程序: #include int main() { printf("Welcome\n"); printf("to\n"); printf("Beijing.\n"); return 0; } 3. 求A+B 输入:整数1 整数2

输出:整数1+整数2=和 程序: #include int main() { int a,b; scanf("%d",&a); scanf("%d",&b); printf("%d+%d=%d\n",a,b,a+b); return 0; } 4. 求 x 的 3次方 输入:一个整数。 输出:该整数的 3 次方值。 程序: #include int main() { int x; scanf("%d",&x); printf("%d\n",x*x*x); return 0; } 5. 学习打印你的第一个图形

编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。 程序: #include int main() { printf(" *\n"); printf(" ***\n"); printf(" *****\n"); printf("*******\n"); return 0; } 6. 一年级的算术题 输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:分别输出按照整型数据进行 +、-、*、/、* 之后的运行结果。 程序: #include int main() { int a,b; scanf("%d %d",&a,&b); printf("%d+%d=%d\n",a,b,a+b); printf("%d-%d=%d\n",a,b,a-b);

哈工大C语言课程设计

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程设计说明书(论文) 课程名称:C语言课程设计 设计题目:音乐程序与波特图 院系:航天学院控制科学与工程系 班级: 设计者: 学号: 指导教师: 设计时间: 哈尔滨工业大学教务处 哈尔滨工业大学课程设计任务书

题目一 1.1题目详细描述: 播放音乐程序,实现了自选音乐曲目和直接使用键盘弹奏,而且可以在曲目播放结束后循环选择乐曲。 1.2程序设计思路及流程图: 1.3 #include #include #include #include #include #include #define N1 16 #define N2 8 #define N4 4 #define N8 2 #define N16 1 #define END 0 void playmusic(int n,int *c); void typemusic(); enum NOTES{ C10=131,D10=147,E10=165,F10=175,G10=196,A10=220,B10=247,

C0=262,D0=296,E0=330,F0=349,G0=392,A0=440,B0=494, C1=523,D1=587,E1=659,F1=698,G1=784,A1=880,B1=988, C2=1047,D2=1175,E2=1319,F2=1397,G2=1568,A2=1760,B2=1976,S=10 }; typedef enum NOTES SONG; SONG song1[]={C0,N4+N2,E0,N4,G0,N2,G0,N2,A0,N1,G0,N1,E0,N4+N2, C0,N4,G0,N1/3,G0,N1/3,G0,N1/3,E0,N1,C0,N1,G10,N1/3,G10,N1/3, G10,N1/3,G10,N1/3,G10,N1/3,G10,N1/3,C0,N1,END,END}; SONG song2[]={A0,N2,B0,N2,C1,N1+N2,B0,N2,C1,N1,E1,N1,B0,N1+N1,S,N1,E0,N1, A0,N1+N2,G0,N2,A0,N1,C1,N1,G0,N1+N1,S,N1,E0,N2,E0,N2,F0, N1+N2,E0,N2,F0,N1,C0,N1,E0,N1+N1,S,N1,C1,N2,C1,N2,B0,N1+N2,370, N2,F0,N1,B0,N1,B0,N1+N2,S,N1,A0,N2,B0,N2,C1,N1+N2,B0,N2,C1,N1, E1,N1,B0,N1+N2,END,END}; int main() { int m,n,c=1; char b='y'; while(b=='y') { printf("Hello,what do you want to do by this program?\n"); printf("1.Listen to music.-------Press 1\n"); printf("2.Play music by yourself.-------Press 2\n"); scanf("%d",&m); while(m!=1&&m!=2&&m!=3) /*选择方式*/ { printf("You typed wrong!Do not push me around.:(\n"); scanf("%d",&m); } if(m==1) { printf("I have two musics,choose one!(Press 1/2)\n"); scanf("%d",&n); while(n!=1&&n!=2) { printf("You typed wrong!Do not push me around.:(\n"); scanf("%d",&n); } playmusic(n,&c); } else if(m==2) { typemusic(); } getchar(); printf("Do you want to continue?(y/n)\n"); scanf("%c",&b);

哈工大C语言实验题

Q308.(10分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w /(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当t<18 时,为低体重; 当18≤t<25 时,为正常体重; 当25≤t<27 时,为超重体重; 当t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当t<18 时,输出:"Lower weight!\n" 当18≤t<25 时,输出:"Standard weight!\n"

当25≤t<27 时,输出:"Higher weight!\n" 当t≥27 时,输出:"Too fat!\n" #include #include main() { float t,w,h; printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w); t = w/(h*h); if(t<18) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standard weight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n");

哈工大c语言 练习题

求用户输入的两个数的商,程序运行时,以如下格式输入数据: Input two integers:4 2↙ 请改正程序中的错误,使它能得出正确的结果。 #include <> main() { int a, b, c; printf("Input two integers:"); scanf("%d,%d", &a, &b); c = a\b; 、 printf("The quotient of a and b is :%d", c); } # include <> int main () { int a,b,c; printf ("Input two integers:"); scanf ("%d %d",&a,&b); c=a/b; printf ("The quotient of a and b is :%d\n",c); > return 0; } 使用const常量定义圆周率pi=,编程从键盘输入圆的半径r,计算并输出圆的周长和面积。输出的数据保留两位小数点。 输入格式要求:"%lf" 提示信息:"Input r:" 输出格式要求: "printf WITHOUT width or precision specifications:\n" "circumference = %f, area = %f\n" "printf WITH width and precision specifications:\n" ~ "circumference = %, area = %\n" 程序运行示例如下: Input r:printf WITHOUT width or precision specifications: circumference = , area = printf WITH width and precision specifications: circumference = , area = #include <> int main() ~ { const double PI=; double r; printf("Input r:"); scanf("%lf", &r); printf("printf WITHOUT width or precision specifications:\n"); printf("circumference = %f, area = %f\n",2*PI*r,PI*r*r); printf("printf WITH width and precision specifications:\n"); printf("circumference = %, area = %\n",2*PI*r,PI*r*r); return 0; | } 写一个程序,将接收的华氏温度转换为对应的摄氏温度。程序应显示如下的提示信息: Please input fahr: 然后输入一个十进制数并回车,然后程序以合适的消息形式输出转换后的华氏温度。程序使用如下的公式完成转换:摄氏温度= *(华氏温度–)/ 输入格式要求:"%lf" 提示信息:"Please input fahr: " 输出格式要求:"The cels is: %.2f" #include <> | #include <> int main() { double f; double c;

北京工业大学C语言作业3-分支

1. 计算个人所得税 1.1. 题目要求 输入一个职工的月薪salary,输出应交的个人所得税tax(保留2位小数)。tax = rate *(salary-850) 当 salary <= 850 时,rate = 0; 当 850 < salary <= 1350 时,rate =0.0 5; 当 1350 < salary <= 2850 时,rate = 0.10; 当 2850 < salary <= 5850 时,rate = 0.15; 当 5850 < salary 时,rate = 0.20; 1.2. 测试结果(输入结束回车符用<回车>表示) (1)输入:800<回车> 输出:tax=0.00 (2)输入:4010<回车> 输出:tax=474.00 (3)输入:2850<回车> 输出:tax=200.00 2. 输出水果单价 2.1. 题目要求 以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤。 [1] apples [2] pears [3] oranges [4] grapes 输入水果的编号,输出该水果的单价(保留2位小数)。如果输入不正确的编号,显示单价为0。 2.2. 测试结果(输入结束回车符用<回车>表示) (1)输入:3<回车> 输出: [1] apples [2] pears [3] oranges

[4] grapes price=4.10; (2)输入:5<回车> 输出: [1] apples [2] pears [3] oranges [4] grapes price=0.00 3. 输出大小写字母 3.1. 题目要求 输入一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。 3.2. 测试结果(输入结束回车符用<回车>表示) (1)输入:F<回车> 输出:f (2)输入:y<回车> 输出:Y (3)输入:=<回车 输出:= 附加题:(选做) 4. 计算旅途时间 4.1. 题目要求 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情

北京工业大学c语言练习1

一、读程序写出运行结果: 1.若从键盘输入58,则以下程序段的输出结果是(): int main(void) { int a; scanf(“%d”,&a); if (a>50) printf(“%d”,a); if(a>40) printf(“%d”,a); if(a>30) printf(“%d”,a); return 0; } 2.下列程序运行的输出结果是(): int main(void) { char c=’b’; int k=4; switch(c) { case ‘a’: k=k+1; break; case ‘b’: k=k+2; case ‘c’: k=k+3; } printf(“%d\n”,k); return 0; } 二、编程题 1.键盘输入一个三位整数,输出该数的各位数字 本题要求编写程序,输出一个三位整数的个位数字、十位数字和百位数字的值。输入格式: 输入152。 输出格式: 按照以下格式输出:

2.将x的平方赋值给y 键盘输入x的值,计算x的平方并赋值给y,分别以“y = x ? x”和“x ? x = y”的形式输出x和y的值。 输入格式: 输入一个整数3 输出格式: 按照下列格式输出代入x=3的结果: y = x * x x * x = y 3. 本题目要求计算下列分段函数f(x)的值: 输入格式: 输入在一行中给出实数x。 输出格式: 在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。 输入样例1: 输出样例1: 4.为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦

北京工业大学c语言练习7-结构

练习7 结构 学号姓名 一、阅读程序 #include struct student{ int num; char name[10]; int computer, english, math; double average; }; void main(void) { int i, n; struct student s; printf("Input n: "); scanf("%d", &n); printf("Input the student’s number, name and course scores\n"); for(i = 1; i <= n; i++){ scanf("%d%s%d%d%d",&s.num,https://www.360docs.net/doc/5218382916.html,,&s.math,&s.english,&https://www.360docs.net/doc/5218382916.html,puter); s.average = (s.math + s.english + https://www.360docs.net/doc/5218382916.html,puter) / 3.0; printf("num:%d, name:%s, average:%.2lf\n", s.num, https://www.360docs.net/doc/5218382916.html,, s.average); } } (1)若在程序运行时输入: 1<回车> 20130101 张三 90 95 85<回车> 运行结果是: (2) 简述程序的主要功能: 二、程序填空 1. 该程序的功能是:输入某班学生的姓名及数学、英语成绩,计算每位学生的

平均分;然后输出平均分最高的学生的姓名及数学、英语成绩。 #include struct student{ char name[10]; int math,eng; double ave; }; int main(void ) { int i,n,max=0; struct student s[50]; scanf("%d",&n); for(i=0;i void main() { struct person

哈工大C语言程序设计习题ex6

习题6 6.3 阅读程序,按要求在空白处填写适当地表达式或语句,使程序完整并符合题目要求. (1)下面程序模拟了骰子地6000次投掷,用rand函数产生1~6之间地随机数face,然后统计1~6每一面出现地机会(概率)存放到数组frequency中. (2)从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素地下标位置,并输出. (3)下面程序地功能是从键盘输入一行字符,统计其中有多少单词.假设单词之间以空格分开. (4)下面地函数Squeeze(char s[],char c)地功能是删除字符串s中所出现地与变量c相同地字符. (5)下面地函数MyStrcmp()用于实现函数strcmp()地功能,将两个字符串s和t进行比较,然后将两个字符串中第一个不相同字符地ASCII码值之差作为函数值返回. 6.4 编程实现从键盘任意输入20个整数,统计非负数个数,并计算非负数之和. 6.5 从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数地位置对换后,再输出调整后地数组. 6.6 输入5×5阶地矩阵,编程实现: (1)求两条对角线上地各元素之和. (2)求两条对角线上行、列下标均为偶数地各元素之积. 6.7 编程打印如下形式地杨辉三角形. 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 6.8 编程将下列矩阵中地元素向右移动一列,最右一列移至第一列. 1 4 6 8 10 12 6.9 利用公式c ij=a ij+b ij计算m×n阶矩阵A和m×n阶矩阵B之和.已知a ij为矩阵A地元素,

b ij 为矩阵B 地元素, c ij 为矩阵C 地元素(i =1,2,…,m ;j =1,2,…,n ).*6.10 利用公式c ij =∑=n k ik a 1 *b kj 计算矩阵A 和矩阵B 之积.已知a ij 为m ×n 阶矩阵A 地元素 (i =1,2,…,m ;j =1,2,…,n ),b ij 为n ×m 阶矩阵B 地元素(i =1,2,…,n ;j =1,2,…,m ),c ij 为m ×m 阶矩阵C 地元素(i =1,2,…,m ;j =1,2,…,m ).6.11 输入一行字符,统计其中地英文字符、数字字符、空格和其他字符地个数. 6.12 编写一个函数Inverse(),实现将字符数组中地字符串逆序存放地功能. 6.13 不用函数strcat(),编程实现字符串连接函数strcat()地功能,将字符串srcStr 连接到字符串dstStr 地尾部.

大学C语言考试题库(答案)

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。 int a=10; printf("%d",a++); A、11 和 10 B、11 和 11 C、10 和 11 D、10 和 10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值

答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B 题号:45 能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++;

case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0; while(i<10) { if(i<1) continue;

北工大 c语言题库

求1 + 1/2! +....+ 1/n! #include "stdio.h" int main( ) { int ri,repeat; int i,n; double s; double fact(int n); scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&n); s=0; for(i=1;i<=n;i++) s=s+1/fact(i); printf("%0.4f\n",s); } return 0; } double fact(int n) { int i; double result; result=1; for(i=1;i<=n;i++) result=result*i; return result; } 统计一个整数中数字的个数 #include "stdio.h" int main( ) { int ri,repeat; int count; long in; int countdigit(long number, int digit); scanf("%d",&repeat); #include "stdio.h" int main( ) { int ri,repeat; int i,n,j; float s,t; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){ scanf("%d",&n); s=0; for(i=1;i<=n;i++){ t=1; for(j=1;j<=i;j++) t=t*j; s=s+1.0/t; } printf("%0.4f\n",s); } }

C语言全部考试系统题库含答案

目录

第一章 C语言基础知识 (C语言概述、算法、数据类型运算符表达式、位运算) 一、判断题(正确的填A,错误的填B) R1.在C语言中,逗号运算符的优先级最低。(A) 2.在C语言可执行程序的开始执行点是程序中第一个函数。(B) 3.“5ch”是合法的变量名。(B) 4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(A) 5.当输入数据时,必须指明变量的地址,如scanf("%f",&f) (A) N6.表达式i++与++i在任何场合功能完全相同。(B) 7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。(A) R8.C语言程序中,语句以逗号结尾。( B ) 9.在 C 程序中,APH 和aph 代表不同的变量。( A ) 10. a-=7等价于a=a-7。( A ) N11. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按原字符长从左向右全部输出。(A ) 12.如果x>y为真或ay)&&(a

大学MOOC哈工大C语言程序设计精髓第六周编程题答案

大学M O O C哈工大C语言程序设计精髓第六周 编程题答案 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出?Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 #include<> #include <> int main() { char score[100]; int flag = 0, i, s; char grade; printf("Please input score:\n"); while (1) { flag=0; scanf("%s", score); for (i = 0; i < strlen(score); i++) { if (score[i] >= '0' && score[i] <= '9') { continue;

} else { flag = 1; break; } } s = atoi(score); if (s < 0 || s > 100 || flag == 1) { printf("Input error!\n"); printf("Please input score:\n"); continue; } else{ break; } } s = atoi(score); if (s >= 90) {

大学C语言考试题库(含答案)

单项选择 ================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。 int a=10; printf("%d",a++); A、11 和 10 B、11 和 11 C、10 和 11 D、10 和 10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B 题号:45 能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0

D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } } A、死循环,不能确定次数 B、6

北京理工大学网络教室C语言编程题库及答案绝对

1.Hello world. 输入:无 输出:Hello world. 程序: #include<> int main() { printf("Hello world.\n"); return 0; } 2.Welcome to Beijing. 程序: #include <> int main() { printf("Welcome\n"); printf("to\n"); printf("Beijing.\n"); return 0; } 3. 求A+B 输入:整数1 整数2 输出:整数1+整数2=和 程序: #include<> int main() { int a,b; scanf("%d",&a); scanf("%d",&b); printf("%d+%d=%d\n",a,b,a+b); return 0; } 4. 求 x 的 3次方 输入:一个整数。 输出:该整数的 3 次方值。 程序: #include<> int main() { int x; scanf("%d",&x); printf("%d\n",x*x*x); return 0;

} 5. 学习打印你的第一个图形 编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。 程序: #include<> int main() { printf(" *\n"); printf(" ***\n"); printf(" *****\n"); printf("*******\n"); return 0; } 6. 一年级的算术题 输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:分别输出按照整型数据进行 +、-、*、/、* 之后的运行结果。 程序: #include<> int main() { int a,b; scanf("%d %d",&a,&b); printf("%d+%d=%d\n",a,b,a+b); printf("%d-%d=%d\n",a,b,a-b); printf("%d*%d=%d\n",a,b,a*b); printf("%d/%d=%d\n",a,b,a/b); printf("%d%%%d=%d\n",a,b,a%b); return 0; } 7. 求两个变量的最小值 输入:两个整型数 输出:两个整型值中的最小值 程序: #include<> int main() { int a,b; scanf("%d%d",&a,&b); printf("min=%d\n",a

哈工大C语言2015年试卷

哈工大二〇一五年春季学期 C 语言与数据结构 试 题 题号 一 二 三 四 五 六 七 八 九 十 十一 十二 总分 分数 学号 姓名 一、填空题。(每题2分,共14分) 1.列举出三种逻辑运算符_____、_____、_____。 2.多分支选择语句中switch 后面括号的表达式的值的类型应为___________。 3.以有符号的十进制整数形式输入变量a ,则该语句为______________________。 4.初始化二维数组 int a[2][3]; 则*a 表示____________________。 5.for(i=1,sum=0;i<100;i++) sum=sum+i;该语句运行结束后,sum 的值为_____。 6.C 语言规定标识符的第一个字符必须为_________或_________。 7.定义结构体变量如下:struct stu student1,*p ;则引用结构体成员num 的方法多种,请写出任意两种_______________________________ ____________________________________________________________________。 二、画出三种基本结构的流程图 (6分)

三、在二维数组中,若某一位置上的元素在该行中最小,而在该列中最大,则该元素即为该二维数组的鞍点。要求输入一个二维数组,当鞍点存在时,把鞍点找出来并输出。(10分)

四、有一个函数: 5(0)21(08)4(8)x x y x x x x

北京工业大学c语言练习3-函数1

1.输出Fibonacci 序列 1.1.题目要求 输入2 个正整数m和n(1<=m,n<=10000),输出m 和n之间所有的Fibonacci数。Fibonacci 序列(第1项起):1 1 2 3 5 8 13 21 ...... 要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。例如,fib(7)的返回值是13。 输出语句:printf("%ld ", f); 1.2.测试结果(输入结束回车符用<回车>表示) (1)输入:1 10<回车> (m=1, n=10) 输出: 1 1 2 3 5 8 (1到10之间的Fibonacci数) (2)输入:20 100<回车>(m=20, n=100) 输出:21 34 55 89 (20到100之间的Fibonacci数) (3)输入:1000 6000<回车>(m=1000, n=6000) 输出:1597 2584 4181 (1000到6000之间的Fibonacci数) 2.输出m 到n之间的所有完数 2.1.题目要求:求完数 输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有完数(完数就是因子和与它本身相等的数)。 要求定义并调用函数factorsum(number),它的功能是返回number的因子和。例如,factorsum (12)的返回值是16(1+2+3+4+6)。 输出语句:printf("%d ", i); 2.2.测试结果(输入结束回车符用<回车>表示) (1)输入:20 500<回车> 输出:28 496 (2)输入:1 100<回车> 输出:1 6 28 3.求各位数字的立方和等于它本身的数 3.1.题目要求 输入2 个正整数m和n(1<=m,n<=1000),输出m 到n之间的所有满足各位数字的立方和等于它本身的数。 要求定义并调用函数is(number)判断number的各位数字之立方和是否等于它本身。 输出语句:printf("%d ", i); 3.2.测试结果(输入结束回车符用<回车>表示,括号内是说明) (1)输入:100 400<回车> (说明:即m=100, n=400)

中国大学MOOC 哈工大 C语言程序设计精髓第六周编程题答案

6.1 下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 #include #include int main() { char score[100]; int flag = 0, i, s; char grade; printf("Please input score:\n"); while (1) { flag=0; scanf("%s", score); for (i = 0; i < strlen(score); i++) { if (score[i] >= '0' && score[i] <= '9') { continue; } else { flag = 1; break; } } s = atoi(score); if (s < 0 || s > 100 || flag == 1) { printf("Input error!\n"); printf("Please input score:\n"); continue; } else{ break; } } s = atoi(score); if (s >= 90)

grade = 'A'; } else if (s >= 80) { grade = 'B'; } else if (s >= 70) { grade = 'C'; } else if (s >= 60) { grade = 'D'; } else { grade = 'E'; } printf("grade: %c\n", grade); return 0; } 6.2 编程计算a+aa+aaa+…+aa…a(n个a)的值(4分) 题目内容: 编程计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。 #include #include int main() { int n,a,i,j; double p=0,q=0; printf("Input a,n:\n"); scanf( "%d,%d",&a,&n); for(i=1;i<=n;i++) { for(j=0,p=0;j

相关文档
最新文档