c语言知识学习基本编程题_第1页
c语言知识学习基本编程题_第2页
c语言知识学习基本编程题_第3页
c语言知识学习基本编程题_第4页
c语言知识学习基本编程题_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

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 resultis %dn",s);scanf("%f ” ,&r);2. 输入一个圆半径(r),当r> = 0时,计算并输出圆的面积和周长,否则,输出 提示信息。#include <stdio.h

2、> #define PI 3.14 void main() float r ,s , l;printf("please input r:n");if (r>=0)s=pi*r*r;l=2*i*r ;prin tf("the area is %fn",s);prin tf("the circumfere nee is %fn ",l);elseprin tf("i nput error!' n");3、函数y=f(x)可表示为:scanf( “ %d ”,&x);2x+1(x<0)y

3、= 0(x=0)2x-1(x>0)编程实现输入一个 x值,输出y值。#in elude <stdio.h>void mai n() int x,y;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)

4、t=a; a=b; 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,

5、y=%dn",x,y);6 从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)#include <stdio.h> float max(float x,float y);void main() float a,b,m;m=max(a,b);scanf("%f,%f",&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

7、 (yourAge >= hisAge)printf("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 a

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

9、loat fee;”);printf( “ please input hour:nscanf( “%d ” ,&hour);if(hour<=10)fee=30;else if(hour>=10&&hour<=50)fee=3*hour;else fee=hour*2.5;”,fee);printf( “ The total fee is %felse printf( “建议使用神州行);10. 神州行用户无月租费,话费每分钟 钟 0. 4 元。输入一个月的通话时间,0.6 元,全球通用户月租费 50 元,话费每分分别计算出两种方式的费用, 判断哪一种

10、合适。#include <stdio.h> void main() float a,x,y;printf( “ n 请输入您的话费:”);scanf( “%f, ”,&a);x= 0.6*a;y=50+0.4*a;printf ( “神州行话费为 : %fn”,x);printf ( “全球通话费为 : %fn” ”,y);if (x>=y)printf( “建议使用全球通”);11 .个人所得税计算,应纳税款的计算公式如下:收入收入 =1000元部分2000 元 =收入1000 元的部分3000元 =收入 2000 元的部分6000 元 收入3000 元的部分收入6

11、000 元的部分输入某人的收入,计算出应纳税额及实际得到的报酬。税率-0-54W1520%(7分)程序应如何改进?试写出程(如需连续计算多个人的纳税情况,直到输入负数为止, 序)#i nclude“ stdio.h ”void mai n()int grade;float in come,tax,m oney;”);pnntf(“ pl ease input your in comensea nf (“ f”,&in come);if (in come<0)prints “the input is error ” );else grade=(int)income/1000;swi

12、tch(grade) case 0 : tax=0;break;case 1 : tax=(income-1000)*0.05;break;case 2 : tax=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;” ,tax, money);printf( “ n tax=%f, money=%f12.从键盘上输入一个百分制成绩score,按下列原则输出其等级:sc

13、ore >90 ,等级为 A ; 80 wscore<90 ,等级为 B ; 70 Wscore<80 ,等级为 C; 60 Wscore<70 , 等级为 D ; score<60 ,等级为 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

14、 8:grade='B'break;case 7:grade='C'break;case 6:grade='D'break;default:grade='E'printf("the grade is %c”,grade);2 个操作数, 1 个运算符,当运void main() int data1, data2;/* 定义两个操作符 */char op;/* 定义运算符 */* 输入运算表达式 */printf("Please enter the expression:");scanf("%

15、d%c%d", &data1, &op, &data2);switch(op)/* 根据输入的运算符确定要执行的运算*/ case '+':/* 处理加法 */printf("%d + %d = %d n", data1, data2, data1 + data2);break;case '-':/* 处理减法 */printf("%d - %d = %d n", data1, data2, data1 - data2);break;case '*':/* 处理乘法 */p

16、rintf("%d * %d = %d n", data1, data2, data1 * data2);break;case '/':/* 处理除法 */if (0 = data2)/* 为避免出现溢出错误,检验除数是否为0*/printf("Division by zero!n");elseprintf("%d / %d = %d n", data1, data2, data1 / data2);break;default:printf("Unknown operator! n");14. 从键

17、盘输入 10 个整数,统计其中正数、负数和零的个数,并在屏幕上输出。#include <stdio.h>void main( )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 <st

18、dio.h>voidmain( )int i ;long sum=1;for(i=1; i<=10; i=i+1)sum=sum*i;”,sum);printf( “ the sum of odd is :%ld16. 从键盘上输入 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 =

19、%fn", ave);17 、编程序实现求 1-1000 之间的所有奇数的和并输出。#include <stdio.h> void main( ) int i, sum=0;for(i=1; i<1000; i=i+2)sum=sum+i;” ,sum);printf( “ the sum of odd is :%d18. 有一个分数序列: 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=

20、0;for(i=1;i<=n;i+)s=s+a/b;t=a;a=a+b;b=t;printf("sum=%6.2f",s);19. 用数组实现以下功能:输入 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 列的二维数组,使主对角

21、线上的变量为 1 ,其它 为 0 ,并将数组中所有项按行按列显示出来。#include <stdio.h>void main() int a55,i,j;for(i=0;i<5;i+)for(j=0;j<5;j+)if(i=j)aij=1;elseaij=0;for(i=0;i<5;i+) for(j=0;j<5;j+)printf( “%5d ”, aij);printf( “n ” );21 .求一个3X3矩阵主对角线元素之和。从键盘输入矩阵元素的值并输出和的值#include <stdio.h>void main() int a33,sum

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

23、;/* 控制行数 */scanf("%d",&n);for (i = 1; 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;

24、int i ;”);printf( “ please input score: n for(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)aver+=scorei;min=scorei;printf( “ max=%f, min=%f,aver=%f” , max, min, aver/M);24. 从键盘输入某班学生某门课的成绩及其学号(班级人

25、数最多40 人, 具体人数由键盘输入),输出该班最高分和最低分及其学生学号;并输出该班该课程的总分和平均分。请编写程序。#include <stdio.h>#define ARR_SIZE 40void main() floatscoreARR_SIZE, maxScore,minScore,sum;intn, i;longmaxNum, minNum,numARR_SIZE;printf("Please enter total number:");scanf("%d", &n);printf("Please enter t

26、he number and score:n");for (i=0; 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;elseif (scorei < minScore)minScore = scorei;mi

27、nNum = numi;sum=sum+scorei;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#inclu

28、de <stdio.h>void 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:nfor(i=0;i<N;i+)printf( “%4d ” ,ai);printf( “ n ” );26. 从键盘上输入一个 2*3 的矩阵,将其转秩后形成 3*2 的矩阵输出。#include <stdio.h&

29、gt;void main()int a23, 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>vo

30、id main() int a10;int i,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 列的数组, 从键盘输入各数组元素的值, 计算各数组

31、元素之和。#include <stdio.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

32、a43, i , j ,min,m,n;printf("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 astring:");gets(str);len = strlen(str);for (i=0; i<len; i+) if (stri >= 

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

35、igit character:%dn", digit);printf("other character:%dn", others);通过键盘输入数据猜数,猜对为止,并要求统计猜的次数。注:rand()函数可以产生032767间的正整数,程序中需包含stdiib.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 number:");scanf("%d", &guess);counter +;if (guess > magic)printf("Wrong!

温馨提示

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

评论

0/150

提交评论