2014武大机试答案
TanJ2014
这个作者很懒,什么都没留下…
展开
-
用递归实现,显示用1分、2分和5分的硬币凑成1元,一共有多少种方法。
#include <stdio.h>int a[3]= {1,2,5};int fun(int s,int n){ int count=0; int i; if(n>2){ if(s==0) return 1; else return 0; }else{ for(i=0;s>=i*a[n];i++){ count = co...原创 2018-03-07 13:47:55 · 4037 阅读 · 1 评论 -
从键盘输入一个字符串,将此字符串按字符的ASCII码值从小到大排序,并显示排序后的字符串。
#include <stdio.h>#include <string.h>int main(){ char a[100]; int n,l,j,k,i,tmp; while(scanf("%s",a)!=EOF){ n = strlen(a); for(j=0;j<n-1;j++){//冒泡 for(k=n-1;k>j;k--){ ...原创 2018-03-05 10:21:11 · 29095 阅读 · 0 评论 -
编写程序计算分段函数
#include <stdio.h> #include <math.h>#define PI 3.1415927int main(){ double x,ans,tmp1,tmp2; while(scanf("%lf",&x)!=EOF){ if(x>0){ tmp1 = sqrt(x)+exp(x); tmp2 = 5*x+5; ...原创 2018-03-05 10:26:36 · 22046 阅读 · 3 评论 -
编写程序显示2-1000之间的说有完数,所谓完数是指,该数的各因子之和正好等于该数本身
//显示完数 #include <stdio.h>void judge(int n){ int i,tmp,ans=0; int c = n; //因子之和等于该数本身 for(i=2;i<=n;i++){ while(n!=0){ if(n%i==0){ ans = ans+i; n = n/i; } else br...原创 2018-03-05 10:28:44 · 4404 阅读 · 1 评论 -
编写程序,判断键盘输入的用户名字符串的合法性
用户名要求总长度不少于10个字符,首字符必须是字母,其他位置必须含有2-6个不重复的数字,不能含有等号(=)和星号(*)号。例如:m123abc456是合法用户名#include <stdio.h>#include <string.h>int main(){ char s[100]; int c[10]={0}; int count=0;//用来判断2-6个不重复...原创 2018-03-05 10:31:13 · 5505 阅读 · 0 评论 -
显示5阶的魔方阵
N阶魔方阵是:元素为自然数1,2,…,N2的N×N方阵,每个元素值均不相等,每行、每列以及主、副对角线上各N个元素之和相等。例如3阶魔方阵为:8 1 63 5 74 9 2提示:从1开始,依次放置各自然数,Dole Rob算法可以确定插入的每一个元素的下标:1) 第一个位置在第一行的正中。2) 若最近一个插入元素为N的整数倍,则选下一行同列上的位置为新位置。3) 新位置处于最近一个插入位置的右上方...原创 2018-03-05 10:32:50 · 3896 阅读 · 0 评论