C语言编程具体问题

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
用C语言编写以下程序:1。有函数F(x)等于(x+1)2 和G(x)等于2x+1,输入x的值计算F(G(x))的值2。任意输入三个字符,要求首先按逆序输出,然后同行原序输出3。编写打印如下图形的程序(不能直接用输出语句) *****
***** *****
*****
*****4。依次输入十个整数,找出其平方最大的一个数并打印出来5。输入N,求下列级数前N项的和 1+1/2-2/3+3/4。。。(-1)N(N-1)/N6。有函数pk(x)等于(x-1)(x-2)...(x-k)(k等于1,2...20)和p(x)等于p1(x)+p2(x)+...+p20(x).输入x的值,计算p(x)的值7。依次输入10个自然数,输出最大的数及其输入次序8。编写打印如下图形的程序(不能直接用输出语句) 12345
1234
123
12
19。有一数列:2/4,4/7,6/10,8/13,10/16,12/19。。。输出这个数列前20项之和以上为我的所有问题,望各位C语言高手伸出援助之手。十分感谢!!

                                                                                                9题一起写了...#include <stdio.h>#include <math.h>#define ARRYLEN 3// 2用到#define DEFAULT 5// 3,8用到int F (int x);
// 第一题函数 int G (int x);
// 第一题函数 long int pk (int k, int x);// 第六题函数long int p (int x);
// 第六题函数void main() {        int i, j;
// 2,3,4,5,7,8用到        int x;
// 1,6用到        char cArry[ARRYLEN];
// 第二题用到        int MaxNum = 0, tmpNum; // 4,7用到        int N = 0;
// 第五题用到        double s = 1.0;
// 第五题用到        int flag = 0;
// 第七题用到        float result = 0;
// 第九题用到        // 1        printf ("第一题内容>>\\n请输入x的值:");        scanf ("%d", &x);        printf ("F(G(x)) = %d\\n", F(G(x)));        // 2        printf ("第二题内容>>\\n");        scanf ("%s", cArry);        for (i = ARRYLEN - 1; i >= 0; i--)                printf("%c", cArry);        printf(" %s\\n", cArry);        // 3        printf ("第三题内容>>\\n");        for (i = 1; i <= DEFAULT; i++) {                for (j = 1; j <= DEFAULT; j++)                        printf("*");                printf("\\n");        }        // 4        printf ("第四题内容>>\\n");        for (i = 0; i < 10; i++) {                printf("请输入第%d(共10个)个整数:", i + 1);                scanf("%d", &tmpNum);                if (abs(tmpNum) > abs(MaxNum)) // 平方最大,要比较绝对值!                        MaxNum = tmpNum;        }        printf ("平方最大的整数为:%d 平方后为:%g\\n", MaxNum, pow(MaxNum, 2));                // 5        printf ("第五题内容>>\\n");        do {                printf("请输入N(N为正整数):");                scanf ("%d", &N);                for (i = 2; i <= N; i++)                        s += pow(-1, i) * (i - 1) / i;                printf("前%d项的和为:%g\\n", N, s);        } while (N < 1);                // 6        printf ("第六题内容>>\\n");        x = 0;        printf ("请输入正整数x:");        scanf ("%d", &x);        printf("结果为:%ld\\n", p (x));// 结果太大了!                // 7        printf ("第七题内容>>\\n");        printf ("请输入10个自然数:\\n");        MaxNum = -32768;        for (i = 0; i < 10; i++) {                scanf ("%d", &tmpNum);                if (MaxNum < tmpNum) {                        MaxNum = tmpNum;                        flag = i;                }        }        printf ("最大的自然数为:%d所在位置为第%d个数.\\n", MaxNum, flag + 1);                // 8        printf ("第八题内容>>\\n");        for (i = DEFAULT; i >= 1; i--) {                for (j = 1; j <= i; j++)                        printf("%d", j);                printf("\\n");        }                // 9        printf ("第九题内容>>\\n");        for (i = 1; i <= 20; i++) {                result += (float) (2 * i) / (4 + 3 * (i - 1));        }        printf ("前20项的和为:%f\\n", result);}int F (int x) {        return pow(x + 1, 2); // 题目是(x+1)的平方?}int G (int x) {        return 2 * x + 1;}long int pk (int k, int x) {        int i;        long int s = 1;        for (i = 1; i <= k; i++) {                s *= x - i;        }        return s;}long int p (int x) {        int s = 0;        int k;        for (k = 1; k <= 20; k++) {                s += pk (k, x);        }        return s;}                                       
提问者对答案的评价:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行