第一范文网 - 专业文章范例文档资料分享平台

上机题总结

来源:用户分享 时间:2025/12/7 14:05:45 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

11.打印杨辉三角形。

#include void main() {

int i,j; int a[6][6];

for(i=0;i<6;i++)

{a[i][0]=1 ;a[i][i]=1;} for(i=2;i<6;i++) for(j=1;j<=i-1;j++)

a[i][j]=(a[i-1][j-1]+a[i-1][j]); for(i=0;i<6;i++) {for(j=0;j<=i;j++) printf(\ printf(\ getch(); }

12.编写函数void find odd(int odd[],int n),其功能是找到n个连续奇数,满足n的立方等于这些连续奇数之和。并将这些奇数存放到数组odd中。

#include\

void find_odd(int odd[],int n) {int b;

odd[0]=n*n-n+1; for (b=1;b

main() { int n,i;

int a[100];

scanf(\ find_odd(a,n); printf(\ printf(\

for (i=0;i< n-1;i++) {printf(\ printf(\

printf(\ getch(); }

13.调用selsort函数实现将数组中的3~8个元素案升序排列。 #include void selsort(int a[],int n) } {int i,j,k,t; void main() for(i=2;ia[j]) k=j; selsort(a,10); t=a[i]; for(i=0;i<10;i++) a[i]=a[k]; printf(\ a[k]=t; getch(); } }

14.归并排序。 #include i=j=k=0; void main() while((a[i]!=max)||(b[j]!=max)) { int a[10]={1,2,5,8,9,10},an=5; if(a[i]

for(i=0;i

15.用二分法求f(x)=lnx+x^2在(1/e,1)内的近似根。 #include while(1) #include { float f(float x) if(fabs(f(r))<1e-5) break; { return (log(x)+x*x); if(f(m)*f(r)<0) n=r; } else m=r;

r=(m+n)/2.0;

void main() } { printf(\ float m=1/2.72,n=1,r; getch(); r=(m+n)/2.0; }

16.如1,1,2,3,5,8,13,21、、、的数列,设计程序输出大于n的最小的数,如n=9,应输出13. #include m=f3; int Fibonacci(int n) return(m);} { int f1=1,f2=1,f3,m; void main () f3=f1+f2; { while(f3

scanf(\f1=f2;

m=Fibonacci(t); f2=f3; f3=f2+f1;

}

17,利用公式求pai的值。

#include double fun(double e) { int i,k;

double s, t, x; s=0; k=1; i=2; x=3.0/4; while(x>e ) { s=s+k*x; k=-k; t=2*i;

x=(2*i+1)/(t*t); i++; }

return (s); }

main()

{ double e=(1e-3);

printf(\ getch(); }

printf(\ getch(); }

第二部分 改编题

1. 编写函数,统计给定字符串中各个字母出现的次数,不区分大小写。比如对

hello,Tom 进行统计。

void count_chars(char s[],int cnt[]) { int i;

for(i=0;s[i]!='\\0';i++)

{ if(s[i]>='a'&&s[i]<='z') cnt[s[i]-'a']++; if(s[i]>='A'&&s[i]<='Z') cnt[s[i]-'A']++; } } main()

{ char s[]=\ int i; count_chars(s,cnts); for(i=0;i<26;i++)

{ printf(\字母%c(或者%c)的出现次数为%d\\n\ }

注:类似的问题还有统计0~9每个数字出现的次数;

50个人对食堂饭菜的打分,如1,2,3,4分,统计四种分数出现的次数。 以上三种问题都是一种类型的 都要用到a[表达式]++这个重要式子。请同学们复习时把上面两道也编程出来。

2.删除类题目

? 删除字符串中的所有空格。 int i=0;char *p=str; while(*p) {if(*p!=’ ’)

str[i++]=*p;p++;} str[i]=’\\0’

? 从字符串中删除指定的字符。 Int i=0;char *p=s; while(*p){if(*p!=c)

s[i++]=*p;p++;} s[i]=’\\0’;

? 删除一个字符串中指定下标的字符。 Int I,j=0; for(i=0;i

b[j++]=a[i];b[j]=’\\0’;

? 将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串

放在t所指的数组中。 Int I,j=0,n=strlen(s); for(i=0;i

注:这类题目大同小异,希望同学们对比着学习。编程的时候只是穿插着其他

几个函数,只要做到条理清晰,就会“战无不胜”。

3.在1到2000000寻找如145这样每位数字的阶乘之和等于本身的数。 #include n/=10;} if(x==t) return 1; fac(int m) { long t=1; int i; for(i=0,i<=m;i++) t=t*i; return t; } facsum(long n) { long x,t=0; while(n) { t=fac(n)+t; 4.含有特征值的类型。

在a数组中查找与x值相同的元素的所在位置。 #include void main() {

int a[11],x,i;

printf(\ for(i=1;i<=10;i++) scanf(\ printf(\ scanf(\;

注:本题中的a[0]是设置的特征值,为了不无下限找下去。课本p43 最后day==-1也是设置的特征值。总之,在c编程中,有时候有些值不好表达,或者值不影响函数最终结果的输出,可以设置特征值方便表达。掌握特征值的运用在c编程还是很重要的。

a[0]=x;i=10; while(x!=a[i]) i--; if (i!=0)

printf(\is M\\n\ else

printf(\ getch();}else return 0;} main() {long i;

for(i=1;i<2000000;i++) if(facsum(i)) printf(\getch(); }

搜索更多关于: 上机题总结 的文档
上机题总结.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2d7vb25h3n1emx12t1kk_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top