上了几个星期课,感觉啥没学会,老师就让写代码了,感觉前途无望了。
我先回答第3题吧
#include <stdio.h>
int main()
{
int num,i;
int bit = 1; //至少是一位数
int arr[32];
char *eng[10]={"zero","one","two","three","four","five","six","seven","eight","nine"};
char *str = NULL; //用来输出英文
scanf("%d",&num);
//判断这个数是几位数
int tmp = num;
while(tmp /= 10)
{
bit++;
}
//取出各个位的数字
tmp = bit;
for(i=0;i<bit;i++)
{
arr[i]=num%10; //用数组存放各个位的数字
num /= 10;
}
//打印结果
for(i=0;i<bit;i++)
{
str = eng[arr[i]];
printf("%s ",str);
}
printf("\n");
return 0;
}
第1问解答如下:
#include <stdio.h>
int main()
{
int i,result = 0;
printf("输入i的值:");
scanf("%d",&i);
if(i<=5)
{
while(i)
{
result += i;
i--;
}
printf("i<5,result = %d\n",result);
}
else if(i>5 && i<=10)
{ //假设i = 6时
//result = 100-(i-0)-(i-1)-(i-2)-(i-3)-(i-4)-(i-5) = 79;
result = 100;
while(i)
{
result -= i;
i--;
}
printf("5<i<=10,result = %d\n",result);
}
else
{
result = i*i;
printf("i>10,result = %d\n",result);
}
return 0;
}
第2问解答如下:
#include <stdio.h>
#include <math.h>
int fact(int n); //阶乘函数声明
int main()
{
float x,ex;
int n;
printf("请输入x和n的值:");
scanf("%f%d",&x,&n);
//假设x = 3.0,n = 2;
//e^3 = 3^0/0! + 3^1/1! + 3.0^2/2!=1+3+4.5 = 8.5
do
{
ex += pow(x,n)/fact(n);
}while(n--);
printf("ex = %f\n",ex);
return 0;
}
//阶乘函数定义
int fact(int n)
{
if(n==0||n==1)
{
return 1;
}
else
{
return n*fact(n-1);
}
return 0; // 输入有误
}
敲码不易,望采纳!