您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 东北大学c语言题库及答案
题号题目第几题0编写一个售货机(POS)计算程序,用于水果店售货员算账。苹果每千克3.2元,梨每千克1.96元,香蕉每千克3元,樱桃每千克24元。某顾客购买1.5斤苹果,2斤梨,3斤香蕉,1.5斤樱桃,付给售货员100元。要求规范输出这位顾客购买各类水果的名称,对应的重量和应付价钱,显示顾客所付款项,输出应找回的款项。#includestdio.hmain(){floata=3.2,b=1.96,c=3.0,d=24.0;floate,h,i,j,sum,x;printf(分别输入苹果梨子香蕉樱桃的斤数);scanf(%f%f%f%f,&e,&h,&i,&j);sum=a*e+b*h+c*i+d*j;printf(应付金额%.2f,sum);printf(顾客支付\n);scanf(%f,&x);printf(找额%.2f,x-sum);}11四舍五入#includestdio.hmain(){floata=12.36567;intb;b=(int)(a*1000)%10;if(b=5){a=(int)((a+0.01)*100)/100.0;}else{a=(int)(a*100)/100.0;}printf(a=%.2f,a);}12编写一个程序,对输入的一组整数,分别统计其中正整数和负整数的个数(0作为结束标志)。#includestdio.hmain(){intx=0,y=0,i;printf(请输入);1题号题目第几题scanf(%d,&i);while(i!=0){if(i0)x++;elsey++;scanf(%d,&i);}printf(正整数%d,负整数%d,x,y);}3统计100-500之间各个数字之和为9的三位数,输出这些三位数。例如351的各个数字之和为9。#includestdio.hmain(){inta,b,c,d;for(a=100;a500;a++){b=a/100;c=(a%100)/10;d=a%10;if(b+c+d==9)printf(%d\n,a);}}14编程求1-1000之间的所有完数(完数定义:一个数恰好等于它的除自身外的所有因子之和)。#includestdio.hmain(){inta,b,c;for(a=1;a=1000;a++){c=0;for(b=1;ba;b++){if(a%b==0)c=c+b;}if(a==c)printf(%d\n,a);}1题号题目第几题}5已知银行整存整取存款不同期限的利率分别为:3.30%期限半年;3.50%期限一年;4.40%期限二年;5.00%期限三年;5.50%期限五年;到期利息税为5%。要求输入存取的本金和期限,求到期能从银行得到的利息、本金及总和。#includestdio.hmain(){floata,b,c;printf(请输入存款年数);scanf(%f,&a);printf(输入本金\n);scanf(%f,&c);if(a=0.5)b=0.033;elseif(a=1&&a2)b=0.035;elseif(a=2&&a3)b=0.044;elseif(a=3&&a5)b=0.05;elseb=0.035;printf(利息为%f,b*c*0.95);printf(总和%f,c*(1+b*0.95));}16输入三角形的三边长,判断这个三角形是否是直角三角形。#includestdio.hmain(){inta,b,c,temp;printf(输入三边);scanf(%d%d%d,&a,&b,&c);if(a+bc&&a+cb&&b+ca){if(ba){temp=b;b=a;a=temp;}if(ca){temp=c;c=a;a=temp;}1题号题目第几题if(a*a==b*b+c*c)printf(直角三角形\n);elseprintf(一般三角形\n);}elseprintf(不能组成三角形\n);}7输入一串字符(以回车键结束),统计其中数字、大写字母、小写字母以及其他字符的个数。#includestdio.hmain(){charstr[200];char*p;inta=0,b=0,c=0,d=0;p=str;gets(p);while(*p){if(*p='A'&&*p='Z'){a++;}elseif(*p='a'&&*p='z'){b++;}elseif(*p='0'&&*p='9'){c++;}else{d++;}p++;}printf(大写字母%d\n,小写字母%d\n,数字个数%d\n,其它字符个数%d\n,a,b,c,d);}1题号题目第几题8编写程序:找出不超过1000的十位数字为1,个位数字为3或7的所有数。例如:13、17、113、317等。#includestdio.hmain(){inta,b,c;for(a=1;a=1000;a++){b=((a%1000)%100)/10;c=a%10;if((c==3||c==7)&&b==1)printf(%d\n,a);}}19某企业利润提成的规则如下:1)利润低于或等于10万元的,可提成奖金%10;2)利润高于10万元,低于20万元时,低于10万元的部分按%10提成,另外部分可以提成7.5%;3)利润高于20万低于40万元的,其中20万元按前面的方法发放,另外的部分按5%提成;4)利润高于40万元的,40万元按前面的方法提成,高于部分按3%提成。从键盘输入利润,输出应发的提成。#includestdio.hmain(){floata;printf(输入利润);scanf(%f,&a);if(a=100000)printf(%.2f,0.1*a);elseif(a100000&&a=200000)printf(%.2f,10000+(a-100000)*0.075);elseif(a200000&&a=400000)printf(%.2f,10000+7500+(a-200000)*0.05);elseprintf(%.2f,10000+7500+1000+(a-400000)*0.03);}110利用公式e=1/1!+1/2!+1/3!+…+1/n!计算e的值并输出(要求:误差小于10-5)。#includestdio.hmain(){floate=1,d;inta,b,c=1,n;printf(输入阶数);scanf(%d,&n);1题号题目第几题for(a=1;a=n;a++){c=c*a;e=e+1.0/c;}printf(%f,e);}11从键盘输入一个字符串str,统计其中大写英文字母A,B,C,D出现的次数。要求输出原始字符串,以及统计的结果。#includestdio.hmain(){charstr[10];inti,a=0,b=0,c=0,d=0;gets(str);for(i=0;str[i]!=0;i++){if(str[i]=='A')a++;elseif(str[i]=='B')b++;elseif(str[i]=='C')c++;elseif(str[i]=='D')d++;}printf(A=%dB=%dC=%dD=%d,a,b,c,d);}212将字符串a中的每个字符用加3的方法加密并存入数组b中,再对b中的字符串解密存入数组c。要求:初始化字符串a,依次输出字符串a、b、c。#includestdio.hmain(){chara[100]={wangshenghao};inti;charb[100],c[100];puts(a);for(i=0;a[i]!=0;i++){b[i]=a[i]+3;}b[i]=0;puts(b);for(i=0;b[i]!=0;i++){2题号题目第几题c[i]=b[i]-3;}c[i]=0;puts(c);}13输入两个字符串str1和str2,计算并输出str2在str1中出现的位置(提示:从位置0开始计算,例如输入str1为”howareyou”,str2为”are”,则位置结果为3),要求初始化字符串str1和str2,输出原始字符串str1和str2,以及位置结果值。#includestdio.hintmain(){chars1[100],s2[100];inti,j,ans=-1;//ans=-1意味着没有完成匹配scanf(%s,s1);scanf(%s,s2);for(i=0;s1[i]!='\0';i++){ans=i;//假设这次比较可以完成匹配for(j=0;s2[j]!='\0';j++){if(s1[i+j]=='\0'||s1[i+j]!=s2[j]){ans=-1;break;}}if(ans!=-1){break;}}printf(%s\n,s1);printf(%s\n,s2);printf(%d\n,ans);return0;}214从键盘输入一个字符串str和一个字符ch,删除字符串str中和输入字符ch相同的所有字符,输出原始字符串str以及删除字符ch后的字符串str。#includestdio.h2题号题目第几题main(){charch,str[100];inti;printf(输入字符串);gets(str);printf(输入字符);scanf(%c,&ch);for(i=0;str[i]!=0;i++){if(str[i]==ch){for(;str[i]!=0;i++){str[i]=str[i+1];}i=0;}}str[i]=0;puts(str);}15从具有10个元素的一维整型数组中查找最小值的元素,然后与数组的第一个元素对调。要求:初始化一维数组,输出该数组以及对调元素的数组。#includestdio.hmain(){intstr[10]={1,2,3,4,5,6,7,8,9,0};inti,j,min,k;min=str[0];for(i=0;i10;i++){printf(%d,str[i]);}printf(\n);for(i=0;i10;i++){if(str[i]min){min=str[i];j=i;2题号题目第几题}}k=str[0];str[0]=min;str[j]=k;for(i=0;i10;i++){printf(%d,str[i]);}}16在一个具有10元素的整型数组a中,删除数组元素值为奇数的所有数组元素。要求:初始化数组a,输出原始数组以及删除数据的数组。#includestdio.hmain(){inta[10],b[10],i=0,j=0;for(i=0;i10;i++)scanf(%d,&a[i]);for(i=0;i10;i++)printf(%d,a[i]);printf(\n);for(i=0;i10;i++){if(a[i]%2==0){b[j]=a[i];j++;}}for(i=0;i=j;i++)printf(%d,b[i]);printf(\n);}217将10个整数存入数组,删除数组中指定的第n个元素。(要求:数组初始化定义)#includestdio.hmain(){intstr[10],i,n;printf(\n请输入10个数字:);for(i=0;i10;i++)scanf(%d,&str[i]);2题号题目第几题printf(\n请输入要删除的数字:);scanf(%d,&n);for(i=n;i10;i++)str[i-1]=str[i];str[10]=0;for(i=0;i9;i++)printf(%d,str[i]);}18初始化一个4x5的矩阵,求其中最大元素和最小元素所在的行号,对调最大最小元素,输出行号、列号、对调后的矩阵。#includestdio.hmain(){intstr[4][5]={{2,1,3,4,5},{6,7,8,9,10},{11,12,13,14
本文标题:东北大学c语言题库及答案
链接地址:https://www.777doc.com/doc-5132545 .html