1.程序设计,输入任意一个正整数,求该数各位数之积。
2.程序设计,已知数列前两项为1,2,从第三项起,每项为前两项的和,编程输出该数列前15项(每行5项)及该数列前15项的和。
3.程序设计,将一个字符串中的前N个字符反序存入到一个字符数组中去。
以上均用C语言编写!谢谢你啦
#include<stdio.h>
int quest1(int n)
{
if (n == 0)
return 1;
return n % 10 * quest1(n / 10);
}
int main()
{
int n, i;
scanf("%d", &n);
printf("%d\n", quest1(n));
return 0;
}
#include<stdio.h>
int quest2(int n)
{
if (n == 1 || n == 2)
return n;
else
return quest2(n - 1) + quest2(n - 2);
}
int main()
{
int sum = 0, i;
for (i = 1; i <= 15; i++)
{
printf("%d ", quest2(i));
if (i % 5 == 0)
printf("\n");
sum += quest2(i);
}
printf("%d\n", sum);
return 0;
}
#include<stdio.h>
void quest3(char*a1, char*a2, int n)
{
int len = n;
int ret = n;
while (len--)
{
a2[ret - len - 1] = a1[len];
}
a2[ret] = '\0';
}
int main()
{
int n;
char a[30];
char key[30];
printf("请输入字符串\n");
scanf("%s",key);
printf("请输入字符串的节点:\n");
scanf("%d", &n);
quest3(key, a, n);
printf("%s", a);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//1
printf("------第一题\n");
int sum=0;
int n;
scanf("%d",&n);
while(n)
{
sum+=n%10;
n/=10;
}
printf("sum1 = %d\n",sum);
printf("------第二题\n");
int sum2=0;
int num[15]={0};
num[0]=1;
num[1]=2;
for(int i=2;i<15;i++)
{
num[i]=num[i-1]+num[i-2];
}
for(int i=0;i<15;i++)
{
printf("%d ",num[i]);
sum2+=num[i];
}
printf("\nsum2 = %d\n",sum2);
printf("---- 第三题\n");
char str[100];
scanf("%s",str);
int i=0;
while(str[i]!='\0')
{
i++;
}
int N;
printf("请输入要反转前几个字符:");
scanf("%d",&N);
for(int j=0,k=N-1;j<k;j++,k--)
{
char ch=str[j];
str[j]=str[k];
str[k]=ch;
}
printf("%s\n",str);
printf("Hello world!\n");
return 0;
}