哪里的网站建设好,网站seo方法,protected wordpress login,网站推广公司兴田德润在哪儿21、练习3-2 计算符号函数的值对于任一整数n#xff0c;符号函数sign(n)的定义如下#xff1a;请编写程序计算该函数对任一输入整数的值。输入格式:输入在一行中给出整数n。输出格式:在一行中按照格式“sign(n) 函数值”输出该整数n对应的函数值。输入样例1:10输出样例1:sig…21、练习3-2 计算符号函数的值对于任一整数n符号函数sign(n)的定义如下请编写程序计算该函数对任一输入整数的值。输入格式:输入在一行中给出整数n。输出格式:在一行中按照格式“sign(n) 函数值”输出该整数n对应的函数值。输入样例1:10输出样例1:sign(10) 1输入样例2:0输出样例2:sign(0) 0输入样例3:-98输出样例3:sign(-98) -1代码#includestdio.h
int main()
{int n;scanf(%d,n);if(n0){if(n0) printf(sign(%d) 1\n,n);else printf(sign(%d) 0\n,n);}else printf(sign(%d) -1\n,n);
}22、练习3-4 统计字符本题要求编写程序输入10个字符统计其中英文字母、空格或回车、数字字符和其他字符的个数。输入格式:输入为10个字符。最后一个回车表示输入结束不算在内。输出格式:在一行内按照letter 英文字母个数, blank 空格或回车个数, digit 数字字符个数, other 其他字符个数的格式输出。输入样例:aZ 09 Az输出样例:letter 4, blank 3, digit 2, other 1代码#includestdio.h
int main()
{char str[10];int i;int letter0;int blank0;int digit0;int other0;for(i0;i10;i){scanf(%c,str[i]);if(str[i]astr[i]z||str[i]Astr[i]Z) letter;else if(str[i] ||str[i]\n) blank;else if(str[i]0str[i]9) digit;else other;}printf(letter %d, blank %d, digit %d, other %d\n,letter,blank,digit,other);return 0;
}23、练习3-5 输出闰年输出21世纪中截止某个年份以来的所有闰年年份。注意闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。输入格式:输入在一行中给出21世纪的某个截止年份。输出格式:逐行输出满足条件的所有闰年年份即每个年份占一行。输入若非21世纪的年份则输出Invalid year!。若不存在任何闰年则输出“None”。输入样例1:2048输出样例1:200420082012201620202024202820322036204020442048输入样例2:2000输出样例2:Invalid year!代码#includestdio.h
int main()
{int n;scanf(%d,n);if(n2001n2100){int temp0;int i;for(i2001;in;i){if((i%40i%100!0)||i%4000){printf(%d\n,i);temp;}}if(temp0) printf(None\n);}elseprintf(Invalid year!\n);return 0;
}24、练习3-7 成绩转换本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则大于等于90分为A小于90且大于等于80为B小于80且大于等于70为C小于70且大于等于60为D小于60为E。输入格式:输入在一行中给出一个整数的百分制成绩。输出格式:在一行中输出对应的五分制成绩。输入样例:90输出样例:A代码#includestdio.h
int main()
{int n;scanf(%d,n);if(n90) printf(A\n);else{if(n80) printf(B\n);else{if(n70) printf(C\n);else{if(n60) printf(D\n);else printf(E\n);}}}
}25、练习3-8 查询水果价格给定四种水果分别是苹果apple、梨pear、桔子orange、葡萄grape单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。首先在屏幕上显示以下菜单[1] apple[2] pear[3] orange[4] grape[0] exit用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时程序应自动退出查询不到5次而用户输入0即退出输入其他编号显示价格为0。输入格式:输入在一行中给出用户连续输入的若干个编号。输出格式:首先在屏幕上显示菜单。然后对应用户的每个输入在一行中按格式“price 价格”输出查询结果其中价格保留两位小数。当用户连续查询次数超过5次、或主动输入0时程序结束。输入样例1:3 -1 0 2输出样例1:[1] apple[2] pear[3] orange[4] grape[0] exit price 4.10price 0.00输入样例2:1 2 3 3 4 4 5 6 7 8输出样例2:[1] apple[2] pear[3] orange[4] grape[0] exitprice 3.00price 2.50price 4.10price 4.10price 10.20代码#includestdio.h
int main()
{int n;int arr[1000];int i0;while(scanf(%d,arr[i])!EOFarr[i]!0){i;}int ti;printf([1] apple\n);printf([2] pear\n);printf([3] orange\n);printf([4] grape\n);printf([0] exit\n);int l1;for(i0;it;i){if(arr[i]!0l5){if(arr[i]1) printf(price 3.00\n);else if(arr[i]2) printf(price 2.50\n);else if(arr[i]3) printf(price 4.10\n);else if(arr[i]4) printf(price 10.20\n);else printf(price 0.00\n);l;}}return 0;
}26、习题3-1 比较大小本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数其间以空格分隔。输出格式:在一行中将3个整数从小到大输出其间以“-”相连。输入样例:4 2 8输出样例:2-4-8代码#includestdio.h
int main()
{int arr[3];scanf(%d %d %d,arr[0],arr[1],arr[2]);int i;int index;int temp;int j;for(i0;i2;i){indexi;temparr[i];for(ji1;j3;j){if(arr[j]arr[index]) indexj;}arr[i]arr[index];arr[index]temp;}printf(%d-%d-%d\n,arr[0],arr[1],arr[2]);return 0;
}27、习题3-2 高速公路超速处罚按照规定在高速公路上行使的机动车达到或超出本车道限速的10%则处200元罚款若达到或超出50%就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。输入格式:输入在一行中给出2个正整数分别对应车速和限速其间以空格分隔。输出格式:在一行中输出处理意见若属于正常行驶则输出“OK”若应处罚款则输出“Exceed x%. Ticket 200”若应吊销驾驶证则输出“Exceed x%. License Revoked”。其中x是超速的百分比精确到整数。输入样例1:65 60输出样例1:OK输入样例2:110 100输出样例2:Exceed 10%. Ticket 200输入样例3:200 120输出样例3:Exceed 67%. License Revoked代码#includestdio.h
int main()
{int m; //车速int n; //限速scanf(%d %d,m,n);int t1nn*0.1;int t2nn*0.5;// printf(%d %d\n,t1,t2);if(mt1) printf(OK\n);if(mt1mt2){double temp1(m-n)/(double)n*100.0;double temp2temp1-(int)temp1;int temp;if(temp20.5) temp(int)temp11;else temp(int)temp1;printf(Exceed %d%%. Ticket 200\n,temp);}if(mt2){double temp1(m-n)/(double)n*100.0;double temp2temp1-(int)temp1;int temp;if(temp20.5) temp(int)temp11;else temp(int)temp1;printf(Exceed %d%%. License Revoked\n,temp);}
}
28、习题3-3 出租车计价本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下起步里程为3公里起步费10元超起步里程后10公里内每公里2元超过10公里以上的部分加收50%的回空补贴费即每公里3元营运过程中因路阻及乘客要求临时停车的按每5分钟2元计收不足5分钟则不收费。输入格式:输入在一行中给出输入行驶里程单位为公里精确到小数点后1位与等待时间整数单位为分钟其间以空格分隔。输出格式:在一行中输出乘客应支付的车费单位为元结果四舍五入保留到元。输入样例1:2.6 2输出样例1:10输入样例2:5.1 4输出样例2:14输入样例3:12.5 9输出样例3:34代码#includestdio.h
int main()
{double k;int fen;scanf(%lf %d,k,fen);double money1fen/5*2.0;double money210.0;double money;if(k3.0) moneymoney1money2;else{if(k10.0) moneymoney1money2(k-3.0)*2.0;if(k10.0) moneymoney1money2(10.0-3.0)*2.0(k-10.0)*3.0;}printf(%.0lf\n,money);return 0;
}29、习题3-4 统计学生成绩本题要求编写程序读入N个学生的百分制成绩统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则大于等于90分为A小于90且大于等于80为B小于80且大于等于70为C小于70且大于等于60为D小于60为E。输入格式:输入在第一行中给出一个正整数N≤1000即学生人数第二行中给出N个学生的百分制成绩其间以空格分隔。输出格式:在一行中输出A、B、C、D、E对应的五分制成绩的人数分布数字间以空格分隔行末不得有多余空格。输入样例:777 54 92 73 60 65 69输出样例:1 0 2 3 1代码#includestdio.h
int main()
{int N;scanf(%d,N);int i;int arr[5]{0};int m;for(i0;iN;i){scanf(%d,m);if(m90)arr[0];else if(m90m80) arr[1];else if(m80m70) arr[2];else if(m70m60) arr[3];else arr[4];}for(i0;i5;i){if(i5-1) printf(%d\n,arr[i]);else printf(%d ,arr[i]);}return 0;
}30、习题9-1 时间换算本题要求编写程序以hh:mm:ss的格式输出某给定时间再过n秒后的时间值超过23:59:59就从0点开始计时。输入格式输入在第一行中以hh:mm:ss的格式给出起始时间第二行给出整秒数n60。输出格式输出在一行中给出hh:mm:ss格式的结果时间。输入样例11:59:4030输出样例12:00:10代码#include stdio.h
int main()
{int h,m,s,n,ad;scanf(%d:%d:%d,h,m,s);scanf(%d,n);ad3600*h60*msn;adad%86400;h(ad-ad%3600)/3600;adad%3600;m(ad-ad%60)/60;adad%60;sad;printf(%02d:%02d:%02d,h,m,s);}31、习题9-3 平面向量加法本题要求编写程序计算两个二维平面向量的和向量。输入格式:输入在一行中按照“ ”的格式给出两个二维平面向量 和 的分量。输出格式:在一行中按照(x, y)的格式输出和向量坐标输出小数点后一位注意不能输出−0.0。输入样例:3.5 -2.7 -13.9 8.7输出样例:(-10.4, 6.0)代码:#include stdio.h
#include math.h
int main(){double x1,y1,x2,y2;scanf(%lf %lf %lf %lf,x1,y1,x2,y2);double x,y;xx1x2;yy1y2;if(fabs(x)0.05){xfabs(x);}if(fabs(y)0.05){yfabs(y);}printf((%.1f, %.1f),x,y);return 0;
}32、习题9-4 查找书籍给定n本书的名称和定价本题要求编写程序查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n10随后给出n本书的信息。每本书在一行中给出书名即长度不超过30的字符串随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Programming in C21.5Programming in VB18.5Programming in Delphi25.0输出样例:25.00, Programming in Delphi8.50, Programming in VB代码:#includestdio.hstruct book
{char name[33];double price;
};
int main()
{int n;struct book arr[10];scanf(%d,n);int i;for(i0;in;i){getchar();gets(arr[i].name);scanf(%lf,arr[i].price);}int index10;int index20;for(i1;in;i){if(arr[i].pricearr[index1].price) index1i;}for(i1;in;i){if(arr[i].pricearr[index2].price) index2i;}printf(%.2lf, %s\n,arr[index1].price,arr[index1].name);printf(%.2lf, %s\n,arr[index2].price,arr[index2].name);return 0;
}33、习题9-5 通讯录排序输入n个朋友的信息包括姓名、生日、电话号码本题要求编写程序按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n10。随后n行每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息其中“姓名”是长度不超过10的英文字母组成的字符串“生日”是yyyymmdd格式的日期“电话号码”是不超过17位的数字及、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息格式同输出。输入样例:3zhang 19850403 13912345678wang 19821020 86-0571-88018448qian 19840619 13609876543输出样例:wang 19821020 86-0571-88018448qian 19840619 13609876543zhang 19850403 13912345678代码:#includestdio.hstruct fri
{char name[11];char brithday[10];char pNumber[18];int temp;
}tt;
int main()
{struct fri arr[10];int n;scanf(%d,n);int i;for(i0;in;i){scanf(%s %s %s,arr[i].name,arr[i].brithday,arr[i].pNumber);int temp1(arr[i].brithday[0]-0)*1000(arr[i].brithday[1]-0)*100(arr[i].brithday[2]-0)*10(arr[i].brithday[3]-0)*1;int temp2(arr[i].brithday[4]-0)*10(arr[i].brithday[5]-0)*1;int temp3(arr[i].brithday[6]-0)*10(arr[i].brithday[7]-0)*1;arr[i].temp(9999-temp1)*365(12-temp2)*30(30-temp3)*1;}int index;int j;for(i0;in-1;i){indexi;ttarr[i];for(ji1;jn;j){if(arr[j].temparr[index].temp) indexj;}arr[i]arr[index];arr[index]tt;}for(i0;in;i){printf(%s %s %s\n,arr[i].name,arr[i].brithday,arr[i].pNumber);}return 0;
}34、练习4-6 猜数字游戏猜数字游戏是令游戏机随机产生一个100以内的正整数用户输入一个数对其进行猜测需要你编写程序自动对其与随机产生的被猜数进行比较并提示大了“Too big”还是小了“Too small”相等表示猜到了。如果猜到则结束程序。程序还要求统计猜的次数如果1次猜出该数提示“Bingo!”如果3次以内猜到该数则提示“Lucky You!”如果超过3次但是在N3次以内包括第N次猜到该数则提示“Good Guess!”如果超过N次都没有猜到则提示“Game Over”并结束程序。如果在到达N次之前用户输入了一个负数也输出“Game Over”并结束程序。输入格式:输入第一行中给出两个不超过100的正整数分别是游戏机产生的随机数、以及猜测的最大次数N。最后每行给出一个用户的输入直到出现负数为止。输出格式:在一行中输出每次猜测相应的结果直到输出猜对的结果或“Game Over”则结束。输入样例:58 47050565860-2输出样例:Too bigToo smallToo smallGood Guess!代码#includestdio.h
int main()
{int random;int N;scanf(%d %d,random,N);int i0;int arr[101];while(scanf(%d,arr[i])!EOFarr[i]0){i;}int ni;int l0;for(i0;in;i){if(arr[i]random) {printf(Too big\n);l;}else if(arr[i]random) {printf(Too small\n);l;}else {l;break;}if(lN) break;}if(l1) printf(Bingo!\n);else if(l1l3) printf(Lucky You!\n);else if(l3lN) printf(Good Guess!\n);else printf(Game Over\n);return 0;
}35、练习4-7 求e的近似值自然常数e可以用级数11/1!1/2!⋯1/n!来近似计算。本题要求对给定的非负整数n求该级数的前n项和。输入格式:输入第一行中给出非负整数n≤1000。输出格式:在一行中输出部分和的值保留小数点后八位。输入样例:10输出样例:2.71828180代码#includestdio.hdouble fun(int n) //递归算法
{if(n0||n1) return 1;else return n*fun(n-1);
}
int main()
{int n;scanf(%d,n);int i;double sum1.0;for(i1;in;i){sum1.0/fun(i);}printf(%.8lf\n,sum);
}36、练习4-10 找出最小值本题要求编写程序找出给定一系列整数中的最小值。输入格式输入在一行中首先给出一个正整数n之后是n个整数其间以空格分隔。输出格式在一行中按照“min 最小值”的格式输出n个整数中的最小值。输入样例4 -2 -123 100 0输出样例min -123代码#includestdio.h
int main()
{int n;scanf(%d,n);int i;int index;for(i0;in;i){int t;scanf(%d,t);if(i0)indext;else{if(tindex) indext;}}printf(min %d\n,index);return 0;
}37、练习4-11 统计素数并求和本题要求统计给定整数M和N区间内素数的个数并对它们求和。输入格式:输入在一行中给出两个正整数M和N1≤M≤N≤500。输出格式:在一行中顺序输出M和N区间内素数的个数以及它们的和数字间以空格分隔。输入样例:10 31输出样例:7 143代码#includestdio.hint fun(int n)
{int tsqrt(n);int i;int temp1;for(i2;it;i){if(n%i0){temp0;break;}}return temp;
}
int main()
{int M,N;scanf(%d %d,M,N);int i;if(M2)M2;int sum0;int l0;for(iM;iN;i){int tempfun(i);if(temp1){sumi;l;}}printf(%d %d\n,l,sum);return 0;
}38、习题4-1 求奇数和本题要求计算给定的一系列正整数中奇数的和。输入格式:输入在一行中给出一系列正整数其间以空格分隔。当读到零或负整数时表示输入结束该数字不要处理。输出格式:在一行中输出正整数序列中奇数的和。输入样例:8 7 4 3 70 5 6 101 -1输出样例:116代码#includestdio.h
int fun(int n)
{if(n%20) return 0;else return 1;
}
int main()
{int n;int sum0;while(scanf(%d,n)(n!0n0)){int tempfun(n);if(temp1) sumn;}printf(%d\n,sum);return 0;
}39、习题4-2 求幂级数展开的部分和已知函数 可以展开为幂级数现给定一个实数x要求利用此幂级数部分和求 的近似值求和一直继续到最后一项的绝对值小于0.00001。输入格式:输入在一行中给出一个实数x∈[0,5]。输出格式:在一行中输出满足条件的幂级数部分和保留小数点后四位。输入样例:1.2输出样例:3.3201代码#includestdio.hdouble fun(int n)
{if(n1||n0) return 1;else return n*fun(n-1);
}
int main()
{double n;scanf(%lf,n);int i;double sum1.0;double n1n;for(i1;;i){double tn1/fun(i);sumt;n1*n;if(t0.00001)break;}printf(%.4lf\n,sum);return 0;
}40、习题4-3 求分数序列前N项和本题要求编写程序计算序列 2/13/25/38/5... 的前N项之和。注意该序列从第2项起每一项的分子是前一项分子与分母的和分母是前一项的分子。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值精确到小数点后两位。题目保证计算结果不超过双精度范围。输入样例:20输出样例:32.66代码#includestdio.h
int main()
{int N;scanf(%d,N);int i;double m2.0;double n1.0;double sum0;for(i1;iN;i){summ/n;double tmn;nm;mt;}printf(%.2lf\n,sum);return 0;
}