c语言基本编程题

合集下载

C语言基础编程题

C语言基础编程题
if(list[i]==x) {
returni; } } returnq; }
5-7 使用函数的选择法排序(10 分)
输入一个正整数 repeat(0<repeat<10),做 repeat 次下列运算: 输入一个正整数 n(1<n<=10),再输入 n 个整数存入数组 a 中,用选择法将数组 a 中的元 素按升序排列,最后输出排序后的数组元素。 要求定义并调用函数 sort(a,n),它的功能是采用选择排序算法,将数组 a 的前 n 个元素 按从小到大的顺序排序,函数形参 a 的类型是整型指针,形参 n 的类型是 int,函数的类型 是 void。 输出格式:数据直接以空格分隔,最后的一个数据后面没有空格。 输入输出示例:括号内为说明,无需输入输出
输入样例:
3
(repeat=3)
(n=0,x=
(n=1,x=
(n=10,x=
输出样例:
p(0,= p(1,= p(10,=

时间限制:400ms

内存限制:64MB

代码长度限制:16kB

判题程序:系统默认

作者:王秀

单位:福州大学
题目判定
解题程序
#include<> intmain() { doublep(intn,doublex); intrepeat,ri,n; doublex,result; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++) { scanf("%d%lf",&n,&x); result=p(n,x); printf("p(%d,%.2lf)=%.2lf\n",n,x,result); } return0; }

经典C语言编程(20题)

经典C语言编程(20题)

1.请编写一个函数fun,其功能是:删除字符串中的数字字符。

例如,输入字符串为:48CTYP9R6,则输出:CTYPR。

部分源程序已经给出,请勿改动主函数的内容。

main(){ char item[100];gtes(item);fun(item);printf(“The string:%s\n”,item);}解答:#include<stdio.h>#include<string.h>void fun(char s[]){int i,j;for(i=j=0;s[i]!='\0';i++)if(s[i]>='0' && s[i]<='9') i++;elses[j++]=s[i]; s[j]='\0';}main(){ char item[100];gets(item);fun(item);printf("The string:%s\n",item); }2. 从键盘上读入一字符串存入字符数组xx中,请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()将结果xx输出。

替代关系如下:f(p)=p*11%256其中,p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于32,则该字符不变,否则用f(p)所对应的字符进行替代。

设字符串的长度小于80个字符,部分源程序已给出。

除增加必要的数据定义、函数参数外,请勿改动主函数的内容。

#include <stdio.h>main(){ char xx[80];gets(xx);encryptChar();WriteDat();}解答:#include<stdio.h>#include<string.h>void encryptChar(char a[]) {int i,j;for(i=j=0;a[i]!='\0';i++) if(a[i]%2==0 ||(a[i]*11%256<32))a[j++]=a[i];elsea[j++]=a[i]*11%256; } WriteDat(char a[]) {puts(a);}main(){ char xx[80];gets(xx);encryptChar(xx); WriteDat(xx);} _3. 设有数组:int a[10]={6012,5099,9012,7025,8088,9096,8080,3046,5082,2345};请编制函数jssort(),其功能是:要求按每个数的后三位的大小进行升序排序,然后调用函数WriteDat()将结果输出。

C语言编程题及答案

C语言编程题及答案

)(*)(*)(*c s b s a s s ---C 语言编程题1.(*)求分数序列:1/2,2/3,3/5,5/8,8/13,13/21...... 前20项的和。

main(){float i=1,j=2,t=0,s,n,m;for(n=1;n<=20;n++)s=i/j,m=i,i=j,j=m+j,t=t+s;printf("t=%f",t);}2.(*)从键盘输入一个字符串,再将其逆序输出。

(如:输入abcde ,输出edcba ) main(){int i;char c[10];scanf("%s",c);for(i=9;i>=0;i--)printf("%c",c[i]);}3.(*)已知abc+cba=1333,其中a 、b 、c 均为一位数,例如:617+716=1333, 518+815=1333, 试编程求出符合这一规律的a 、b 、c ,并输出结果。

main(){int a,b,c,x,y;for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=1;c<=9;c++){ x=100*a+10*b+c;y=100*c+10*b+a;if(x+y==1333)printf("x=%d,y=%d",x,y);}}4.(*)利用海伦公式求三角形面积,三边长a,b,c 由键盘输入。

若输入的三边长不能构成 三角形,输出相应提示信息。

海伦公式如下:其中s=(a+b+c)/2三角形面积= #include""main(){ float a,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));if(a+b>c&&a+c>b&&b+c>a)printf("area=%f",area);else.1 .printf("no");}5.(*)编程求出1!+2!+3!+…+8!+9!+10!的值并输出。

c语言编程100题

c语言编程100题

*******
*****
***
*
78、打印如下矩阵
25
24
23
22
21
10
9
8
7
20
64、编写函数,通过指针求一个字符串的反串。函数头如下:
65、编写函数,通过指针求一个字符串的长度。函数头如下:
#include <stdio.h>
char *strlen(char *s)
{char *p=s;
while(*p)p++;
return(p-s);
71、试编程判断输入的正整数是否既是5又是7的整数倍。若是,则输出yes,否则输出no。
72、每个苹果0.8元,第一天买两个苹果,从第二天开始,每天买前一天的2倍,直到购买的苹果个数达到不超过100的最在数。编写程序求每天平均花多少钱?
73、试编程找出1至99的所有同构数,所谓同构数是指它出现在它的平方数的右边。如6的平方数36故6是同构数。
74、试编写一程序将字符串s中的所有字符c删除。
75、编写程序,求1-3+5+……+101
76、编写程序,求E=1+1/1!+1/2!+……+1/n!,要求最后一项的值小于10-4
77、编写程序,打印以下图形(输入一正整数说,输出一棱形)
当n=4时,图形如下:
*
***
*****
24. 把文本文件d1.dat复制到文本文件d2.dat中,要求仅复制d1.dat中的英文字符。
25. 编程,把文本文件d1.dat复制到d2.dat(其中空格字符不复制)。

40个C语言的基础编程题

40个C语言的基础编程题

C语言基础编程题【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n");/*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第三个月*/ }}========================================【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

2.程序源代码:#include "math.h"main(){int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) {printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h);} ========================================【程序3】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

c语言基本编程题

c语言基本编程题

复习题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 %d\n",s);}2. 输入一个圆半径(r),当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include 〈stdio.h>#define PI 3。

14void 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 %f\n”,s);printf(”the circumference is %f\n”,l);}elseprintf("input error!\n”);}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个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; 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值。

C语言基础题及参考答案

C语言基础题及参考答案

第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是: A 。

A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从 B 开始执行。

A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时,可以 D 。

A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4.以下叙述不正确的是: C 。

A. 在C程序中,语句之间必须要用分号";"分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是 D 。

A. ABCB. abcC. a_bcD.6.下列字符串是标识符的是:。

A. _HJB. 9_studentC. longD. LINE 17.以下说法中正确的是: C 。

A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是: B 。

A. ‘\2’B. " "C. ‘3’D. ‘\483’9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。

int k,a,b;unsigned long w=5;double x=;A. x%(-3)B. W += -2C. k=(a=2,b=3,a+b)D.a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以 D 形式存放。

A. 原码B. BCD码C. 反码D. ASCII码11.若有定义:int a=7; float x=; y=;则表达式x+a%3*(int)(x+y)%2/4的值是: A 。

A. B. C. D.12.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为: D 。

C语言经典编程实例100题+答案

C语言经典编程实例100题+答案

C语言程序实例100个(一)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for(k=1;k<5;k++){if(i!=k&&i!=j&&j!=k)/*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 %d\n",s);}2、输入一个圆半径(r),当r>=0时,计算并输出圆的面积与周长,否则,输出提示信息。

#include <stdio、h>#define PI 3、14void 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 %f\n",s);printf("the circumference is %f\n",l);}elseprintf("input error!\n");}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个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; 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=%d\n",x,y);}6.从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)#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 %f\n",m);}float max(float x,float y){float temp;if (x<y){temp=x;x=y;y=temp;}return(x);}7、从键盘输入您与您朋友的年龄,编成判断谁的年龄最大,并打印最大者的年龄。

#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("You are older! Your age is = %d\n", yourAge);}if (hisAge > yourAge){printf("Your friend is older! HisAge age is = %d\n", hisAge);}}8、键盘输入2个加数,再输入答案,如果正确,显示“right”,否则显示“error”#include “stdio、h”void main( ){int a,b,c;printf(“please input a and b\n”);scanf (%d,%d”,&a,&b);printf(“please input the answer for a+b\n”);scanf (%d”,&c);if (c==a+b)printf(“right\n”);elseprintf(“error\n ”);}9、 编一程序每个月根据每个月上网时间计算上网费用,计算方法如下:⎪⎩⎪⎨⎧≥-≤=小时小时小时元每小时元每小时元费用505010105.2330 要求当输入每月上网小时数,显示该月总的上网费用(6分)#include <stdio 、h>void main(){ int hour;float fee;printf(“please input hour:\n ”);scanf(“%d ”,&hour);if(hour<=10)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+0、4*a;printf (“神州行话费为: %f\n”,x);printf (“全球通话费为: %f\n”,y);if (x>=y)printf(“建议使用全球通”);else printf(“建议使用神州行);}11.个人所得税计算,应纳税款的计算公式如下:输入某人的收入,计算出应纳税额及实际得到的报酬。

(7分)(如需连续计算多个人的纳税情况,直到输入负数为止,程序应如何改进?试写出程序)#include “stdio、h”void main(){int grade;float income,tax,money;printf(“please input your income\n”);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=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,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<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 8: grade=’B’; break;case 7: grade=’C’; break;case 6: grade=’D’; break;default: grade=’E’;}printf("the grade is %c”,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) /*根据输入的运算符确定要执行的运算*/ { 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);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、从键盘输入10个整数,统计其中正数、负数与零的个数,并在屏幕上输出。

相关文档
最新文档