7-238 整数转换为字符串
分数 10
全屏浏览题目
切换布局
作者 usx程序设计类课程组
单位 绍兴文理学院
将一个整数n转换成字符串。例如;输入483,应得到字符串"483"。其中,要求用一个递归函数实现把一个正整数转换为字符串。
输入格式:
首先输入测试组数T,然后输入T组测试数据。每组测试数据输入一个整数n(-2^31≤n≤2^31-1)。
输出格式:
对于每组测试,输出转换后的字符串。
输入样例:
1
1234
输出样例:
1234
#include <stdio.h>
#include <stdlib.h>
char s[100];
int i;
void f(int n)
{
if(n==0)
{return ;}
else if(n>0)
{
f(n/10);
s[i++]=n%10+'0';
}
}
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int m;
i=0;
scanf("%d",&m);
if(m==0){printf("0\n"); continue; }
if(m<0) {s[0]='-';i++;m=-m;}
f(m);
s[i]=0;
puts(s);
}
}
7-242 母牛问题
分数 10
全屏浏览题目
切换布局
作者 ZJUTOJ
单位 绍兴文理学院
设想一头小母牛从第4个年头开始每年生育一头小母牛。现有一头小母牛,按照此设想,第n年时有多少头母牛?
输入格式:
测试数据有多组,处理到文件尾。每组测试输入一个正整数n(1≤n≤40)。
输出格式:
对于每组测试,输出第n年时的母牛总数。
输入样例:
5
8
15
输出样例:
3
9
129
#include <stdio.h>
int s(int n){
if(n == 0)
return 0;
switch(n){
case 1:
case 2:
case 3:
return 1;
default:
return s(n-1) + s(n-3);
}
}
int main(){
int a;
while(scanf("%d",&a) != EOF)
printf("%d\n",s(a));
return 0;
}
7-243 快速幂
分数 10
全屏浏览题目
切换布局
作者 usx程序设计类课程组
单位 绍兴文理学院
输入两个整数a、b,求ab。结果保证在long long int范围内。
输入格式:
测试数据有多组,处理到文件尾。每组测试输入两个正整数a,b(1≤a,b≤62)。
输出格式:
对于每组测试,输出ab的结果。
输入样例:
2 4
输出样例:
16
#include<stdio.h>
long quick(long a,long b)
{
if(b<=1)return a;
long temp=quick(a,b/2);
if(b%2==0)return temp*temp;//偶数
else return temp *temp*a;//奇数
}
int main(){
long long a,b;
while(scanf("%lld%lld",&a,&b) != EOF)
{
printf("%ld\n",quick(a,b));
}
return 0;
}