1. 首页 > 电脑手机 >

c语言编程题经典100例 c语言编程题经典100例改编

您好,今天小柳来为大家解答以上的问题。c语言编程题经典100例相信很多小伙伴还不知道,现在让我们一起来看看吧!

c语言编程题经典100例 c语言编程题经典100例改编c语言编程题经典100例 c语言编程题经典100例改编


1、1.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

2、例如,153是一个“水仙花数”,因为153=1^3+5^3+3^3。

3、#include#includeint main(){int bai_wei,shi_wei,ge_wei,i,sum=0;for(i=100;i{bai_wei=i/100;shi_wei=(i%100)/10;ge_wei=i%10;if(i==pow(bai_wei,3)+pow(shi_wei,3)+pow(ge_wei,3)){printf("%d ",i);sum++;if(sum%5==0)printf(" ");}}printf(" ");return 0;}2.请输入任意两个整数x和y,求其最大公约数和最小公倍数。

4、#includeint main(){int x,y,min,max,i;printf("请输入任意两个整数:");scanf("%d%d",&x,&y);min=x>y?y:x;max=x>y?x:y;for(i=min;i>0;i--)if(x%i==0&&y%i==0){printf("这两个整数的最大公约数为:%d ",i);break;}for(i=max;iif(i%x==0&&i%y==0){printf("这两个整数的最小公倍数为:%d ",i);break;}return 0;}3.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

5、#include#include#define N 50int main(){int sum1=0,sum2=0,sum3=0,sum4,i=0;char str[N];printf("请输入一串字符串:");scanf("%s",str);for(i=0;i {if((str[i]>='a'&&str[i]='A'&&str[i]sum1++;if(str[i]==' ')sum2++;if(str[i]>='0'&&str[i]sum3++;}sum4=strlen(str)-sum1-sum2-sum3;printf("英文字母的个数:%d ",sum1);printf("空格的个数:%d ",sum2);printf("数字的个数:%d ",sum3);printf("其他符号的个数:%d ",sum4);return 0;}4.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。

6、例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

7、#include#includeint main(){int a,n,s=0,i,x=0,y=0;printf("请输入整数a的值:");scanf("%d",&a);printf("请输入相加的个数n:");scanf("%d",&n);for(i=0;i {x=y+2*pow(10,i);y=x;s=s+x;}printf("s=%d ",s);return 0;}5.一个数如果恰好等于它的因子之和,这个数就称为“完数”。

8、例如6=1+2+3。

9、编程找出1000以内的所有完数。

10、#includeint main(){int sum=0,i,j;printf("在1000以内的完数有:");for(i=2;i{for(j=1;j if(i%j==0)sum=sum+j;if(sum==i)printf("%d ",i);sum=0;}printf(" ");return 0;}6.输入一个不多于5位的正整数,要求:1、求它是几位数;2、逆序打印出个位数字。

11、#includeint pows(int a,int n){int sum=1,i;for(i=0;i sum=sum*a;return sum;}int main(){int n,i,k,x;printf("n=");scanf("%d",&n);for(i=1;iif(n/pows(10,i)==0){printf("%d ",i);k=i;break;}for(i=0;i {x=n/pows(10,i)%10;printf("%d",x);}printf(" ");return 0;}7.输入一个5位数,判断它是不是回文数。

12、即12321是回文数,个位与万位相同,十位与千位相同。

13、#includeint main(){int n,a[5],i=0;printf("请输入一个5位数:");scanf("%d",&n);while(n!=0){a[i]=n%10;n=n/10;i++;}if(a[0]==a[4]&&a[1]==a[3])printf("这个数是回文数 ");elseprintf("这个数不是回文数 ");return 0;}8.利用递归算法,将所输入的5个字符,以相反顺序打印出来。

14、#includevoid digui(char a[],int n){if(n==1)printf("%c",a[0]);else{printf("%c",a[n-1]);digui(a,n-1);}}int main(){char str[5];printf("请输入5个字符:");scanf("%s",str);digui(str,5);printf(" ");return 0;}9.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…球出这个序列的前20项之和。

15、#includeint main(){int i,a=1,b=1;float sum=0.0;for(i=1;i{sum=sum+(float)(a+i)/b;b=a+i;a=i;}printf("sum=%f ",sum);return 0;}10.利用递归算法求5!。

16、#includeint digui(int n){if(n==1)return 1;elsereturn n*digui(n-1);}int main(){int n,sum;printf("n:");scanf("%d",&n);sum=digui(n);printf("sum=%d ",sum);return 0;}。

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息