北工大 c语言题库_第1页
北工大 c语言题库_第2页
北工大 c语言题库_第3页
北工大 c语言题库_第4页
北工大 c语言题库_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、求1 + 1/2! +.+ 1/n!#include "stdio.h"int main( ) int ri,repeat; int i,n,j; float s,t; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri+) scanf("%d",&n);s=0;for(i=1;i<=n;i+)t=1;for(j=1;j<=i;j+)t=t*j;s=s+1.0/t; printf("%0.4fn",s); #include "stdio

2、.h"int main( ) int ri,repeat; int i,n; double s; double fact(int n); scanf("%d",&repeat); for(ri=1;ri<=repeat;ri+) scanf("%d",&n);s=0; for(i=1;i<=n;i+)s=s+1/fact(i); printf("%0.4fn",s); return 0;double fact(int n)int i;double result;result=1;for(i=1;i

3、<=n;i+)result=result*i;return result;统计一个整数中数字的个数#include "stdio.h"int main( ) int ri,repeat; int count; long in; int countdigit(long number, int digit); scanf("%d",&repeat); for(ri=1;ri<=repeat;ri+) scanf("%ld",&in);count=countdigit(in,2); printf("co

4、unt=%dn",count); int countdigit(long number, int digit)int i,count=0,t;if(number<0) number=-number;for(i=1; ;i+)t=number%10;if(t=digit)count+;number=number/10;if(number=0)break;return count;#include "stdio.h"#include "math.h"int main( ) int ri,repeat; int count, digit, i,

5、 j, k, m, n, sum; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri+) scanf("%d%d", &m, &n);count=0;sum=0;digit=0;for(i=m;i>=m&&i<=n;i+)for(j=2;j<=n/2;j+)if(i%j=0)break;if(j>i/2&&i!=1)count+;sum=sum+i; printf("count=%d,sum=%dn", coun

6、t, sum); 统计素数并求和#include "stdio.h"#include "math.h"int main( ) int ri,repeat; int count, i, m, n, sum; int prime(int m); scanf("%d",&repeat); for(ri=1;ri<=repeat;ri+) scanf("%d%d", &m, &n);sum=0;count=0;for(i=m;i<=n;i+)if(prime(i)=1)count+; s

7、um=sum+i; printf("count=%d, sum=%dn", count, sum); int prime(int m)int i; if(m=1)return 0;if(m>1)for(i=2;i<=m/2;i+) if(m%i=0) return 0; if(i>m/2) return 1; 求完数#include "stdio.h"int main( ) int ri,repeat; int i, m, n; long factorsum(int number); scanf("%d",&

8、repeat); for(ri=1;ri<=repeat;ri+) scanf("%d%d", &m, &n); for(i=m;i<=n;i+)if(i=factorsum(i)printf("%d ", i); printf("n"); long factorsum(int number)int i,sum=0;if(number=1) return 1;for(i=1;i<number;i+)if(number%i=0)sum=sum+i;return sum;Fibonacci序列的前十项X1

9、=1;X2=1;Printf(“%6d%6d”,x1,x2);For(i=1;i<=8;i+)X=x1+x2;Printf(“%6d”,x);X1=x2;X2=x;输出 Fibonacci 序列#include "stdio.h"#include "math.h"int main( ) int ri,repeat; int i, m, n; long f; long fib(int n); scanf("%d",&repeat); for(ri=1;ri<=repeat;ri+) scanf("%d%d&

10、quot;, &m, &n); for(i=1; ;i+) f=fib(i); if(f>=m&&f<=n) printf("%ld ", f); if(f>n) break; printf("n"); return 0;long fib(int n)int i,a=1,b=1,t;if(n=1) return 1;if(n=2) return 1;for(i=3;i<=n;i+)t=a+b; a=b;b=t;return t;求各位数字的立方和等于它本身的数#include "stdio

11、.h"int main( ) int ri,repeat; int i, m, n; int is(int number); scanf("%d",&repeat); for(ri=1;ri<=repeat;ri+) scanf("%d%d", &m, &n);for(i=m;i<=n;i+)if(i=is(i)printf("%d ", i); printf("n"); return 0;int is(int number)int t,sum=0;dot=number

12、%10;sum=sum+t*t*t;number=number/10;while(number!=0);return sum;将一个整数逆序输出#include <stdio.h>int main( ) int ri, repeat; long in, res,k; long reverse(long number); scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%ld", &in); if(in<0) in=-in; k=1; else k=0;

13、 res=reverse(in); if(k=1) res=-res; printf("%ldn", res); long reverse(long number)int a,b;b=0;while(number!=0)a=number%10;b=b*10+a;number=number/10;return b;循环移动(调试示例error08_1)#include <stdio.h>void mov(int *x, int n, int m);int main(void) int i, m, n,*p; int a80; scanf("%d%d&qu

14、ot;, &n, &m); for(i = 0; i < n; i+) scanf("%d", &ai); mov(a,n,m); printf("After move: "); for(i = 0; i < n; i+) printf("%d ", ai); printf("n"); void mov(int *x,int n,int m)int i,j,k;for(i=0;i<m;i+)k=xn-1;for(j=n-1;j>0;j-)xj=xj-1;x0=k;在数

15、组中查找指定元素#include <stdio.h>int main(void) int i, index, n, res, x; int repeat, ri; int a10; int search(int list, int n, int x); scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri+) scanf("%d", &n); for(i = 0; i < n; i+) scanf("%d", &ai); scanf(&qu

16、ot;%d", &x);res=search(a,n,x); if(res != -1) printf("index = %dn", res); else printf("Not foundn"); int search(int list,int n,int x)int i,res;res=-1;for(i=0;i<n;i+)if(listi=x)res=i;return res;使用函数的选择法排序#include <stdio.h>void sort(int a,int n);int main(void) int

17、i, n; int repeat, ri; int a10; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri+) scanf("%d", &n); for(i = 0; i < n; i+) scanf("%d", &ai);sort(a,n); printf("After sorted: "); for(i = 0; i < n; i+) printf("%d ", ai); printf(&quo

18、t;n"); void sort(int *p,int n)int k,i,index,t;for(k=0;k<n-1;k+)index=k;for(i=k+1;i<n;i+)if(pi<pindex)index=i;t=pindex;pindex=pk;pk=t;使用函数删除字符串中的字符#include<stdio.h>void main() char c; char str80; int repeat, ri; void delchar(char *str, char c); scanf("%d", &repeat);

19、getchar(); for(ri = 1; ri <= repeat; ri+) gets(str); scanf("%c", &c); getchar();/*-*/delchar(str,c); printf("result: "); puts(str); /*-*/void delchar(char *str,char c)int i,j;for(i=j=0;stri!='0'i+)if(stri!=c)strj+=stri;strj='0'使用函数实现字符串复制#include<stdio.h

20、>#include<string.h>void main() char s80, t80; int m; int repeat, ri; void strmcpy(char *s,char *t, int m); scanf("%d", &repeat); getchar(); for(ri = 1; ri <= repeat; ri+) gets(t); scanf("%d", &m); getchar(); if(strlen(t) < m) printf("error input")

21、; else/*-*/strmcpy(s,t,m); puts(s); void strmcpy(char *s,char *t,int m)int i,j;j=0;for(i=m-1;ti!='0'i+)sj+=ti;sj='0'/*-*/判断回文字符串#include <stdio.h>void main() char s80; int repeat, ri; int mirror(char *p); scanf("%d", &repeat); getchar(); for(ri = 1; ri <= repea

22、t; ri+) gets(s); if(mirror(s) != 0) printf("YESn"); else printf("NOn"); /*-*/int mirror(char *p)char *q;q=p;while(*q!='0')q+;p-;while(p<q)if(*p!=*q)return 0;p+;q-;return 1;分类统计字符个数#include<stdio.h>void main() char s80; char *p; int blank, digit, lower, other, upp

23、er; gets(s); upper = lower = blank = digit = other = 0;/*-*/for(p=s;*p!='0'p+)if(*p>='A'&&*p<='Z')upper+;else if(*p>='a'&&*p<='z')lower+;else if(*p>='0'&&*p<='9')digit+;else if(*p=' ')blank+;els

24、eother+;printf("upper: %d lower: %d blank: %d digit: %d other: %dn", upper, lower, blank, digit, other);显示水果的价格#include <stdio.h>int main(void) int ri, repeat; int choice; float price; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) printf("1 applesn"); pr

25、intf("2 pearsn"); printf("3 orangesn"); printf("4 grapesn"); scanf("%d", &choice); if(choice=0) printf("price=0"); switch(choice) case 1:price=3.00;break; case 2:price=2.50;break; case 3:price=4.10;break; case 4:price=10.20;break; printf("pr

26、ice=%.2fn", price); return 0;求n!#include <stdio.h>int main(void) int ri, repeat; int i, n; double fact; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d", &n); fact=1; for(i=1;i<=n;i+) fact=fact*i; printf("%.0fn", fact); return 0;求最大值#

27、include <stdio.h>int main( ) int ri, repeat; int i , max, n, x; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%d", &n); max=n; for(i=1;i<=n;i+) scanf("%d",&x); if(max<x)max=x; printf("%dn", max); return 0;求整数的位数以及各位数之和#incl

28、ude <stdio.h>int main( ) int ri, repeat; int number, sum; long in; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) number=0; sum=0; scanf("%ld", &in); if(in<0) in=-in; do sum=sum+in%10; in=in/10; number+; while(in!=0); printf("number=%d, sum=%dn", n

29、umber, sum); 求aaaaaaaaa#include <stdio.h>void main() int ri, repeat; int i, n; long int a, sn, tn; scanf("%d", &repeat); for(ri=1; ri<=repeat; ri+) scanf("%ld%d", &a, &n); sn=a;tn=a; for(i=1;i<=n-1;i+) tn=10*tn+a; sn=sn+tn; printf("%ldn",sn); 求平均

30、值#include <stdio.h>int main(void) int i, n, sum; int repeat, ri; int a10; double aver; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri+) scanf("%d", &n);sum=0; for(i = 0; i < n; i+) scanf("%d", &ai); sum=sum+ai; aver=sum/(n*1.0); printf("

31、average = %.2fn", aver); 交换最小值和最大值#include <stdio.h>int main(void) int i, index, n, t; int repeat, ri; int a10; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri+) scanf("%d", &n); for(i = 0; i < n; i+) scanf("%d", &ai);index=0;for(i=0;i<

32、;n;i+)if(ai<aindex)index=i;t=a0;a0=aindex;aindex=t;for(i=0;i<n;i+)if(ai>aindex)index=i;t=an-1;an-1=aindex;aindex=t; printf("After swap: "); for(i = 0; i < n; i+) printf("%d ", ai); printf("n"); 将数组中的数逆序存放#include <stdio.h>int main(void) int i, n, temp;

33、 int repeat, ri; int a10; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri+) scanf("%d", &n); for(i = 0; i < n; i+) scanf("%d", &ai); for(i=0;i<n/2;i+) temp=ai; ai=an-1-i; an-1-i=temp; for(i = 0; i < n; i+) printf("%d ", ai); printf(&

34、quot;n"); 选择法排序#include <stdio.h>int main(void) int i, index, k, n, temp; int repeat, ri; int a10; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri+) scanf("%d", &n); for(i = 0; i < n; i+) scanf("%d", &ai);for(k=0;k<n-1;k+)index=k;for(i

35、=k+1;i<n;i+)if(ai>aindex)index=i;temp=aindex;aindex=ak;ak=temp; printf("After sorted: "); for(i = 0; i < n; i+) printf("%d ", ai); printf("n"); 调试示例error09_1.cpp#include <stdio.h>int main (void) int i, n; struct emp char name10; double jbg; double fdg; do

36、uble zc; s10;scanf("%d", &n);for(i=0;i<n;i+) scanf("%s%lf%lf%lf",,&si.jbg,&si.fdg,&si.zc);for (i = 0; i < n; i+) printf ("%5s 实发工资:%7.2fn", , si.jbg + si.fdg - si.zc);return 0; 计算平均成绩#include <stdio.h>int main(void) int i, n; do

37、uble average, sum=0; struct student int num; char name10; int score; s10; scanf("%d", &n); for(i=1;i<=n;i+) scanf("%d%s%d",&si.num,,&si.score); sum=sum+si.score; average=sum/n; printf("average: %.2fn", average); 查找书籍#include <stdio.h>int main

38、 (void) int i, max_index, min_index, n; double x; struct book char name50; double price; book10; scanf("%d", &n); getchar(); for(i = 0; i < n; i+) gets(); scanf("%lf", &x); getchar(); booki.price = x; min_index=0; for(i=0;i<n;i+) if(booki.price<bookmin_

39、index.price) min_index=i; max_index=0; for(i=0;i<n;i+) if(booki.price>bookmax_index.price) max_index=i; printf("highest price: %.1f, %sn", bookmax_index.price, bookmax_); printf("lowest price: %.1f, %sn", bookmin_index.price, bookmin_); return 0;找出总分最高的学

40、生(改错题error09_2)#include <stdio.h>int main (void) int i, j, k, max_index, n; struct student int number; char name20; int score3; int sum; stu10; scanf("%d", &n);/*-*/ for(i=0;i<n;i+) scanf("%d",&stui.number); scanf("%s",); scanf("%d",&stui.score0); scanf("%d",&stui.score1); scanf("%d",&stui.score2); stui.sum=stui.score0+stui.score1+stui.score2; max_index=0; for(i=0;i<n;i+) if(stui.sum>stumax_index.sum)max_index=i; printf("总分最高的学生是: %s,%d分", stumax_, stumax_index.sum);计算两

温馨提示

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

评论

0/150

提交评论