sdut-程序设计基础Ⅰ-实验四for循环(11-22)
7-11 sdut-C语言实验- 平方数飞飞特别喜欢平方数可是他数学并不好你能帮他计算 n 与 m 之间所有平方数之和吗提示1若一个整数的开方还是整数它就是平方数。例如4、9、16、25是平方数。n 和 m 均可能为 0 至 100000000 内的任意整数n、m不一定有序。提示2开方的函数是sqrt()比如i的开方是sqrt(i)需要将头文件math.h包含进来。输入格式:第一行 T 代表数据的组数。接下来有 T 行每行两个整数n,m (0 n, m 100000000)输出格式:输出一个整数代表所求区间内平方数之和。输入样例:31 410 317 20输出样例:在这里给出相应的输出。例如5130实现代码#includebits/stdc.h using namespace std; int main(){ int n,a,b,k; cinn; for(int i1;in;i){ scanf(%d %d,a,b); int m0; for(int jmin(a,b);jmax(a,b);j){ if(sqrt(j)(int)sqrt(j)) mmj; } coutmendl; } return 0; }7-12 sdut - C语言—圆周率输入n值并利用下列格里高里公式计算并输出圆周率输入格式:输入公式中的n值。输出格式:输出圆周率保留5位小数。输入样例:在这里给出一组输入。例如1输出样例:在这里给出相应的输出。例如2.66667实现代码#includebits/stdc.h using namespace std; int main(){ int n; double t,sum0,m1; cinn; for(int i1;i4*n-1;ii2){ tm/i; sumsumt; m-m; } printf(%.5lf,4*sum); return 0; }7-13 sdut-C语言实验- 做乘法请用C语言编写一个程序。此程序接收一个正整数N然后打印输出“N次N*(1-N)格式”的数据。例如此程序接收正整数5那会输出以下格式的数据5 * 1 55 * 2 105 * 3 155 * 4 205 * 5 25输入格式:只有一个正整数NN100。输出格式:输出共N行数据如上面的例子所示。输入样例:在这里给出一组输入。例如5输出样例:在这里给出相应的输出。例如5*155*2105*3155*4205*525实现代码#includebits/stdc.h using namespace std; int main(){ int N; cinN; for(int i1;iN;i) printf(%d*%d%d\n,N,i,N*i); return 0; }7-14 sdut-C语言实验- 简单计算接受从键盘输入的N个整数输出其中的最大值、最小值和平均值平均值为整除的商。输入格式:第一行一个正整数NN100第二行有N个用空格隔开的整数Ti (1 i N, 0 Ti 10000000)输出格式:三个有空格隔开的整数分别为最大值、最小值和平均值其中平均值为整除的商。输入样例:在这里给出一组输入。例如51 2 3 5 4输出样例:在这里给出相应的输出。例如5 1 3实现代码#includebits/stdc.h using namespace std; int main(){ long long n,sum0,a,max0,min10010000000; int i; cinn; for(i1;in;i){ scanf(%lld ,a); sumsuma; if(amax) maxa; if(amin) mina; } sumsum/n; coutmax min sum; return 0; }7-15 sdut- C语言实验-新判断素数循环结构所谓的数是这样一个正整数除了1和它本身之外没有其他的因子的数。从键盘上输入任意一个正整数然后判断该数是否为素数。 如果是素数则输出YES. 否则输出“NO.”输入格式:输入任意一个正整数n(1 n )。输出格式:判断n是否为素数并输出判断结果 如果n是素数则输出YES. 否则输出“NO.”特别提醒请注意对1的判定1不是素数。输入样例:在这里给出一组输入。例如3输出样例:在这里给出相应的输出。例如YES.实现代码#includebits/stdc.h using namespace std; int main(){ long long n; cinn; if(n1) { coutNO.; return 0; } for(int i2;i*in;i){ if(n%i0) { coutNO.; return 0; } } coutYES.; return 0; }7-16 sdut- C语言实验—分数序列有一个分数序列2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。输入格式:输入只有一个正整数n1≤n≤10。输出格式:请在这里描述输出格式。例如对每一组输入在一行中输出AB的值。输入样例:在这里给出一组输入。例如3输出样例:在这里给出相应的输出。例如5.166667实现代码#includebits/stdc.h using namespace std; int main(){ int n; cinn; int a2,b1,t; double sum0; if(n2){ for(int i1;in;i){ sumsuma*1.0/b; tab; ba; at; } printf(%.6lf,sum); return 0; } else if(n1) printf(%.6lf,2.0); else printf(%.6lf,21.5); return 0; }7-17 计算阶乘和对于给定的正整数N需要你计算 S1!2!3!...N!。输入格式输入在一行中给出一个不超过10的正整数N。输出格式在一行中输出S的值。输入样例3输出样例9实现代码#includebits/stdc.h using namespace std; int main(){ int n,sum0,m1; cinn; for(int i1;in;i){ mm*i; sumsumm; } printf(%d,sum); return 0; }7-18 水仙花数水仙花数是指一个N位正整数N≥3它的每个位上的数字的N次幂之和等于它本身。例如153135333。 本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N3≤N≤7。输出格式:按递增顺序输出所有N位水仙花数每个数字占一行。输入样例:3输出样例:153370371407实现代码#includebits/stdc.h using namespace std; int main() { int N; int cnt1; cinN; int nN; for(;N1;N--){ cntcnt*10; } int i,t,j,k; int m1; int sum0; for(icnt;icnt*10;i){ ti; sum0; while(t0){ kt%10; for(j0,m1;jn;j){ mm*k; } sumsumm; tt/10; } if(sumi){ printf(%d\n,i); } } return 0; }7-19 输出整数各位数字本题要求编写程序对输入的一个整数从高位开始逐位分割并输出它的各位数字。输入格式输入在一行中给出一个长整型范围内的非负整数。输出格式从高位开始逐位输出该整数的各位数字每个数字后面有一个空格。输入样例123456输出样例1 2 3 4 5 6实现代码#includebits/stdc.h using namespace std; stackint s; int main(){ int m; cinm; if(m0){ cout0 ; return 0; } while(m){ s.push(m%10); mm/10; } while(s.size()){ int ts.top(); coutt ; s.pop(); } return 0; }7-20 打印九九口诀表下面是一个完整的下三角九九口诀表1*111*22 2*241*33 2*36 3*391*44 2*48 3*412 4*4161*55 2*510 3*515 4*520 5*5251*66 2*612 3*618 4*624 5*630 6*6361*77 2*714 3*721 4*728 5*735 6*742 7*7491*88 2*816 3*824 4*832 5*840 6*848 7*856 8*8641*99 2*918 3*927 4*936 5*945 6*954 7*963 8*972 9*981本题要求对任意给定的一位正整数N输出从1*1到N*N的部分口诀表。输入格式输入在一行中给出一个正整数N1≤N≤9。输出格式输出下三角N*N部分口诀表其中等号右边数字占4位、左对齐。输入样例4输出样例1*111*22 2*241*33 2*36 3*391*44 2*48 3*412 4*416实现代码#includebits/stdc.h using namespace std; int main(){ int n; cinn; for(int i1;in;i){ for(int j1;ji;j){ printf(%d*%d%-4d,j,i,i*j); if (iji!n) coutendl; } } return 0; }7-21 找完数所谓完数就是该数恰好等于除自身外的因子之和。例如6123其中1、2、3为6的因子。本题要求编写程序找出任意两正整数m和n之间的所有完数。输入格式输入在一行中给出2个正整数m和n1m≤n≤10000中间以空格分隔。输出格式逐行输出给定范围内每个完数的因子累加形式的分解式每个完数占一行格式为“完数 因子1 因子2 ... 因子k”其中完数和因子均按递增顺序给出。若区间内没有完数则输出“None”。输入样例2 30输出样例6 1 2 328 1 2 4 7 14实现代码#includebits/stdc.h using namespace std; int main(){ int m,n; cinmn; bool flag0; for(int xm;xn;x){ int sum0; for(int i1;ix;i){ if(x%i0){ sumi; } } if(sumx){ coutx ; cout1; for(int i2;ix;i){ if(x%i0) cout i; } coutendl; flag1; } } if(flag0) coutNone; return 0; }7-22 编程打印空心字符菱形本题目要求读入菱形起始字母和菱形的高度然后输出空心字符菱形。所谓“空心菱形”是指每行由两端为字母、中间为空格的字符串构成每行的字符串中心对齐上半部分相邻两行字符串长度差2且字母从给定的起始字母逐一递增下半部分与上半部分对称。输入格式:输入在一行中给出起始字母范围为英文大写字母A-G和菱形的高度为不超过10的奇数。输出格式:输出空心字符菱形。输入样例:B 5输出样例:BC CD DC CB实现代码#includebits/stdc.h using namespace std; int main(){ int n; char a; scanf(%c %d,a,n); for(int i0;in/2;i){ for(int j0;jn/2-i;j) printf( ); for(int k0;k2*i1;k){ if(k0 || k2*i) printf(%c,a); else printf( ); } printf(\n); a; } a--; for(int m0;mn/2;m){ a--; for(int o0;om1;o) printf( ); for(int p0;pn-2*m-2;p){ if(p0 || pn-2*m-2-1) printf(%c,a); else printf( ); } printf(\n); } return 0; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2412582.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!