c语言程序设计教程课二维数组例题,C语言程序设计部分习题及例题参考程序

《C语言程序设计部分习题及例题参考程序》由会员分享,可在线阅读,更多相关《C语言程序设计部分习题及例题参考程序(25页珍藏版)》请在人人文库网上搜索。

1、C语言程序设计部分例题及课后习题参考程序1.编程计算如下分段函数:y=2x+3 x10 4x 0xint main()float x,y;printf(input x:);scanf(%f,&x);if(x=10)y=2*x+3;else if(x=0)y=4*x;elsey=5*x-6;printf(y=%.2fn,y);2编程将从键盘输入的百分制成绩转换为等级分,转换方法如下: 90以上(大于或等于90,下同)为A,80分以上为B,70分以上为C,60分以上为D,60分以下,即低于60分为E。参考程序#include int main()float score;char rank;prin。

2、tf(input a score:);scanf(%f,&score);if(score100|scoreint main()float a,b,c;printf(input a,b,c:);scanf(%f%f%f,&a,&b,&c);if(a0 & b0 & c0 & a+bc & a+cb & b+ca)printf(%.2f,%.2f,%.2f)能围成三角形n,a,b,c);elseprintf(%.2f,%2.2f,%.2f)不能围成三角形n,a,b,c);4.编程实现将从键盘输入的一个正整数逆序输出,如输入1234,输出3421参考程序#include int main()int 。

3、n;printf(input a number:);scanf(%d,&n);doprintf(%d,n%10);n/=10;while(n!=0);return 0;5.输入一个110范围内的整数,计算该数的阶乘。参考程序#include int main()int n,s=1,i;printf(input a number(110):);scanf(%d,&n);for(i=2;iint main()char ch;int cnt=0;printf(input a char line:);ch=getchar();while(ch!=n)cnt+;ch=getchar();printf(%。

4、dn,cnt);return 0;7.打印乘法口诀表。【参考程序】#include int main()int i,j;for(i=1;iint main()int i,j,n;printf(请输入打印图形的行数:);scanf(%d,&n);for(i=1;iint main()int i,n;printf(请输入一个正整数:);scanf(%d,&n);for(i=2;i*i#define N 100int main()int n,s=0,i;for(i=1;i#define N 1000int main()int m,n,k,i;float score;m=n=k=0;for(i=1;i。

5、100|score=80)m+;else if(score=60)n+;elsek+;printf(%d:%d:%dn,m,n,k);return 0;12.运用如下公式计算圆周率的近似值,当最后一项的绝对值小于10-6时,停止计算。4=1-13+15-17+-1n-112n-1+【参考程序】#include int main()double pi=0.0,t=1.0;int sgn=1;while(tint main()int w,m,c;for(m=0;mint main()int m,n,m1,n1,r;printf(请输入两个正整数:);scanf(%d%d,&m,&n);m1=m;n。

6、1=n;r=m%n;while(r!=0)m=n;n=r;r=m%n;printf(gcd(%d,%d)=%dn,m1,n1,n);printf(lcm(%d,%d)=%dn,m1,n1,m1*n1/n);return 0;14.编程计算如下式子的值,直到n等于100。1-12+13-14+-1n-11n+【参考程序】#include int main()double s=0.0,t=1.0;int sgn=1;while(tint main()int a,n,s=0,t;printf(input a,n:);scanf(%d%d,&a,&n);t=a;while(n0)s+=t;t=t*10。

7、+a;n-;printf(%dn,s);return 0;16.计算如下式子的值。1+32+54+76+【参考程序】#include int main()int n;float s=0.0;for(n=2;nint main()int n,s=0,i;n=2;for(i=1;iint main()int one,two,five,cnt=0;for(five=0;five=0)printf(%d:%d:%dn,one,two,five);cnt+;printf(一共有%d种换法n,cnt);return 0;20.编程统计并输出200到300以内的全部素数。【参考程序】#include int。

8、 main()int m,i,k=0;for(m=201;mm)k+;printf(%8d,m);if(k%5=0)printf(n);printf(n200到300之间一共有%d个素数n,k);return 0;21.打印所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数自身。如153【参考程序】#include int main()int m,n,k;for(m=1;mint main()int m,n;for(m=0;mint main()int m,n;scanf(%d,&m);printf(%d=,m);n=2;while(m!=1)while(m%n=0)。

9、printf(%d,n);if(m!=n)printf(*);m/=n;n+;printf(n);return 0;24.输入一行字符,分别统计其中英文字母、空格、数字及其他字符的个数。【参考程序】#include int main()char ch;int letter,space,digit,other;letter=space=digit=other=0;printf(input a char line:);ch=getchar();while(ch!=n)if(ch=a&ch=A&ch=0&chint main()int m,i,t;for(m=2;m#define N 5int ma。

10、in()int aN,i,cnt=0;float aver;printf(请输入%d个整数:,N);aver=0.0;for(i=0;i=aver/N)cnt+;printf(这%d个整数的和是%.0f,平均值是%.2fn,N,aver,aver/10);printf(不低于平均值的数有%d个n,cnt);return 0;27.设有存放于数组中一组整数,现从键盘输入一个整数,在数组中查找该数,如果数组中含有该数,则输出其全部出现位置,否则输出“*不存在”,*代表该数值。【参考程序】#include #define N 10int main()int aN=16,35,48,29,56,43,。

11、93,64,90,48;int n,sgn,i;printf(请输入待查找的整数:);scanf(%d,&n);sgn=0;for(i=0;i#include #include #define N 10int main()int aN,i,k;srand(time(NULL);for(i=0;iak)k=i;printf(n最大值是%d,它是数组的第%d个数n,ak,k+1);return 0;29.现有一未排序的整型数组,要求用选择法将该数组按由大到小的顺序排序。【参考程序】#include #define N 10int main()int aN,i,k,j,t;printf(请输入%d个。

12、整数:,N);for(i=0;iak)k=i;t=aj;aj=ak;ak=t;printf(排序后的数组:n);for(i=0;i#define N 10int main()int aN+1=98,96,87,78,72,64,56,51,43,36;int n,i;printf(插入前的数组:n);for(i=0;i=0;i-)if(ai#define N 10int main()int aN=93,90,64,56,50,48,43,35,29,16;int n,sgn,top,bott,mid;printf(请输入待查找的整数:);scanf(%d,&n);sgn=0;top=0;bot。

13、t=N-1;while(topn)top=mid+1;elsebott=mid-1;if(sgn=0)printf(%d不存在n,n);elseprintf(%d在第%d个数位置被发现.n,n,mid+1);return 0;32.按如下格式打印杨辉三角形,具体行数由键盘输入。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1【参考程序】#include #define N 20int main()int yangNN,n,i,j;printf(请输入要打印的的行数:);scanf(%d,&n);for(i=0;i#define N 80int main()char 。

14、strN,ch,i,j=0;printf(请输入一个字符串:);gets(str);printf(请输入待删除的字符:);ch=getchar();for(i=0;stri!=0;i+)if(stri!=ch)strj+=stri;strj=0;printf(删除指定字符后的字符串:%sn,str);return 0;34.现有若干字符串存放于一个二维数组中,每行存放一个字符串,现要求用冒泡法将这些字符串按由小到大排序,即按字符母顺排序。【参考程序】#include #include #define N 80#define M 6int main()char strMN,tempN,i,j;p。

15、rintf(请输入%d个字符串:,M);for(i=0;i0)strcpy(temp,strj);strcpy(strj,strj+1);strcpy(strj+1,temp);printf(排序后的字符串:n);for(i=0;i#define N 80int main()char strN,i,cnt;printf(请输入一个英文句子,以回车结束:);gets(str);if(str0= |str0=0)cnt=0;elsecnt=1;for(i=0;stri!=0;i+)if(stri= &stri+1!= &stri+1!=0)cnt+;printf(该句子一共含有%d个单词n,cnt。

16、);return 0;36.现有一实型一维数组,请编程分别找出其中的最大值和最小值,并将最大值与数组的最后一个元素交换,最小值与数组的第一个元素交换。【参考程序】#include #define N 10int main()float aN,t;int ma,mi,i;printf(请输入%d个实数:);for(i=0;iama)ma=i;if(ai#define N 5int main()int aNN,i,j,s=0;printf(请输入一个方阵:n);for(i=0;i#define N 10int main()int aN,i,t;printf(请输入%d个整数:,N);for(i=0。

17、;i#define N 100int main()int aN,i,j;for(i=0;i#define N 81int main()char strN,i;printf(请输入一个英文句子:);gets(str);for(i=0;stri!=0;i+)if(stri= )stri=*;printf(替换后的字符串:);puts(str);return 0;41.请写一个函数用于统计在一个一维数组中出现指定数值的次数,要求一维数组及指定数值都是由主函数通过参数传递。【参考程序】#include #define N 10int myseek(int a,int len,int n)int i,c。

18、nt=0;for(i=0;iint isprime(int n)int i;for(i=2;i*ilong fib(int n)if(n=1|n=2)return 1;return fib(n-1)+fib(n-2);int main()int i;for(i=1;i#define N 10void bubble_sort(int arr,int n)int i,j,t;for(i=0;i#define N 10void select_sort(int arr,int n)int i,j,t,k;for(i=0;i#define N 81void delete_char(char str,ch。

19、ar ch)int i,j=0;for(i=0;stri!=0;i+)if(stri!=ch)strj+=stri;strj=0;int main()char sN,ch;printf(请输入一个字符串:);gets(s);printf(请输入待删除字符:);ch=getchar();delete_char(s,ch);printf(删除指定字符后的字符串:%sn,s);return 0;47. 输入3个数,判断能否构成三角形【参考程序】#include int main()float a,b,c;scanf(%f%f%f,&a,&b,&c);if(ac&a+cb&b+ca)printf(边长。

20、为%f,%f,%f的三条边能构三角形.n,a,b,c);elseprintf(边长为%f,%f,%f的三条边不能构三角形.n,a,b,c);return 0;48. 从键盘输入若干整数(数量不定),求其中所有非负数的各,直到和大于1000,程序结束。【参考程序】#include int main()int n,s;s=0;doprintf(请输入一个整数:);scanf(%d,&n);if(n0)s+=n;printf(s=%dn,s);while(sint main()int count, in,s=0;scanf(%d, &in);printf(%d是一个, in);count =0;if(in#define N 81int rec_strlen(char str)if(str0=0)return 0;return rec_strlen(&str1)+1;int non_rec_strlen(char str)int i;for(i=0;stri!=0;i+);return i;int main()char sN;printf(请输入一个字符串:);gets(s);printf(递归函数:该字符串长度为%dn,rec_strlen(s);printf(非递归函数:该字符串长度为%dn,non_rec_strlen(s);return 0。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值