滴水逆向联盟

标题: 现代方法作业贴 [打印本页]

作者: 未来传说    时间: 2014-8-18 00:48
标题: 现代方法作业贴
本帖最后由 未来传说 于 2014-8-18 21:53 编辑

#include <STDIO.H>
#include <CTYPE.H>



//由于系统崩溃,前9题都没了。。懒得继续做了,大多switch都可以解决,或者scanf 里面多个参数,解决时间12H 24H问题,然后加12
//后续有时间补上
//第10题,计算元音字母出现的个数(AEIOU)
#if 0
void t10()
{
        char n;
        int sum=0;
        printf("请输入字母");

        while((n=getchar()) !='\n')
        {

                n = toupper(n);
                switch (n)
                {
                        case 'A':
                                sum ++;
                                break;
                        case 'E':
                                sum ++;
                                break;
                        case 'I':
                                sum ++;
                                break;
                        case 'O':
                                sum ++;
                                break;
                        case 'U':
                                sum ++;
                                break;
                }

               
        }

        printf("%d\n",sum);

}

//11题,输入姓名,显示姓 加一个逗号,在家名字的首字母

void t11()
{        
         char n[12];
         char n1[12];
        int sum=0;
        printf("请输入您的大名");

        scanf("%s %s",&n,&n1);

        n[0] = toupper(n[0]),
        printf("%s,%c\n",n1,n[0]);

}


#endif
//12题 编写表达式求职,看样子是从左顺序执行,不管符号有限大小

void t12()
{

         long double d;
         long double d1;
         long double d2;

         char c1;
         char c2;

         printf("请输入表达式,只支持3位计算,比如1+2*3:");
         scanf("%lf%c%lf%c%lf",&d,&c1,&d1,&c2,&d2);

         printf("%lf%c%lf%c%lf\n",d,c1,d1,c2,d2);

         switch (c1)
         {
         case '+':
                 d1 = d+d1;
                 break;
         case '-':
                 d1 = d-d1;
                 break;
         case '*':
                 d1 = d*d1;
                 break;
         case '/':
                 d1 = d/d1;
                 break;
         }

         switch (c2)
         {
         case '+':
                 d2 = d1+d2;
                 break;
         case '-':
                d2 = d1-d2;
                 break;
         case '*':
                d2 = d1*d2;
                 break;
         case '/':
                d2 = d1/d2;
                 break;
         }


         printf("计算的结果是%.1f",d2);


}



//13题
//计算平均词长

void t13()
{
         char n ;
         double kongge = 0;
         double allchar = 0;
         double res = 0.0;
         while( (n=getchar())!='\n'  )
         {
                if(n==' ')
                {
                        kongge++;
                }
        allchar++;
         }

        //总数减去空格数,得到所有的字母数量  /    空格数+1 代表单词数量
        res = (allchar-kongge)/(kongge+1);

        printf("%.2lf\n",res);


}


//14题

//15题

int t15()
{

         int i;
         int n;
         int sum = 1;
         printf("请输入求阶乘的数字");
         scanf("%d",&n);
         for (i=1;i<=n;i++)
         {
                 sum *=i;
         }
         printf("%d\n",sum);






}

int main()
{
        int a ;
        a = t15();
        return 0;
}


作者: 未来传说    时间: 2014-8-18 21:53
第二章作业:


#include <stdio.h>


long pown(int x, int y);
//打印一个对号
void L1T1()
{

printf(" *\n");
printf(" *\n");
printf(" *\n");
printf("* *\n");
printf(" * *\n");
printf(" *\n");
}
/************************************************************************/
/* 求 球的体积 v = 4/3πr^3 2 3 题一起 */
/************************************************************************/
void L1T2(int r)
{

double df = 4.0f / 3.0f * 3.14 * r * r *r;
printf("%f", df);
}

/************************************************************************/
/* 计算增长5%率 */
/************************************************************************/
void L1T4(double lv)
{
double df = 0.05f;

printf("%.2f", lv + lv*df);
}

long powns(int x, int y)
{
int i;

for (i = 0; i < y; i++)
{
  x *= x;
}

return x;
}
/**
/* 计算 3X^5 + 2x^4 - 5x^3 - x^2+7x-6
**/
void L1T5(long id)
{
// long a = powns(id, 5); 调用函数返回 值 失败。。自己写的 求次方值 失败
// long b = powns(id, 4);
// long c = powns(id, 3);
// long d = powns(id, 2);

long res = 3 * id*id*id*id*id + 2 * id*id*id*id - 5 * id*id*id - id*id + 7 * id - 6;
long res2 = ((((3 * id + 2)*id - 5)*id - 1)*id + 7)*id - 6; //第六题
printf("%ld\n", res);

}


void L1T7(int dos)
{
int d20s = dos / 20;
int d10s = 0;
int d5s =0;
int d1s = 0;
if (dos % 20 !=0)
{
  d10s = (dos % 20) / 10;

}

if (((dos % 20) % 10 ) >0 )
{
  d5s = ((dos % 20) % 10) / 5;
}

if ( (((dos % 20) % 10) % 5) !=0)
{
  d1s = (((dos % 20) % 10) ) / 1;
}

printf("%20块%d\n", d20s);
printf("%10块%d\n", d10s);
printf("%5块%d\n", d5s);
printf("%1块%d\n", d1s);

}

/************************************************************************/
/* 第八题 */
/************************************************************************/
void L1T8()
{
double allmoney;
double rate;
double everym;

double fistm = 0;
double secm = 0;
double thrm = 0;
printf("请输入欠债总额:");
scanf_s("%lf", &allmoney);
printf("请输入费率:");
scanf_s("%lf", &rate);
printf("请输入还款金额:");
scanf_s("%lf", &everym);

rate = (rate / 100) / 12;

fistm = allmoney - everym;
//不是搞金融的。。。。搞不明白各种费率,但是正确了后 替换变量即可
secm = fistm - everym + fistm*rate;
thrm = secm - everym + secm*rate;

printf("%.4f\n", rate);

printf("%.2f\n",fistm);
printf("%.2f\n",secm);
printf("%.2f\n",thrm);


}
int main()
{
L1T8();
//printf("%d", 93 / 20);
return 0;
}




欢迎光临 滴水逆向联盟 (http://www.dtdebug.com/) Powered by Discuz! X3.2