语言基本编程题_第1页
语言基本编程题_第2页
语言基本编程题_第3页
语言基本编程题_第4页
语言基本编程题_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、 复习题 C程序设计编程题1.输入2个整数,求两数的平方和并输出。 #include <stdio.h> void main() intt a ,b,s; printf("please input a,b:n"); scanf("%d%d”,&a,&b); s=a*a+b*b; printf("the result is %dn",s); 2. 输入一个圆半径(r),当r>0时,计算并输出圆的面积和周长,否则,输出提示信息。#include <stdio.h> #define PI 3.14 voi

2、d main() float r ,s , l; printf("please input r:n"); scanf("%f”,&r);if (r>=0) s=pi*r*r; l=2*i*r ; printf("the area is %fn",s);printf("the circumference is %fn",l);else printf("input error!n"); 3、函数y=f(x)可表示为: 2x+1 (x<0) y= 0 (x=0) 2x-1 (x>0)

3、编程实现输入一个x值,输出y值。 #include <stdio.h>void main() int x,y;scanf(“%d”,&x);if(x<0) y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf(“%d”,y);4、编写一个程序,从4个整数中找出最小的数,并显示此数。#include <stdio.h>void main( )int a,b,c,d,t; scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d); if (a>b) t=a; a=b;

4、b=t; if (a>c) t=a; a=c; c=t; if (a>d) t=a; a=d; d=t; printf (“min = %d n”,a);5有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。#include <stdio.h>void main()int x,y;scanf("%d",&x);if (x<0) y=1;else if(x=0) y=5;else y=3;printf("x=%d,y=%dn",x,y);6从键盘输入两个数,求

5、出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数) #include <stdio.h>float max(float x,float y);void main() float a,b,m;scanf("%f,%f",&a,&b);m=max(a,b);printf("Max is %fn",m);float max(float x,float y)float temp;if (x<y) temp=x; x=y; y=temp;return(x);7、从键盘输入你和你朋友的年龄,编成判断谁的年龄最大,并打印最

6、大者的年龄。#include <stdio.h>void main()int yourAge, hisAge;printf("Please enter your age:");scanf("%d", &yourAge); /*输入你的年龄yourAge*/printf("Please enter your friend's age:");scanf("%d", &hisAge); /*输入你朋友的年龄hisAge*/if (yourAge >= hisAge) printf

7、("You are older! Your age is = %dn", yourAge); if (hisAge > yourAge)printf("Your friend is older! HisAge age is = %dn", hisAge); 8、键盘输入2个加数,再输入答案,如果正确,显示“right”,否则显示“error”#include “stdio.h”void main( )int a,b,c; printf(“please input a and bn”);scanf (%d,%d”,&a,&b); pr

8、intf(“please input the answer for a+bn”);scanf (%d”,&c); if (c=a+b) printf(“rightn”); else printf(“errorn”);9. 编一程序每个月根据每个月上网时间计算上网费用,计算方法如下: 要求当输入每月上网小时数,显示该月总的上网费用(6分)#include <stdio.h>void main() int hour; float fee; printf(“please input hour:n”); scanf(“%d”,&hour); if(hour<=10)

9、fee=30; else if(hour>=10&&hour<=50) fee=3*hour; else fee=hour*2.5; printf(“The total fee is %f”,fee);10.神州行用户无月租费,话费每分钟0.6元,全球通用户月租费50元,话费每分钟0. 4元。输入一个月的通话时间,分别计算出两种方式的费用,判断哪一种合适。 #include <stdio.h>void main() float a,x,y; printf(“n请输入您的话费:”); scanf(“%f,”,&a); x= 0.6*a; y=50+

10、0.4*a; printf (“神州行话费为: %fn”,x);printf (“全球通话费为: %fn”,y); if (x>=y) printf(“建议使用全球通”); else printf(“建议使用神州行); 11个人所得税计算,应纳税款的计算公式如下:收入税率收入<1000元部分02000元>收入>1000元的部分53000元>收入>2000元的部分106000元>收入>3000元的部分15收入>6000元的部分20输入某人的收入,计算出应纳税额及实际得到的报酬。(7分)(如需连续计算多个人的纳税情况,直到输入负数为止,程序应如

11、何改进?试写出程序)#include “stdio.h”void main() int grade; float income,tax,money; printf(“please input your incomen”);scanf (“%f”,&income); if (income<0) printf(“the input is error”); else grade=(int)income/1000; switch(grade) case 0 : tax=0;break; case 1 : tax=(income-1000)*0.05;break; case 2 : tax

12、=50+(income-2000)*0.1;break; case 3 :case 4 :case 5 : tax=150+(income-3000)*0.15;break;default: tax=600+(income-6000)*0.2; money=income-tax; printf(“n tax=%f, money=%f”,tax, money); 12.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score90,等级为A;80score<90,等级为B;70score<80,等级为C;60score<70,等级为D;score<60,等级为

13、E。 #include <stdio.h>void main()int data; char grade; printf("Please enter the score:");scanf("%d”, &data); switch(data/10) case 10: case 9 : grade=A; break; case 8: grade=B; break;case 7: grade=C; break; case 6: grade=D; break; default: grade=E; printf("the grade is %c

14、”,grade);*13. 编程设计一个简单的计算器程序。从键盘输入2个操作数,1个运算符,当运算符为加(+)、减(-)、乘(*)、除(/)时,输出计算结果 #include <stdio.h>void main() int data1, data2; /*定义两个操作符*/char op; /*定义运算符*/printf("Please enter the expression:");scanf("%d%c%d", &data1, &op, &data2); /*输入运算表达式*/switch(op) /*根据输入的

15、运算符确定要执行的运算*/ case '+': /*处理加法*/printf("%d + %d = %d n", data1, data2, data1 + data2); break;case '-': /*处理减法*/printf("%d - %d = %d n", data1, data2, data1 - data2);break;case '*': /*处理乘法*/printf("%d * %d = %d n", data1, data2, data1 * data2); br

16、eak;case '/': /*处理除法*/if (0 = data2) /*为避免出现溢出错误,检验除数是否为0*/printf("Division by zero!n");else printf("%d / %d = %d n", data1, data2, data1 / data2); break;default: printf("Unknown operator! n");14. 从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。#include <stdio.h>void ma

17、in( ) int a10, i,p=0,n=0,z=0; printf(“please input number”); for(i=0;i<10;i+)scanf(“%d,”,&ai); if (ai>0) p+;else if (ai<0) n+;else z+ printf(“正数:%5d, 负数:%5d,零:%5dn”,p,n,z);15、编程序实现求1-10之间的所有数的乘积并输出。#include <stdio.h>void main( ) int i;long sum=1; for(i=1; i<=10; i=i+1) sum=sum*

18、i; printf(“the sum of odd is :%ld”,sum);16. 从键盘上输入10个数,求其平均值。 #include <stdio.h>void main() int a10,i,s=0; float ave; for(i=0;i<10;i+)scanf(“%d”,&ai); for(i=0;i<10;i+) sum+=ai; ave=(float)sum/10;printf("ave = %fn", ave); 17、编程序实现求1-1000之间的所有奇数的和并输出。 #include <stdio.h>

19、 void main( ) int i, sum=0; for(i=1; i<1000; i=i+2) sum=sum+i; printf(“the sum of odd is :%d”,sum);18.有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13编程求这个序列的前20项之和。#include <stdio.h>void main() int i,t,n=20; float a=2,b=1,s=0;for(i=1;i<=n;i+)s=s+a/b;t=a;a=a+b;b=t; printf("sum=%6.2f",s);19.

20、用数组实现以下功能:输入5个学生成绩,而后求出这些成绩的平均值并显示出来。 #include <stdio.h>void main() int a5, s=0;int i;for(i=0;i<5;i+)scanf(“%d”,&ai);for(i=0;i<5;i+)s=s+ai;printf(“result=%f”,s/5.0);20、用循环的方法构造一个5行5列的二维数组,使主对角线上的变量为1,其它为0,并将数组中所有项按行按列显示出来。#include <stdio.h>void main() int a55,i,j, s=0;for(i=0;i

21、<5;i+)for(j=0;j<5;j+)if(i=j) aij=1;else aij=0;for(i=0;i<5;i+) for(j=0;j<5;j+)printf(“%5d”, aij); printf(“n”);21求一个3×3矩阵主对角线元素之和。从键盘输入矩阵元素的值并输出和的值.#include <stdio.h>void main() int a33,sum=0; int i,j; printf("Enter data:n"); for(i=0;i<3;i+) for(j=0;j<3;j+) scanf

22、("%d",&aij); for(i=0;i<3;i+) sum=sum+aii; printf("sum=%d",sum);22.输入n的值,n代表行数,输出如图所示的图形。 * * * * * * * * * * * * * * * * * * * * * (此图为n6时的输出结果)#include <stdio.h>void main() int i , k , n; printf("Enter number:n"); scanf("%d",&n); for (i = 1;

23、i <= n; i+) /*控制行数*/ for (k = 1; k <= i; k+) /*控制每行输出的*号个数*/ printf("*"); printf("n"); /*输出一行后换行*/ 23、从键盘输入30名学生的成绩数据,求其中的最高分、最低分和平均分。(提示:用数组存放成绩数据) #include<stdio.h> #define M 30 void main ( ) float scoreM, max , min, aver; int i ; printf(“please input score: n”); fo

24、r(i=0; i<M ; i+) scanf(“%f”, &scorei); max=score0; min=score0; aver=score0; for(i=1; i<M; i+) if (max < scorei) max= scorei; if (min>scorei) min=scorei; aver+=scorei; printf(“max=%f, min=%f,aver=%f”, max, min, aver/M);24. 从键盘输入某班学生某门课的成绩及其学号(班级人数最多40人,具体人数由键盘输入),输出该班最高分和最低分及其学生学号;并输出

25、该班该课程的总分和平均分。请编写程序。#include <stdio.h>#define ARR_SIZE 40void main() float scoreARR_SIZE, maxScore,minScore,sum;int n, i;long maxNum, minNum,numARR_SIZE;printf("Please enter total number:");scanf("%d", &n); printf("Please enter the number and score:n");for (i=0

26、; i<n; i+) scanf("%ld%f", &numi, &scorei); maxScore = score0;minScore= score0;maxNum = num0; minNum= num0; sum=score0;for (i=1; i<n; i+) if (scorei > maxScore) maxScore = scorei; maxNum = numi; else if (scorei < minScore) minScore = scorei; minNum = numi; sum=sum+scorei

27、;printf("maxScore = %.0f, maxNum = %ldn", maxScore, maxNum); printf("minScore = %.0f, minNum = %ldn", minScore, minNum);printf("sum = %.1f, average = %.1fn", sum, sum/n);25.将一个有5个元素的数组中的值(整数)按逆序重新存放。例: 原来顺序为:8、6、5、4、1,要求改为1、4、5、6、8 #define N 5#include <stdio.h>voi

28、d main() int aN,i,temp; printf(“enter array a:n”); for(i=0;i<N;i+) scanf(“%d”,&ai); for(i=0;i<N;i+) temp=ai; ai=aN-i-1; aN-i-1=temp; printf(“n Now, array a:n”); for(i=0;i<N;i+) printf(“%4d”,ai); printf(“n”); 26.从键盘上输入一个2*3的矩阵,将其转秩后形成3*2的矩阵输出。#include <stdio.h>void main() int a23,

29、b32,i,j; for(i=0;i<2;i+) for(j=0;j<3;j+) scanf(“%d”,&aij); for(i=0;i<3;i+) for(j=0;j<2;j+) bij=aji; for(i=0;i<3;i+) for(j=0;j<2;j+) printf("%5d",bij); printf("n”); 29、从键盘输入10名学生的成绩数据,按成绩从高到低的顺序排列并输出。(提示:用数组存放成绩数据)#include <stdio.h>void main() int a10; int i

30、,j,temp; printf("input score:n"); for(i=0;i<10;i+)scanf("%d",&ai); printf("n");for(i=1;i<10;i+)for(j=0;j<9;j+)if(aj<aj+1)temp=aj; aj=aj+1; aj+1=temp;for(i=0;i<10;i+) printf("%d,",ai);30. 定义一个5行3列的数组,从键盘输入各数组元素的值,计算各数组元素之和。#include <stdio.

31、h>void main( )int i, j ,a53;printf(“Enter data:n”); for(i=0;i<5;i+) for(j=0;j<3;j+) scanf(“%d”,&aij); for(i=0;i<5;i+) for(j=0;j<3;j+)sum=sum+aij; printf(“sum=%5dn”,sum);32、从键盘上输入一个4*3的整型数组,找出数组中的最小值及其在数组中的下标。#include <stdio.h> void main() int a43, i , j ,min,m,n; printf(&quo

32、t;Please enter data:"); for (i=0; i<4; i+) for (j=0; j<3; j+) scanf(“%d”,& aij); min=a00; m=0; n=0; for (i=0; i<4; i+) for (j=0; j<3; j+) if (aij<min)min= aij; m=i; n=j;printf("the min is %dn, min);printf("posion is %d %d n, m,n);33编程实现如下功能:从键盘输入一行字符,统计其中大写英文字符,小写英文

33、字符和其他字符的个数。#include <stdio.h>#include <string.h>#define ARR_SIZE 80void main()char strARR_SIZE;int len, i, letter = 0, digit = 0, space = 0, others = 0; printf("Please input a string:"); gets(str); len = strlen(str); for (i=0; i<len; i+) if (stri >= 'a' &&

34、 stri <= 'z' | stri >= 'A' && stri <= 'Z') letter +; /*统计英文字符*/ else if (stri >= '0' && stri <= '9' ) digit +; /*统计数字字符*/ else others +; /*统计其它字符的个数*/ printf("English character: %dn", letter); printf("digit charact

35、er: %dn", digit);printf("other character: %dn", others);*36、猜数游戏。系统随机产生一个整数,通过键盘输入数据猜数,猜对为止,并要求统计猜的次数。注:rand()函数可以产生032767间的正整数,程序中需包含stdlib.h。#include <stdio.h>#include <stdlib.h>void main() int magic; int guess; int counter; magic = rand() % 100 + 1; counter = 0; doprintf("Please guess a magic num

温馨提示

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

评论

0/150

提交评论