赞
踩
中国大学mooc高级语言程序设计地址:https://www.icourse163.org/course/JLU-62001
问题描述:编写程序,输入m,n的值,计算并输出函数f的值。
输入:一个整数m和一个整数n。
输出:函数f的值。
样例:输入 4 2 输出 6
#include<stdio.h> int t(int x){ int sum; sum=x; while(x>1){ sum*=(x-1); x--;} return sum; } int main(){ int m,n,l; scanf("%d %d",&m,&n); if(m<n&&m>0&&n>0)printf("0"); else if(m==n&&m>0&&n>0)printf("1"); else if(m>n&&m>0&&n>0){ l=m-n; printf("%d",t(m)/t(l)/t(n)); } else printf("-1"); return 0; }
暴力模拟就完事(但是如果m,n值很大会tle),可以参考杨辉三角优化算法。
问题描述:编写函数,求任意四位自然数的逆序数,例如5432就是2345的逆序数。
输入:任意一个整数
输出:如果输入的不是四位自然数,则输出0;否则输出对应的逆序数。
样例1:输入 12 输出 0
样例2:输入 654 输出456
#include<stdio.h> int main(){ long a,i[4],t; scanf("%ld",&a); if(a<1000||a>9999)printf("0"); else{ for(t=1;t<=4;t++){ i[t]=a%10; a/=10; } for(t=1;t<=4;t++){ printf("%ld",i[t]); } } return 0; }
还是那套求每位数的方法。这里注意跟对应的位数比较。
问题描述:编写程序,把给定长度为10的整数数组中所有0元素全部移到后面,且所有非0元素的顺序不变。
输入:从键盘随机输入十个整数,作为数组a的元素。
输出:已将所有0元素串到后面的整数数组a的所有元素,各元素间无间隔字符。
样例:输入 0 1 1 0 0 0 1 3 2 0 输出1113200000
#include <stdio.h>
int main()
{
long a[10], i, t = 0;
for (i = 0; i <= 9; i++)
scanf("%ld", &a<
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。